diff --git a/Droidnix/README.org b/Droidnix/README.org index 7f7d83d12..ac93b1a14 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -812,60 +812,27 @@ in ** =generated/modules/traveldroid/desktop/waybar.nix= This file installs and configures waybar #+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html -{ lib, config, pkgs, flakeRoot, home-manager, ... }: +{ lib, config, pkgs, ... }: let - # Path to Waybar assets - assetPath = "${flakeRoot}/assets/system/conf/waybar"; - - # Determine the username safely - username = - builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false) - (builtins.attrNames config.users.users)); - - # Compute the Home Manager user map safely - hmUser = config.home-manager.users.${username} or {}; + username = config.defaultUser or "henrov"; + assetPath = ../../../assets/system/conf/waybar; in { - ############################## - # System-wide Waybar package - ############################## + # Install Waybar globally environment.systemPackages = [ pkgs.waybar ]; - ############################## - # Home Manager Waybar config - ############################## + # Contribute to the existing Home Manager users map safely home-manager.users = lib.recursiveUpdate config.home-manager.users { - ${username} = lib.recursiveUpdate hmUser { - home.file = lib.recursiveUpdate (hmUser.home.file or {}) { - ".config/waybar/config" = { source = "${assetPath}/config"; }; + ${username} = { + home.file = lib.recursiveUpdate (config.home-manager.users.${username}.home.file or {}) { + ".config/waybar/config" = { source = "${assetPath}/config"; }; ".config/waybar/style.css" = { source = "${assetPath}/style.css"; }; }; }; }; - - /* - ############################## - # Optional: Systemd --user service for Waybar - ############################## - systemd.user.services.waybar = { - description = "Waybar for Hyprland"; - after = [ "graphical-session.target" ]; - - serviceConfig = { - ExecStart = "${pkgs.waybar}/bin/waybar"; - Restart = "always"; - # Use the runtime dir provided by systemd, avoids null/UID issues - Environment = '' - WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"} - XDG_CURRENT_DESKTOP=Hyprland - ''; - }; - - wantedBy = [ "default.target" ]; - }; - */ } + #+END_SRC ** =generated/modules/traveldroid/desktop/wayland.nix= diff --git a/Droidnix/generated/modules/traveldroid/desktop/waybar.nix b/Droidnix/generated/modules/traveldroid/desktop/waybar.nix index 68b7a0b7e..5c19b6d5c 100644 --- a/Droidnix/generated/modules/traveldroid/desktop/waybar.nix +++ b/Droidnix/generated/modules/traveldroid/desktop/waybar.nix @@ -1,54 +1,20 @@ -{ lib, config, pkgs, flakeRoot, home-manager, ... }: +{ lib, config, pkgs, ... }: let - # Path to Waybar assets - assetPath = "${flakeRoot}/assets/system/conf/waybar"; - - # Determine the username safely - username = - builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false) - (builtins.attrNames config.users.users)); - - # Compute the Home Manager user map safely - hmUser = config.home-manager.users.${username} or {}; + username = config.defaultUser or "henrov"; + assetPath = ../../../assets/system/conf/waybar; in { - ############################## - # System-wide Waybar package - ############################## + # Install Waybar globally environment.systemPackages = [ pkgs.waybar ]; - ############################## - # Home Manager Waybar config - ############################## + # Contribute to the existing Home Manager users map safely home-manager.users = lib.recursiveUpdate config.home-manager.users { - ${username} = lib.recursiveUpdate hmUser { - home.file = lib.recursiveUpdate (hmUser.home.file or {}) { - ".config/waybar/config" = { source = "${assetPath}/config"; }; + ${username} = { + home.file = lib.recursiveUpdate (config.home-manager.users.${username}.home.file or {}) { + ".config/waybar/config" = { source = "${assetPath}/config"; }; ".config/waybar/style.css" = { source = "${assetPath}/style.css"; }; }; }; }; - - /* - ############################## - # Optional: Systemd --user service for Waybar - ############################## - systemd.user.services.waybar = { - description = "Waybar for Hyprland"; - after = [ "graphical-session.target" ]; - - serviceConfig = { - ExecStart = "${pkgs.waybar}/bin/waybar"; - Restart = "always"; - # Use the runtime dir provided by systemd, avoids null/UID issues - Environment = '' - WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"} - XDG_CURRENT_DESKTOP=Hyprland - ''; - }; - - wantedBy = [ "default.target" ]; - }; - */ }