1# This module contains the basic configuration for building a graphical NixOS
2# installation CD.
3
4{ lib, pkgs, ... }:
5
6with lib;
7
8{
9 imports = [ ./installation-cd-base.nix ];
10
11 # Whitelist wheel users to do anything
12 # This is useful for things like pkexec
13 #
14 # WARNING: this is dangerous for systems
15 # outside the installation-cd and shouldn't
16 # be used anywhere else.
17 security.polkit.extraConfig = ''
18 polkit.addRule(function(action, subject) {
19 if (subject.isInGroup("wheel")) {
20 return polkit.Result.YES;
21 }
22 });
23 '';
24
25 services.xserver.enable = true;
26
27 # Provide networkmanager for easy wireless configuration.
28 networking.networkmanager.enable = true;
29 networking.wireless.enable = mkImageMediaOverride false;
30
31 # KDE complains if power management is disabled (to be precise, if
32 # there is no power management backend such as upower).
33 powerManagement.enable = true;
34
35 # Enable sound in graphical iso's.
36 hardware.pulseaudio.enable = true;
37
38 # VM guest additions to improve host-guest interaction
39 services.spice-vdagentd.enable = true;
40 services.qemuGuest.enable = true;
41 virtualisation.vmware.guest.enable = pkgs.stdenv.hostPlatform.isx86;
42 virtualisation.hypervGuest.enable = true;
43 services.xe-guest-utilities.enable = pkgs.stdenv.hostPlatform.isx86;
44 # The VirtualBox guest additions rely on an out-of-tree kernel module
45 # which lags behind kernel releases, potentially causing broken builds.
46 virtualisation.virtualbox.guest.enable = false;
47
48 # Enable plymouth
49 boot.plymouth.enable = true;
50
51 environment.defaultPackages = with pkgs; [
52 # Include gparted for partitioning disks.
53 gparted
54
55 # Include some editors.
56 vim
57 nano
58
59 # Include some version control tools.
60 git
61 rsync
62
63 # Firefox for reading the manual.
64 firefox
65
66 glxinfo
67 ];
68
69}