This commit is contained in:
Peritia 2026-02-12 15:32:45 +01:00
parent b6b87d5aed
commit 9c72a71585
3546 changed files with 18655 additions and 0 deletions

View 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;
};
}