diff options
| author | Leonardo <noreply@leoflo.me> | 2026-02-28 16:27:59 +0100 |
|---|---|---|
| committer | Leonardo <noreply@leoflo.me> | 2026-02-28 19:02:07 +0100 |
| commit | bb11479130b0988e93408aa917cfc872d427d95f (patch) | |
| tree | 58d37004d9529f927fcab0a5672bc6697d9b3c24 /components/gui | |
| parent | 1507e4e369bd73b85f191fef20a7509283a418aa (diff) | |
| download | nixos-bb11479130b0988e93408aa917cfc872d427d95f.tar.gz nixos-bb11479130b0988e93408aa917cfc872d427d95f.zip | |
nuovo layout
Diffstat (limited to 'components/gui')
| -rw-r--r-- | components/gui/plasma.nix | 20 | ||||
| -rw-r--r-- | components/gui/xfce.nix | 47 |
2 files changed, 67 insertions, 0 deletions
diff --git a/components/gui/plasma.nix b/components/gui/plasma.nix new file mode 100644 index 0000000..fc6b6eb --- /dev/null +++ b/components/gui/plasma.nix @@ -0,0 +1,20 @@ +{lib, config, pkgs, ...}: { + options.plasma.enable = lib.mkEnableOption "KDE Plasma"; + + config = lib.mkIf config.plasma.enable { + services.desktopManager.plasma6.enable = true; + + # XDG + xdg.portal.extraPortals = with pkgs.kdePackages; [ xdg-desktop-portal-kde ]; + + # Packages + environment.systemPackages = with pkgs.kdePackages; [ + kate filelight + + flatpak-kcm + ]; + + # Excluded + environment.plasma6.excludePackages = with pkgs.kdePackages; [ plasma-browser-integration elisa discover ]; + }; +} 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 ]; + }; +} |
