summaryrefslogtreecommitdiff
path: root/modules/desktop/wms
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2025-08-17 11:25:33 +0200
committerJakub Stachurski <j.stachurski@student.utwente.nl>2025-08-17 11:25:33 +0200
commit1be972048dd58218cd689ecb5cac562eb398b751 (patch)
tree203f19ee01ad5fe28f2868e8c1451f9538e4ab12 /modules/desktop/wms
parent3cd59d4670711e34a50adea912c3b0894883e490 (diff)
refreshed config
Diffstat (limited to 'modules/desktop/wms')
-rw-r--r--modules/desktop/wms/default.nix6
-rw-r--r--modules/desktop/wms/hyprland.nix43
-rw-r--r--modules/desktop/wms/xfce.nix37
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;
+ }]);
+}