1# This module defines a NixOS installation CD that contains X11 and
2# KDE 5.
3
4{ config, lib, pkgs, ... }:
5
6with lib;
7
8{
9 imports = [ ./installation-cd-base.nix ];
10
11 services.xserver = {
12 enable = true;
13
14 # Automatically login as root.
15 displayManager.slim = {
16 enable = true;
17 defaultUser = "root";
18 autoLogin = true;
19 };
20
21 desktopManager.plasma5 = {
22 enable = true;
23 enableQt4Support = false;
24 };
25
26 # Enable touchpad support for many laptops.
27 synaptics.enable = true;
28 };
29
30 environment.systemPackages =
31 [ pkgs.glxinfo
32
33 # Include gparted for partitioning disks.
34 pkgs.gparted
35
36 # Firefox for reading the manual.
37 pkgs.firefox
38
39 # Include some editors.
40 pkgs.vim
41 pkgs.bvi # binary editor
42 pkgs.joe
43 ];
44
45 # Provide networkmanager for easy wireless configuration.
46 networking.networkmanager.enable = true;
47 networking.wireless.enable = mkForce false;
48
49 # KDE complains if power management is disabled (to be precise, if
50 # there is no power management backend such as upower).
51 powerManagement.enable = true;
52
53 # Don't start the X server by default.
54 services.xserver.autorun = mkForce false;
55
56 system.activationScripts.installerDesktop = let
57 desktopFile = pkgs.writeText "nixos-manual.desktop" ''
58 [Desktop Entry]
59 Version=1.0
60 Type=Application
61 Name=NixOS Manual
62 Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html
63 Icon=text-html
64 '';
65
66 in ''
67 mkdir -p /root/Desktop
68 ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop
69 ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop /root/Desktop/org.kde.konsole.desktop
70 ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop
71 '';
72
73}