aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix')
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
new file mode 100644
index 00000000000..1578e1547bc
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -0,0 +1,66 @@
+# This module contains the basic configuration for building a graphical NixOS
+# installation CD.
+
+{ lib, pkgs, ... }:
+
+with lib;
+
+{
+ imports = [ ./installation-cd-base.nix ];
+
+ # Whitelist wheel users to do anything
+ # This is useful for things like pkexec
+ #
+ # WARNING: this is dangerous for systems
+ # outside the installation-cd and shouldn't
+ # be used anywhere else.
+ security.polkit.extraConfig = ''
+ polkit.addRule(function(action, subject) {
+ if (subject.isInGroup("wheel")) {
+ return polkit.Result.YES;
+ }
+ });
+ '';
+
+ services.xserver = {
+ enable = true;
+
+ # Don't start the X server by default.
+ autorun = mkForce false;
+
+ # Automatically login as nixos.
+ displayManager.slim = {
+ enable = true;
+ defaultUser = "nixos";
+ autoLogin = true;
+ };
+
+ };
+
+ # Provide networkmanager for easy wireless configuration.
+ networking.networkmanager.enable = true;
+ networking.wireless.enable = mkForce false;
+
+ # KDE complains if power management is disabled (to be precise, if
+ # there is no power management backend such as upower).
+ powerManagement.enable = true;
+
+ # 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
+
+ # Firefox for reading the manual.
+ pkgs.firefox
+
+ pkgs.glxinfo
+ ];
+
+}