diff --git a/configuration/desktop/audio.nix b/configuration/desktop/audio.nix deleted file mode 100644 index f344089..0000000 --- a/configuration/desktop/audio.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ pkgs, ... }: - -{ - - services.pulseaudio.enable = false; - - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse = { - enable = true; - }; - configPackages = [ - pkgs.pipewire-all-bluetooth - ]; - }; - - environment.systemPackages = with pkgs; [ - helvum # pipewire routing gui - ]; - -} diff --git a/configuration/desktop/default.nix b/configuration/desktop/default.nix deleted file mode 100644 index 470910c..0000000 --- a/configuration/desktop/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ ... }: - -{ - imports = [ - ./audio.nix - ./firmware.nix - ./fonts.nix - ./gnome.nix - ./inputs.nix - ./networking.nix - ./polkit.nix - ./power.nix - ./printing.nix - ./ssh.nix - ./xserver.nix - ]; - - security.sudo.wheelNeedsPassword = true; -} diff --git a/configuration/desktop/firmware.nix b/configuration/desktop/firmware.nix deleted file mode 100644 index 72331e5..0000000 --- a/configuration/desktop/firmware.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: - -{ - - services.fwupd.enable = true; - -} diff --git a/configuration/desktop/fonts.nix b/configuration/desktop/fonts.nix deleted file mode 100644 index 0003233..0000000 --- a/configuration/desktop/fonts.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -{ - - fonts.enableDefaultPackages = true; - fonts.packages = with pkgs; [ - roboto - roboto-mono - noto-fonts - noto-fonts-emoji - comfortaa - ] ++ (if pkgs ? "noto-fonts-cjk-sans" then [ pkgs.noto-fonts-cjk-sans ] else [ pkgs.noto-fonts-cjk ]); -} diff --git a/configuration/desktop/gnome.nix b/configuration/desktop/gnome.nix deleted file mode 100644 index 38924c3..0000000 --- a/configuration/desktop/gnome.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ pkgs, ... }: - -{ - services.gnome = { - localsearch.enable = false; - tinysparql.enable = false; - }; - - environment.gnome.excludePackages = with pkgs; [ - baobab - epiphany - gnome-calendar - gnome-clocks - gnome-console - gnome-contacts - gnome-logs - gnome-maps - gnome-music - gnome-tour - gnome-photos - gnome-weather - gnome-connections - simple-scan - yelp - geary - ]; - - environment.systemPackages = with pkgs; [ - evolution - gnome-terminal - gnome-tweaks - ]; - - services.gnome.evolution-data-server.enable = true; - - programs.dconf.profiles = { - user.databases = [ - { - settings = { - "org/gnome/desktop/calendar" = { - show-weekdate = true; - }; - "org/gnome/desktop/interface" = { - enable-hot-corners = false; - show-battery-percentage = true; - }; - "org/gnome/desktop/notifications" = { - show-in-lock-screen = false; - }; - "org/gnome/desktop/sound" = { - event-sounds = false; - }; - "org/gnome/gnome-system-monitor" = { - network-in-bits = true; - network-total-in-bits = true; - }; - }; - } - ]; - }; -} diff --git a/configuration/desktop/inputs.nix b/configuration/desktop/inputs.nix deleted file mode 100644 index cf1b137..0000000 --- a/configuration/desktop/inputs.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ ... }: - -{ - programs.dconf.profiles = { - user.databases = [ - { - settings = { - "org/gnome/desktop/peripherals/touchpad" = { - disable-while-typing = false; - edge-scrolling-enabled = false; - natural-scroll = true; - tap-to-click = true; - two-finger-scrolling-enabled = true; - }; - "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/" - ]; - mic-mute = [ "Print" ]; - }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = { - name = "Terminal"; - binding = "t"; - command = "gnome-terminal"; - }; - }; - } - ]; - gdm.databases = [ - { - settings = { - "org/gnome/desktop/peripherals/touchpad" = { - disable-while-typing = false; - edge-scrolling-enabled = false; - natural-scroll = true; - tap-to-click = true; - two-finger-scrolling-enabled = true; - }; - }; - } - ]; - }; -} diff --git a/configuration/desktop/networking.nix b/configuration/desktop/networking.nix deleted file mode 100644 index 5d3704e..0000000 --- a/configuration/desktop/networking.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ ... }: - -{ - - networking.networkmanager.settings = { - connectivity = { - uri = "http://ping.clerie.de/nm-check.txt"; - }; - global-dns = { - searches = "net.clerie.de"; - }; - }; - -} diff --git a/configuration/desktop/polkit.nix b/configuration/desktop/polkit.nix deleted file mode 100644 index c1fabf1..0000000 --- a/configuration/desktop/polkit.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: - -{ - - security.polkit.enable = true; - -} diff --git a/configuration/desktop/power.nix b/configuration/desktop/power.nix deleted file mode 100644 index 6f8bd5a..0000000 --- a/configuration/desktop/power.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, config, ... }: - -{ - boot.resumeDevice = lib.optionalString ((lib.length config.swapDevices) > 0) (lib.head config.swapDevices).device; - services.logind = { - lidSwitch = "suspend-then-hibernate"; - }; - systemd.sleep.extraConfig = '' - HibernateDelaySec=30m - ''; - - services.upower = { - percentageLow = 20; - percentageCritical = 10; - percentageAction = 8; - }; - - programs.dconf.profiles = { - user.databases = [ - { - settings = { - "org/gnome/settings-daemon/plugins/power" = { - power-button-action = "hibernate"; - power-saver-profile-on-low-battery = false; - sleep-inactive-ac-type = "nothing"; - }; - }; - } - ]; - gdm.databases = [ - { - settings = { - "org/gnome/settings-daemon/plugins/power" = { - power-button-action = "hibernate"; - power-saver-profile-on-low-battery = false; - sleep-inactive-ac-type = "nothing"; - }; - }; - } - ]; - }; -} diff --git a/configuration/desktop/printing.nix b/configuration/desktop/printing.nix deleted file mode 100644 index aebff31..0000000 --- a/configuration/desktop/printing.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: - -{ - services.printing.enable = true; - services.avahi.enable = true; - services.avahi.nssmdns4 = true; -} diff --git a/configuration/desktop/ssh.nix b/configuration/desktop/ssh.nix deleted file mode 100644 index ca528bc..0000000 --- a/configuration/desktop/ssh.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ pkgs, ... }: - -{ - - profiles.clerie.gpg-ssh.enable = true; - - programs.gnupg.agent = { - pinentryPackage = pkgs.pinentry-gtk2; - }; - - # Do not disable ssh-agent of gnome-keyring, because - # gnupg ssh-agent can't handle normal SSH keys properly - /* - # Disable ssh-agent of gnome-keyring - nixpkgs.overlays = [ - (final: prev: { - gnome = prev.gnome // { - gnome-keyring = prev.runCommand "gnome-keyring-ssh-disabled-autostart" {} '' - mkdir -p $out - - # Symlink all gnome-keyring binaries - ${final.xorg.lndir}/bin/lndir -silent ${prev.gnome.gnome-keyring} $out - - # Disable autostart for ssh - rm $out/etc/xdg/autostart/gnome-keyring-ssh.desktop - cat ${prev.gnome.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop > $out/etc/xdg/autostart/gnome-keyring-ssh.desktop - echo "Hidden=true" >> $out/etc/xdg/autostart/gnome-keyring-ssh.desktop - ''; - }; - }) - ]; - */ -} diff --git a/configuration/desktop/xserver.nix b/configuration/desktop/xserver.nix deleted file mode 100644 index 61afcb9..0000000 --- a/configuration/desktop/xserver.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - services.xserver.enable = true; - services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; - - services.xserver.excludePackages = with pkgs; [ - xterm - ]; -} diff --git a/flake.lock b/flake.lock index ee0c8ba..7580663 100644 --- a/flake.lock +++ b/flake.lock @@ -269,11 +269,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1750779764, - "narHash": "sha256-JTvJf12NfmiJg+k8zPAvvJIHWA8lzL5SBssQxkwZTwE=", + "lastModified": 1751801455, + "narHash": "sha256-hUJqtS88SbNQQSEJAPFyY2vLMh8yA8rQ6jbul50p64M=", "ref": "lix-2.93", - "rev": "175d4c80943403f352ad3ce9ee9a93475a154b91", - "revCount": 4259, + "rev": "b940aca430a7ca41f70bdb320659dd62026fe0e9", + "revCount": 4261, "type": "git", "url": "https://git.lix.systems/lix-project/hydra.git" }, @@ -301,11 +301,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1750762203, - "narHash": "sha256-LmQhjQ7c+AOkwhvR9GFgJOy8oHW35MoQRELtrwyVnPw=", + "lastModified": 1751235704, + "narHash": "sha256-Jzm3KPZ2gL+0Nl3Mw/2E0B3vqDDi1Xt5+9VCXghUDZ8=", "ref": "release-2.93", - "rev": "38b358ce27203f972faa2973cf44ba80c758f46e", - "revCount": 17866, + "rev": "f3a7bbe5f8d1a8504ddb6362d50106904523e440", + "revCount": 17874, "type": "git", "url": "https://git.lix.systems/lix-project/lix" }, @@ -327,11 +327,11 @@ ] }, "locked": { - "lastModified": 1750776670, - "narHash": "sha256-EfA5K5EZAnspmraJrXQlziffVpaT+QDBiE6yKmuaNNQ=", + "lastModified": 1753282722, + "narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=", "ref": "release-2.93", - "rev": "c3c78a32273e89d28367d8605a4c880f0b6607e3", - "revCount": 146, + "rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873", + "revCount": 149, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module.git" }, @@ -353,11 +353,11 @@ "pre-commit-hooks": "pre-commit-hooks_2" }, "locked": { - "lastModified": 1750762203, - "narHash": "sha256-LmQhjQ7c+AOkwhvR9GFgJOy8oHW35MoQRELtrwyVnPw=", + "lastModified": 1753306924, + "narHash": "sha256-jLCEW0FvjFhC+c4RHzH+xbkSOxrnpFHnhjOw6sudhx0=", "ref": "release-2.93", - "rev": "38b358ce27203f972faa2973cf44ba80c758f46e", - "revCount": 17866, + "rev": "1a4393d0aac31aba21f5737ede1b171e11336d77", + "revCount": 17884, "type": "git", "url": "https://git.lix.systems/lix-project/lix.git" }, @@ -614,11 +614,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1750622754, - "narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=", + "lastModified": 1751582995, + "narHash": "sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1", + "rev": "7a732ed41ca0dd64b4b71b563ab9805a80a7d693", "type": "github" }, "original": { @@ -646,11 +646,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1753549186, - "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17f6bd177404d6d43017595c5264756764444ab8", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { diff --git a/hosts/krypton/configuration.nix b/hosts/krypton/configuration.nix index 64a0390..2881e1b 100644 --- a/hosts/krypton/configuration.nix +++ b/hosts/krypton/configuration.nix @@ -5,8 +5,6 @@ [ ./hardware-configuration.nix - ../../configuration/desktop - ./android.nix ./backup.nix ./etesync-dav.nix @@ -15,6 +13,8 @@ ./programs.nix ]; + profiles.clerie.desktop.enable = true; + # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/hosts/zinc/configuration.nix b/hosts/zinc/configuration.nix index 4567591..7c070d1 100644 --- a/hosts/zinc/configuration.nix +++ b/hosts/zinc/configuration.nix @@ -5,12 +5,12 @@ [ ./hardware-configuration.nix - ../../configuration/desktop - ./initrd.nix ./programs.nix ]; + profiles.clerie.desktop.enable = true; + # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/profiles/default.nix b/profiles/default.nix index b385ca1..3e12719 100644 --- a/profiles/default.nix +++ b/profiles/default.nix @@ -9,6 +9,7 @@ ./common-nix ./common-webserver ./cybercluster-vm + ./desktop ./dn42-router ./fem-net ./firefox diff --git a/profiles/desktop/audio.nix b/profiles/desktop/audio.nix new file mode 100644 index 0000000..f7e6c3b --- /dev/null +++ b/profiles/desktop/audio.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + services.pulseaudio.enable = false; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse = { + enable = true; + }; + configPackages = [ + pkgs.pipewire-all-bluetooth + ]; + }; + + environment.systemPackages = with pkgs; [ + helvum # pipewire routing gui + ]; + + }; +} diff --git a/profiles/desktop/default.nix b/profiles/desktop/default.nix new file mode 100644 index 0000000..d5a99c6 --- /dev/null +++ b/profiles/desktop/default.nix @@ -0,0 +1,30 @@ +{ config, lib, ... }: + +with lib; + +{ + + options.profiles.clerie.desktop = { + enable = mkEnableOption "clerie Desktop Config"; + }; + + imports = [ + ./audio.nix + ./firmware.nix + ./fonts.nix + ./gnome.nix + ./inputs.nix + ./networking.nix + ./polkit.nix + ./power.nix + ./printing.nix + ./ssh.nix + ./xserver.nix + ]; + + config = mkIf config.profiles.clerie.desktop.enable { + + security.sudo.wheelNeedsPassword = true; + + }; +} diff --git a/profiles/desktop/firmware.nix b/profiles/desktop/firmware.nix new file mode 100644 index 0000000..1278ec2 --- /dev/null +++ b/profiles/desktop/firmware.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + services.fwupd.enable = true; + + }; + +} diff --git a/profiles/desktop/fonts.nix b/profiles/desktop/fonts.nix new file mode 100644 index 0000000..0563dcc --- /dev/null +++ b/profiles/desktop/fonts.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + fonts.enableDefaultPackages = true; + fonts.packages = with pkgs; [ + roboto + roboto-mono + noto-fonts + noto-fonts-emoji + comfortaa + ] ++ (if pkgs ? "noto-fonts-cjk-sans" then [ pkgs.noto-fonts-cjk-sans ] else [ pkgs.noto-fonts-cjk ]); + + }; + +} diff --git a/profiles/desktop/gnome.nix b/profiles/desktop/gnome.nix new file mode 100644 index 0000000..bc7b90c --- /dev/null +++ b/profiles/desktop/gnome.nix @@ -0,0 +1,69 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + services.gnome = { + localsearch.enable = false; + tinysparql.enable = false; + }; + + environment.gnome.excludePackages = with pkgs; [ + baobab + epiphany + gnome-calendar + gnome-clocks + gnome-console + gnome-contacts + gnome-logs + gnome-maps + gnome-music + gnome-tour + gnome-photos + gnome-weather + gnome-connections + simple-scan + yelp + geary + ]; + + environment.systemPackages = with pkgs; [ + evolution + gnome-terminal + gnome-tweaks + ]; + + services.gnome.evolution-data-server.enable = true; + + programs.dconf.profiles = { + user.databases = [ + { + settings = { + "org/gnome/desktop/calendar" = { + show-weekdate = true; + }; + "org/gnome/desktop/interface" = { + enable-hot-corners = false; + show-battery-percentage = true; + }; + "org/gnome/desktop/notifications" = { + show-in-lock-screen = false; + }; + "org/gnome/desktop/sound" = { + event-sounds = false; + }; + "org/gnome/gnome-system-monitor" = { + network-in-bits = true; + network-total-in-bits = true; + }; + }; + } + ]; + }; + + }; + +} diff --git a/profiles/desktop/inputs.nix b/profiles/desktop/inputs.nix new file mode 100644 index 0000000..f75b810 --- /dev/null +++ b/profiles/desktop/inputs.nix @@ -0,0 +1,51 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + programs.dconf.profiles = { + user.databases = [ + { + settings = { + "org/gnome/desktop/peripherals/touchpad" = { + disable-while-typing = false; + edge-scrolling-enabled = false; + natural-scroll = true; + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/" + ]; + mic-mute = [ "Print" ]; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = { + name = "Terminal"; + binding = "t"; + command = "gnome-terminal"; + }; + }; + } + ]; + gdm.databases = [ + { + settings = { + "org/gnome/desktop/peripherals/touchpad" = { + disable-while-typing = false; + edge-scrolling-enabled = false; + natural-scroll = true; + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + }; + } + ]; + }; + + }; + +} diff --git a/profiles/desktop/networking.nix b/profiles/desktop/networking.nix new file mode 100644 index 0000000..2af95f5 --- /dev/null +++ b/profiles/desktop/networking.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + networking.networkmanager.settings = { + connectivity = { + uri = "http://ping.clerie.de/nm-check.txt"; + }; + global-dns = { + searches = "net.clerie.de"; + }; + }; + + }; + +} diff --git a/profiles/desktop/polkit.nix b/profiles/desktop/polkit.nix new file mode 100644 index 0000000..14dc145 --- /dev/null +++ b/profiles/desktop/polkit.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + security.polkit.enable = true; + + }; + +} diff --git a/profiles/desktop/power.nix b/profiles/desktop/power.nix new file mode 100644 index 0000000..e7fca11 --- /dev/null +++ b/profiles/desktop/power.nix @@ -0,0 +1,50 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + boot.resumeDevice = lib.optionalString ((lib.length config.swapDevices) > 0) (lib.head config.swapDevices).device; + services.logind = { + lidSwitch = "suspend-then-hibernate"; + }; + systemd.sleep.extraConfig = '' + HibernateDelaySec=30m + ''; + + services.upower = { + percentageLow = 20; + percentageCritical = 10; + percentageAction = 8; + }; + + programs.dconf.profiles = { + user.databases = [ + { + settings = { + "org/gnome/settings-daemon/plugins/power" = { + power-button-action = "hibernate"; + power-saver-profile-on-low-battery = false; + sleep-inactive-ac-type = "nothing"; + }; + }; + } + ]; + gdm.databases = [ + { + settings = { + "org/gnome/settings-daemon/plugins/power" = { + power-button-action = "hibernate"; + power-saver-profile-on-low-battery = false; + sleep-inactive-ac-type = "nothing"; + }; + }; + } + ]; + }; + + }; + +} diff --git a/profiles/desktop/printing.nix b/profiles/desktop/printing.nix new file mode 100644 index 0000000..66b9a03 --- /dev/null +++ b/profiles/desktop/printing.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + services.printing.enable = true; + services.avahi.enable = true; + services.avahi.nssmdns4 = true; + + }; +} diff --git a/profiles/desktop/ssh.nix b/profiles/desktop/ssh.nix new file mode 100644 index 0000000..84e408e --- /dev/null +++ b/profiles/desktop/ssh.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + profiles.clerie.gpg-ssh.enable = true; + + programs.gnupg.agent = { + pinentryPackage = pkgs.pinentry-gtk2; + }; + + # Do not disable ssh-agent of gnome-keyring, because + # gnupg ssh-agent can't handle normal SSH keys properly + /* + # Disable ssh-agent of gnome-keyring + nixpkgs.overlays = [ + (final: prev: { + gnome = prev.gnome // { + gnome-keyring = prev.runCommand "gnome-keyring-ssh-disabled-autostart" {} '' + mkdir -p $out + + # Symlink all gnome-keyring binaries + ${final.xorg.lndir}/bin/lndir -silent ${prev.gnome.gnome-keyring} $out + + # Disable autostart for ssh + rm $out/etc/xdg/autostart/gnome-keyring-ssh.desktop + cat ${prev.gnome.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop > $out/etc/xdg/autostart/gnome-keyring-ssh.desktop + echo "Hidden=true" >> $out/etc/xdg/autostart/gnome-keyring-ssh.desktop + ''; + }; + }) + ]; + */ + + }; +} diff --git a/profiles/desktop/xserver.nix b/profiles/desktop/xserver.nix new file mode 100644 index 0000000..687be96 --- /dev/null +++ b/profiles/desktop/xserver.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + config = mkIf config.profiles.clerie.desktop.enable { + + services.xserver.enable = true; + services.displayManager.gdm.enable = true; + services.desktopManager.gnome.enable = true; + + services.xserver.excludePackages = with pkgs; [ + xterm + ]; + + }; +}