From f14cedfe33b224864193d52d498ee2b3d4d9e707 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Thu, 19 Mar 2026 09:02:52 +0000 Subject: [PATCH] Working on reshuffling --- Droidnix/README.org | 41 ++++++++----------- Droidnix/generated/modules/desktop/waybar.nix | 41 ++++++++----------- 2 files changed, 34 insertions(+), 48 deletions(-) diff --git a/Droidnix/README.org b/Droidnix/README.org index 727556b01..1a1a77f91 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -1124,38 +1124,31 @@ in ** =generated/modules/desktop/waybar.nix= This file installs and configures waybar #+BEGIN_SRC nix :tangle generated/modules/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html -{ lib, pkgs, config, flakeRoot, ... }: +{ lib, ... }: let username = "henrov"; - waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config")); - waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css")); + waybarAssets = ../../../assets/system/conf/waybar; + waybarFiles = builtins.readDir waybarAssets; + waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: { + src = "${waybarAssets}/${name}"; + }); + + enableWaybar = true; in { - programs.waybar = { - enable = true; - package = pkgs.waybar; - }; + # Declare a top-level module option + options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar"; - systemd.user.services.waybar = { - description = "Waybar (status bar for Wayland)"; - wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}"; - Restart = "on-failure"; - RestartSec = "5s"; + # All actual module configuration wrapped safely + config = lib.mkIf enableWaybar { + waybar = { + enable = true; # symbolic enable flag + user = username; + assetsDir = waybarAssets; + files = waybarConfs; # contains "config" and "style.css" keys }; }; - - # Create symlinks for config and style - system.activationScripts.waybarSetup = lib.mkAfter '' - mkdir -p /home/${username}/.config/waybar - ln -sf ${waybar-config} /home/${username}/.config/waybar/config - ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css - chown -R ${username}:users /home/${username}/.config/waybar - ''; } #+END_SRC diff --git a/Droidnix/generated/modules/desktop/waybar.nix b/Droidnix/generated/modules/desktop/waybar.nix index b8ae2e8c2..d57c5fadb 100644 --- a/Droidnix/generated/modules/desktop/waybar.nix +++ b/Droidnix/generated/modules/desktop/waybar.nix @@ -1,33 +1,26 @@ -{ lib, pkgs, config, flakeRoot, ... }: +{ lib, ... }: let username = "henrov"; - waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config")); - waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css")); + waybarAssets = ../../../assets/system/conf/waybar; + waybarFiles = builtins.readDir waybarAssets; + waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: { + src = "${waybarAssets}/${name}"; + }); + + enableWaybar = true; in { - programs.waybar = { - enable = true; - package = pkgs.waybar; - }; + # Declare a top-level module option + options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar"; - systemd.user.services.waybar = { - description = "Waybar (status bar for Wayland)"; - wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}"; - Restart = "on-failure"; - RestartSec = "5s"; + # All actual module configuration wrapped safely + config = lib.mkIf enableWaybar { + waybar = { + enable = true; # symbolic enable flag + user = username; + assetsDir = waybarAssets; + files = waybarConfs; # contains "config" and "style.css" keys }; }; - - # Create symlinks for config and style - system.activationScripts.waybarSetup = lib.mkAfter '' - mkdir -p /home/${username}/.config/waybar - ln -sf ${waybar-config} /home/${username}/.config/waybar/config - ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css - chown -R ${username}:users /home/${username}/.config/waybar - ''; }