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