diff options
Diffstat (limited to 'modules/desktop/wms')
| -rw-r--r-- | modules/desktop/wms/default.nix | 6 | ||||
| -rw-r--r-- | modules/desktop/wms/hyprland.nix | 43 | ||||
| -rw-r--r-- | modules/desktop/wms/xfce.nix | 37 |
3 files changed, 86 insertions, 0 deletions
diff --git a/modules/desktop/wms/default.nix b/modules/desktop/wms/default.nix new file mode 100644 index 0000000..94d0e05 --- /dev/null +++ b/modules/desktop/wms/default.nix @@ -0,0 +1,6 @@ +{...}: { + imports = [ + ./hyprland.nix + ./xfce.nix + ]; +} diff --git a/modules/desktop/wms/hyprland.nix b/modules/desktop/wms/hyprland.nix new file mode 100644 index 0000000..8243b3d --- /dev/null +++ b/modules/desktop/wms/hyprland.nix @@ -0,0 +1,43 @@ +{pkgs, lib, config, ...}: + let cfg = config.addons.desktop.hyprland; +in { + options.addons.desktop.hyprland = { + enable = lib.mkEnableOption "Enable Hyprland"; + }; + + config = lib.mkIf cfg.enable (lib.mkMerge [ + (import ../../../utils/makeWm.nix "hyprland" "wayland" ) + { + programs.hyprland.enable = true; + programs.hyprland.withUWSM = true; + programs.uwsm = { + enable = true; + waylandCompositors ={ + hyprland = { + prettyName = "Hyprland"; + comment = "Hyprland compositor managed by UWSM"; + binPath = "/run/current-system/sw/bin/Hyprland"; + }; + }; + }; + + environment.systemPackages = with pkgs; [ + hyprland + hyprshot + hypridle + hyprpaper + hyprpicker + hyprnotify + hyprcursor + hyprpolkitagent + wofi + waybar + waybar-mpris + mako + xdg-desktop-portal-gnome + xdg-desktop-portal-hyprland + wl-clipboard + ]; + } + ]); +} diff --git a/modules/desktop/wms/xfce.nix b/modules/desktop/wms/xfce.nix new file mode 100644 index 0000000..0c62ee0 --- /dev/null +++ b/modules/desktop/wms/xfce.nix @@ -0,0 +1,37 @@ +{pkgs, config, lib, ...}: +let + cfg = config.addons.desktop.xfce; +in { + + options.addons.desktop.xfce = { + enable = lib.mkEnableOption "Enable xfce"; + }; + + config = lib.mkIf cfg.enable (lib.mkMerge [ + (import ../../../utils/makeWm.nix "xfce" "x11" ) + { + environment.systemPackages = with pkgs; [ + # XFCE stuff + xfce.catfish + xfce.xfce4-appfinder + xfce.xfce4-clipman-plugin + xfce.xfce4-cpugraph-plugin + xfce.xfce4-dict + xfce.xfce4-fsguard-plugin + xfce.xfce4-genmon-plugin + xfce.xfce4-netload-plugin + xfce.xfce4-panel + xfce.xfce4-pulseaudio-plugin + xfce.xfce4-systemload-plugin + xfce.xfce4-weather-plugin + xfce.xfce4-whiskermenu-plugin + xfce.xfce4-xkb-plugin + xfce.xfdashboard + + # GNOME stuff + file-roller + gnome-disk-utility + ]; + services.xserver.desktopManager.xfce.enable = true; + }]); +} |
