diff --git a/homes/x86_64-linux/rafiq/default.nix b/homes/x86_64-linux/rafiq/default.nix index d09491a..cdb15da 100644 --- a/homes/x86_64-linux/rafiq/default.nix +++ b/homes/x86_64-linux/rafiq/default.nix @@ -11,6 +11,7 @@ cli.git.name = "Mohammad Rafiq"; cli.git.email = "rafiq@rrv.sh"; cli.git.defaultBranch = "prime"; + desktop.windowManager = "hyprland"; home.shellAliases.v = "nvim"; home.shellAliases = { diff --git a/homes/x86_64-linux/rafiq/desktop.nix b/homes/x86_64-linux/rafiq/desktop.nix index 0a9d8fa..55524c8 100644 --- a/homes/x86_64-linux/rafiq/desktop.nix +++ b/homes/x86_64-linux/rafiq/desktop.nix @@ -1,7 +1,6 @@ {pkgs,...}: { imports = [ - ./desktop/hyprland.nix ./desktop/firefox.nix ]; home.packages = with pkgs; [ diff --git a/modules/home/desktop/default.nix b/modules/home/desktop/default.nix new file mode 100644 index 0000000..d63653d --- /dev/null +++ b/modules/home/desktop/default.nix @@ -0,0 +1,17 @@ +{ config, lib, osConfig, ... }: +{ + options.desktop = { + windowManager = lib.pantheon.mkStrOption; + }; + + + config = { + assertions = + [ + { + assertion = (osConfig.desktop.windowManager == config.desktop.windowManager); + message = "You have set your home window manager to one that is not installed on this system."; + } + ]; + }; +} diff --git a/homes/x86_64-linux/rafiq/desktop/hyprland.nix b/modules/home/desktop/windowManager/hyprland/default.nix similarity index 89% rename from homes/x86_64-linux/rafiq/desktop/hyprland.nix rename to modules/home/desktop/windowManager/hyprland/default.nix index 702b9c9..b3fa925 100644 --- a/homes/x86_64-linux/rafiq/desktop/hyprland.nix +++ b/modules/home/desktop/windowManager/hyprland/default.nix @@ -1,8 +1,14 @@ -{config, lib, osConfig, ...}: +{ config, lib, osConfig, ... }: let mainMonitor = osConfig.desktop.mainMonitor; in { + imports = [ + + ]; + + config = lib.mkIf (config.desktop.windowManager == "hyprland") (lib.mkMerge [ + { xdg.configFile."uwsm/env".text = # sh '' @@ -43,4 +49,6 @@ in ]; }; }; + } + ]); }