diff options
Diffstat (limited to 'components/gui/xfce.nix')
| -rw-r--r-- | components/gui/xfce.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/components/gui/xfce.nix b/components/gui/xfce.nix new file mode 100644 index 0000000..55f1475 --- /dev/null +++ b/components/gui/xfce.nix @@ -0,0 +1,47 @@ +{inputs, lib, config, pkgs, ...}: +let + thunar-archive-plugin-with-xarchiver = pkgs.thunar-archive-plugin.overrideAttrs (old: { + postInstall = (old.postInstall or "") + '' + cp ${pkgs.xarchiver}/libexec/thunar-archive-plugin/xarchiver.tap \ + $out/libexec/thunar-archive-plugin/ + ''; + }); +in { + options.xfce.enable = lib.mkEnableOption "Xfce Desktop Environment"; + + config = lib.mkIf config.xfce.enable { + services.xserver = { + enable = true; + + desktopManager.xfce.enable = true; + }; + + # File manager + programs.thunar = { + enable = true; + + plugins = with pkgs; [ + thunar-archive-plugin-with-xarchiver + thunar-media-tags-plugin + thunar-vcs-plugin + thunar-volman + ]; + }; + + # XDG + xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; + + # Packages + environment.systemPackages = with pkgs; [ + bluez blueman + xarchiver + + xfce4-whiskermenu-plugin + xfce4-docklike-plugin + inputs.xfce4-hiddenapps-plugin.packages.x86_64-linux.default + ]; + + # Excluded + environment.xfce.excludePackages = with pkgs; [ parole ]; + }; +} |
