installation-cd: add calamares-gnome cd

+14 -8
nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
···
# Enable sound in graphical iso's.
hardware.pulseaudio.enable = true;
-
environment.systemPackages = [
# Include gparted for partitioning disks.
-
pkgs.gparted
# Include some editors.
-
pkgs.vim
-
pkgs.bvi # binary editor
-
pkgs.joe
# Include some version control tools.
-
pkgs.git
# Firefox for reading the manual.
-
pkgs.firefox
-
pkgs.glxinfo
];
}
···
# Enable sound in graphical iso's.
hardware.pulseaudio.enable = true;
+
# Spice guest additions
+
services.spice-vdagentd.enable = true;
+
+
# Enable plymouth
+
boot.plymouth.enable = true;
+
+
environment.defaultPackages = with pkgs; [
# Include gparted for partitioning disks.
+
gparted
# Include some editors.
+
vim
+
nano
# Include some version control tools.
+
git
+
rsync
# Firefox for reading the manual.
+
firefox
+
glxinfo
];
}
+59
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
···
···
+
# 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.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";
+
};
+
};
+
}
+20
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
···
···
+
# This module adds the calamares installer to the basic graphical NixOS
+
# installation CD.
+
+
{ pkgs, ... }:
+
let
+
calamares-nixos-autostart = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = pkgs.calamares-nixos; };
+
in
+
{
+
imports = [ ./installation-cd-graphical-base.nix ];
+
+
environment.systemPackages = with pkgs; [
+
# Calamares for graphical installation
+
libsForQt5.kpmcore
+
calamares-nixos
+
calamares-nixos-autostart
+
calamares-nixos-extensions
+
# Needed for calamares QML module packagechooserq
+
libsForQt5.full
+
];
+
}
+1 -3
nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
···
# This module defines a NixOS installation CD that contains GNOME.
-
{ lib, ... }:
-
-
with lib;
{
imports = [ ./installation-cd-graphical-base.nix ];
···
# This module defines a NixOS installation CD that contains GNOME.
+
{ ... }:
{
imports = [ ./installation-cd-graphical-base.nix ];