Ver 1.0
This commit is contained in:
parent
b6b87d5aed
commit
9c72a71585
3546 changed files with 18655 additions and 0 deletions
143
nixosVista/homeManager/eww/widgets/weather.nix
Normal file
143
nixosVista/homeManager/eww/widgets/weather.nix
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
nixosVista,
|
||||
...
|
||||
}: let
|
||||
cfg = nixosVista.eww;
|
||||
w = cfg.widgets;
|
||||
|
||||
############################################################
|
||||
# Window blocks
|
||||
############################################################
|
||||
|
||||
dayboxWindow = lib.optionalString w.daybox.enable ''
|
||||
(defwindow daybox
|
||||
:monitor '["<primary>", 2, 1, 0]'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "noblur"
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "30px"
|
||||
:width "150px"
|
||||
:height "70px"
|
||||
:anchor "top center")
|
||||
(daybox)
|
||||
)
|
||||
'';
|
||||
|
||||
menuWindow = lib.optionalString w.menu.enable ''
|
||||
(defwindow menu
|
||||
:monitor '["<primary>", 2, 1, 0]'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
:geometry (geometry
|
||||
:x "30px"
|
||||
:y "30px"
|
||||
:width "70px"
|
||||
:height "70px"
|
||||
:anchor "top right")
|
||||
(menu)
|
||||
)
|
||||
'';
|
||||
|
||||
temperatureWindow = lib.optionalString w.diinkitemperature.enable ''
|
||||
(defwindow diinkitemperature
|
||||
:monitor '["<primary>", 2, 1, 0]'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "360px"
|
||||
:width "100px"
|
||||
:height "100px"
|
||||
:anchor "top right")
|
||||
(diinkitemperature)
|
||||
)
|
||||
'';
|
||||
|
||||
gif1Window = lib.optionalString w.gif1.enable ''
|
||||
(defwindow gif1
|
||||
:monitor '["<primary>", 2, 1, 0]'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
(gif1)
|
||||
)
|
||||
'';
|
||||
|
||||
############################################################
|
||||
# Final yuck
|
||||
############################################################
|
||||
|
||||
finalYuck = ''
|
||||
(include "eww_widgets.yuck")
|
||||
|
||||
${dayboxWindow}
|
||||
${menuWindow}
|
||||
${temperatureWindow}
|
||||
${gif1Window}
|
||||
'';
|
||||
in
|
||||
{
|
||||
programs.eww.enable = lib.mkIf cfg.enable true;
|
||||
|
||||
home.file.".config/eww/eww.yuck" = lib.mkIf cfg.enable {
|
||||
text = finalYuck;
|
||||
};
|
||||
}
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
nixosVista,
|
||||
...
|
||||
}: let
|
||||
root = nixosVista.eww;
|
||||
w = root.widgets.diinkitemperature;
|
||||
|
||||
weatherScript = pkgs.writeShellScript "weather.sh" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
KEY="${w.apiKey}"
|
||||
ID="${w.cityID}"
|
||||
UNIT="${w.unit}"
|
||||
|
||||
echo "Weather stub"
|
||||
'';
|
||||
|
||||
windowBlock = lib.optionalString w.enable ''
|
||||
(defwindow diinkitemperature
|
||||
:monitor '["<primary>", 2, 1, 0]'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "360px"
|
||||
:width "100px"
|
||||
:height "100px"
|
||||
:anchor "top right")
|
||||
(diinkitemperature)
|
||||
)
|
||||
'';
|
||||
in {
|
||||
config = lib.mkIf (root.enable && w.enable) {
|
||||
home.packages = [
|
||||
pkgs.curl
|
||||
pkgs.jq
|
||||
];
|
||||
|
||||
home.file.".config/eww/scripts/weather.sh" = {
|
||||
source = weatherScript;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
nixosVista.eww.generatedYuck =
|
||||
lib.mkAfter windowBlock;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue