# This module defines a NixOS installation CD that contains GNOME. { pkgs, ... }: { imports = [ ./installation-cd-graphical-calamares.nix ]; isoImage.edition = "gnome"; services.xserver.desktopManager.gnome = { # Add Firefox and other tools useful for installation to the launcher favoriteAppsOverride = '' [org.gnome.shell] favorite-apps=[ 'firefox.desktop', 'nixos-manual.desktop', 'org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop', 'io.calamares.calamares.desktop' ] ''; # Override GNOME defaults to disable GNOME tour and disable suspend extraGSettingsOverrides = '' [org.gnome.shell] welcome-dialog-last-shown-version='9999999999' [org.gnome.desktop.session] idle-delay=0 [org.gnome.settings-daemon.plugins.power] sleep-inactive-ac-type='nothing' sleep-inactive-battery-type='nothing' ''; extraGSettingsOverridePackages = [ pkgs.gnome.gnome-settings-daemon ]; enable = true; }; # Theme calamares with GNOME theme qt5 = { enable = true; platformTheme = "gnome"; }; # Fix scaling for calamares on wayland environment.variables = { QT_QPA_PLATFORM = "$([[ $XDG_SESSION_TYPE = \"wayland\" ]] && echo \"wayland\")"; }; services.xserver.displayManager = { gdm = { enable = true; # autoSuspend makes the machine automatically suspend after inactivity. # It's possible someone could/try to ssh'd into the machine and obviously # have issues because it's inactive. # See: # * https://github.com/NixOS/nixpkgs/pull/63790 # * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22 autoSuspend = false; }; autoLogin = { enable = true; user = "nixos"; }; }; }