about summary refs log tree commit diff
path: root/nixos/modules/services/x11/desktop-managers/xfce.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/x11/desktop-managers/xfce.nix')
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix185
1 files changed, 0 insertions, 185 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
deleted file mode 100644
index 727802f3a63e..000000000000
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ /dev/null
@@ -1,185 +0,0 @@
-{ config, lib, pkgs, utils, ... }:
-
-with lib;
-
-let
-  cfg = config.services.xserver.desktopManager.xfce;
-  excludePackages = config.environment.xfce.excludePackages;
-
-in
-{
-  meta = {
-    maintainers = teams.xfce.members;
-  };
-
-  imports = [
-    # added 2019-08-18
-    # needed to preserve some semblance of UI familarity
-    # with original XFCE module
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
-      [ "services" "xserver" "displayManager" "sessionCommands" ])
-
-    # added 2019-11-04
-    # xfce4-14 module removed and promoted to xfce.
-    # Needed for configs that used xfce4-14 module to migrate to this one.
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "enable" ]
-      [ "services" "xserver" "desktopManager" "xfce" "enable" ])
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "noDesktop" ]
-      [ "services" "xserver" "desktopManager" "xfce" "noDesktop" ])
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "enableXfwm" ]
-      [ "services" "xserver" "desktopManager" "xfce" "enableXfwm" ])
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ]
-      [ "services" "xserver" "displayManager" "sessionCommands" ])
-    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
-
-    # added 2022-06-26
-    # thunar has its own module
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce" "thunarPlugins" ]
-      [ "programs" "thunar" "plugins" ])
-  ];
-
-  options = {
-    services.xserver.desktopManager.xfce = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable the Xfce desktop environment.";
-      };
-
-      noDesktop = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Don't install XFCE desktop components (xfdesktop and panel).";
-      };
-
-      enableXfwm = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Enable the XFWM (default) window manager.";
-      };
-
-      enableScreensaver = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Enable the XFCE screensaver.";
-      };
-    };
-
-    environment.xfce.excludePackages = mkOption {
-      default = [];
-      example = literalExpression "[ pkgs.xfce.xfce4-volumed-pulse ]";
-      type = types.listOf types.package;
-      description = "Which packages XFCE should exclude from the default environment";
-    };
-  };
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = utils.removePackagesByName (with pkgs.xfce // pkgs; [
-      glib # for gsettings
-      gtk3.out # gtk-update-icon-cache
-
-      gnome.gnome-themes-extra
-      gnome.adwaita-icon-theme
-      hicolor-icon-theme
-      tango-icon-theme
-      xfce4-icon-theme
-
-      desktop-file-utils
-      shared-mime-info # for update-mime-database
-
-      # For a polkit authentication agent
-      polkit_gnome
-
-      # Needed by Xfce's xinitrc script
-      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
-
-      exo
-      garcon
-      libxfce4ui
-
-      mousepad
-      parole
-      ristretto
-      xfce4-appfinder
-      xfce4-notifyd
-      xfce4-screenshooter
-      xfce4-session
-      xfce4-settings
-      xfce4-taskmanager
-      xfce4-terminal
-    ] # TODO: NetworkManager doesn't belong here
-      ++ optional config.networking.networkmanager.enable networkmanagerapplet
-      ++ optional config.powerManagement.enable xfce4-power-manager
-      ++ optionals config.hardware.pulseaudio.enable [
-        pavucontrol
-        # volume up/down keys support:
-        # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
-        # but can only be used with xfce4-panel, so for no-desktop usage we still include
-        # xfce4-volumed-pulse
-        (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
-      ] ++ optionals cfg.enableXfwm [
-        xfwm4
-        xfwm4-themes
-      ] ++ optionals (!cfg.noDesktop) [
-        xfce4-panel
-        xfdesktop
-      ] ++ optional cfg.enableScreensaver xfce4-screensaver) excludePackages;
-
-    programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2;
-    programs.xfconf.enable = true;
-    programs.thunar.enable = true;
-
-    environment.pathsToLink = [
-      "/share/xfce4"
-      "/lib/xfce4"
-      "/share/gtksourceview-3.0"
-      "/share/gtksourceview-4.0"
-    ];
-
-    services.xserver.desktopManager.session = [{
-      name = "xfce";
-      desktopNames = [ "XFCE" ];
-      bgSupport = !cfg.noDesktop;
-      start = ''
-        ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
-        waitPID=$!
-      '';
-    }];
-
-    services.xserver.updateDbusEnvironment = true;
-    programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
-
-    # Enable helpful DBus services.
-    services.udisks2.enable = true;
-    security.polkit.enable = true;
-    services.accounts-daemon.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-    services.gnome.glib-networking.enable = true;
-    services.gvfs.enable = true;
-    services.tumbler.enable = true;
-    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.libinput.enable = mkDefault true; # used in xfce4-settings-manager
-
-    # Enable default programs
-    programs.dconf.enable = true;
-
-    # Shell integration for VTE terminals
-    programs.bash.vteIntegration = mkDefault true;
-    programs.zsh.vteIntegration = mkDefault true;
-
-    # Systemd services
-    systemd.packages = utils.removePackagesByName (with pkgs.xfce; [
-      xfce4-notifyd
-    ]) excludePackages;
-
-    security.pam.services.xfce4-screensaver.unixAuth = cfg.enableScreensaver;
-
-    xdg.portal.configPackages = mkDefault [ pkgs.xfce.xfce4-session ];
-  };
-}