From e6a60c257c8b9ea32d7aad19d43cb32f91fb289a Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Sat, 14 Jun 2025 13:59:41 +0800 Subject: [PATCH] feat(desktop): move launcher config to homes and use home-manager modules --- homes/x86_64-linux/rafiq/desktop/default.nix | 1 + homes/x86_64-linux/rafiq/desktop/launcher.nix | 7 ++++++ modules/home/desktop/launcher/default.nix | 24 ------------------- modules/nixos/desktop/default.nix | 1 - modules/nixos/desktop/launcher/default.nix | 16 +++++++++++++ systems/x86_64-linux/desktop.nix | 2 +- 6 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 homes/x86_64-linux/rafiq/desktop/launcher.nix delete mode 100644 modules/home/desktop/launcher/default.nix create mode 100644 modules/nixos/desktop/launcher/default.nix diff --git a/homes/x86_64-linux/rafiq/desktop/default.nix b/homes/x86_64-linux/rafiq/desktop/default.nix index 8778d76..5e3e408 100644 --- a/homes/x86_64-linux/rafiq/desktop/default.nix +++ b/homes/x86_64-linux/rafiq/desktop/default.nix @@ -10,4 +10,5 @@ in mkMerge [ (import ./browser.nix { inherit lib inputs system; }) (import ./lockscreen.nix) + (import ./launcher.nix) ] diff --git a/homes/x86_64-linux/rafiq/desktop/launcher.nix b/homes/x86_64-linux/rafiq/desktop/launcher.nix new file mode 100644 index 0000000..7ce375c --- /dev/null +++ b/homes/x86_64-linux/rafiq/desktop/launcher.nix @@ -0,0 +1,7 @@ +{ + home.sessionVariables.LAUNCHER = "fuzzel"; + programs.wofi = { + style = null; + settings = { }; + }; +} diff --git a/modules/home/desktop/launcher/default.nix b/modules/home/desktop/launcher/default.nix deleted file mode 100644 index 05bb845..0000000 --- a/modules/home/desktop/launcher/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - osConfig, - ... -}: -{ - config = lib.mkMerge [ - (lib.mkIf (osConfig.desktop.launcher == "fuzzel") { - home.sessionVariables.LAUNCHER = "fuzzel"; - programs.fuzzel = { - enable = true; - }; - }) - (lib.mkIf (osConfig.desktop.launcher == "wofi") { - home.sessionVariables.LAUNCHER = "wofi"; - programs.wofi = { - enable = true; - style = null; - settings = { }; - }; - }) - ]; -} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 4347979..b075a21 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -24,7 +24,6 @@ in windowManager = lib.pantheon.mkStrOption; terminal = lib.pantheon.mkStrOption; notification-daemon = lib.pantheon.mkStrOption; - launcher = lib.pantheon.mkStrOption; status-bar = lib.pantheon.mkStrOption; media-player = lib.pantheon.mkStrOption; enableSpotifyd = lib.mkEnableOption ""; diff --git a/modules/nixos/desktop/launcher/default.nix b/modules/nixos/desktop/launcher/default.nix new file mode 100644 index 0000000..3a35133 --- /dev/null +++ b/modules/nixos/desktop/launcher/default.nix @@ -0,0 +1,16 @@ +{ lib, config, ... }: +let + inherit (lib) singleton mkEnableOption; + cfg = config.desktop.launcher; +in +{ + options.desktop.launcher = { + fuzzel.enable = mkEnableOption ""; + wofi.enable = mkEnableOption ""; + }; + + config.home-manager.sharedModules = singleton { + programs.fuzzel.enable = cfg.fuzzel.enable; + programs.wofi.enable = cfg.wofi.enable; + }; +} diff --git a/systems/x86_64-linux/desktop.nix b/systems/x86_64-linux/desktop.nix index 4cd3726..dea1818 100644 --- a/systems/x86_64-linux/desktop.nix +++ b/systems/x86_64-linux/desktop.nix @@ -3,10 +3,10 @@ enable = true; browser.firefox.enable = true; lockscreen.hyprlock.enable = true; + launcher.fuzzel.enable = true; windowManager = "hyprland"; terminal = "ghostty"; notification-daemon = "mako"; - launcher = "fuzzel"; status-bar = "waybar"; media-player = "vlc"; mainMonitor = {