diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index 8d05dcd34b4..cebc4122c6c 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -22,5 +22,6 @@ + diff --git a/nixos/doc/manual/configuration/profiles.xml b/nixos/doc/manual/configuration/profiles.xml new file mode 100644 index 00000000000..92c0f6202f2 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles.xml @@ -0,0 +1,39 @@ + + Profiles + + In some cases, it may be desirable to take advantage of commonly-used, + predefined configurations provided by nixpkgs, but different from those that + come as default. This is a role fulfilled by NixOS's Profiles, which come as + files living in <nixpkgs/nixos/modules/profiles>. + That is to say, expected usage is to add them to the imports list of your + /etc/configuration.nix as such: + + + imports = [ + <nixpkgs/nixos/modules/profiles/profile-name.nix> + ]; + + + Even if some of these profiles seem only useful in the context of + install media, many are actually intended to be used in real installs. + + + What follows is a brief explanation on the purpose and use-case for each + profile. Detailing each option configured by each one is out of scope. + + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/profiles/all-hardware.xml b/nixos/doc/manual/configuration/profiles/all-hardware.xml new file mode 100644 index 00000000000..17297519947 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/all-hardware.xml @@ -0,0 +1,20 @@ + +
+ All Hardware + + Enables all hardware supported by NixOS: i.e., all firmware is + included, and all devices from which one may boot are enabled in the initrd. + Its primary use is in the NixOS installation CDs. + + + The enabled kernel modules include support for SATA and PATA, SCSI + (partially), USB, Firewire (untested), Virtio (QEMU, KVM, etc.), VMware, and + Hyper-V. Additionally, is + enabled, and the firmware for the ZyDAS ZD1211 chipset is specifically + installed. + +
diff --git a/nixos/doc/manual/configuration/profiles/base.xml b/nixos/doc/manual/configuration/profiles/base.xml new file mode 100644 index 00000000000..f58a35d626e --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/base.xml @@ -0,0 +1,15 @@ + +
+ Base + + Defines the software packages included in the "minimal" + installation CD. It installs several utilities useful in a simple recovery or + install media, such as a text-mode web browser, and tools for manipulating + block devices, networking, hardware diagnostics, and filesystems (with their + respective kernel modules). + +
diff --git a/nixos/doc/manual/configuration/profiles/clone-config.xml b/nixos/doc/manual/configuration/profiles/clone-config.xml new file mode 100644 index 00000000000..87c8b9ee31b --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/clone-config.xml @@ -0,0 +1,14 @@ + +
+ Clone Config + + This profile is used in installer images. + It provides an editable configuration.nix that imports all the modules that + were also used when creating the image in the first place. + As a result it allows users to edit and rebuild the live-system. + +
diff --git a/nixos/doc/manual/configuration/profiles/demo.xml b/nixos/doc/manual/configuration/profiles/demo.xml new file mode 100644 index 00000000000..98829e4696d --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/demo.xml @@ -0,0 +1,13 @@ + +
+ Demo + + This profile just enables a demo user, with password demo, uid 1000, wheel + group and + autologin in the SDDM display manager. + +
diff --git a/nixos/doc/manual/configuration/profiles/docker-container.xml b/nixos/doc/manual/configuration/profiles/docker-container.xml new file mode 100644 index 00000000000..bf962442cce --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/docker-container.xml @@ -0,0 +1,15 @@ + +
+ Docker Container + + This is the profile from which the Docker images are generated. It prepares a + working system by importing the Minimal and + Clone Config profiles, and setting appropriate + configuration options that are useful inside a container context, like + . + +
diff --git a/nixos/doc/manual/configuration/profiles/graphical.xml b/nixos/doc/manual/configuration/profiles/graphical.xml new file mode 100644 index 00000000000..5ded61d9763 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/graphical.xml @@ -0,0 +1,21 @@ + +
+ Graphical + + Defines a NixOS configuration with the Plasma 5 desktop. It's used by the + graphical installation CD. + + + It sets , + , + ( + + without Qt4 Support), and + to true. It also + includes glxinfo and firefox in the system packages list. + +
diff --git a/nixos/doc/manual/configuration/profiles/hardened.xml b/nixos/doc/manual/configuration/profiles/hardened.xml new file mode 100644 index 00000000000..b3b433792f5 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/hardened.xml @@ -0,0 +1,22 @@ + +
+ Hardened + + A profile with most (vanilla) hardening options enabled by default, + potentially at the cost of features and performance. + + + This includes a hardened kernel, and limiting the system information + available to processes through the /sys and + /proc filesystems. It also disables the User Namespaces + feature of the kernel, which stops Nix from being able to build anything + (this particular setting can be overriden via + ). See the + profile source for further detail on which settings are altered. + +
diff --git a/nixos/doc/manual/configuration/profiles/headless.xml b/nixos/doc/manual/configuration/profiles/headless.xml new file mode 100644 index 00000000000..54dc61f236e --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/headless.xml @@ -0,0 +1,18 @@ + +
+ Headless + + Common configuration for headless machines (e.g., Amazon EC2 instances). + + + Disables sound, + vesa, serial consoles, + emergency mode, + grub splash images and + configures the kernel to reboot automatically on panic. + +
diff --git a/nixos/doc/manual/configuration/profiles/installation-device.xml b/nixos/doc/manual/configuration/profiles/installation-device.xml new file mode 100644 index 00000000000..44ccfc538ad --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/installation-device.xml @@ -0,0 +1,35 @@ + +
+ Installation Device + + Provides a basic configuration for installation devices like CDs. This means + enabling hardware scans, using the + Clone Config profile to guarantee + /etc/nixos/configuration.nix exists (for + nixos-rebuild to work), a copy of the Nixpkgs channel + snapshot used to create the install media. + + + Additionally, documentation for + Nixpkgs and NixOS + are forcefully enabled (to override the + Minimal profile preference); the + NixOS manual is shown automatically on TTY 8, sudo and udisks are disabled. + Autologin is enabled as root. + + + A message is shown to the user to start a display manager if needed, + ssh with are enabled (but + doesn't autostart). WPA Supplicant is also enabled without autostart. + + + Finally, vim is installed, root is set to not have a password, the kernel is + made more silent for remote public IP installs, and several settings are + tweaked so that the installer has a better chance of succeeding under + low-memory environments. + +
diff --git a/nixos/doc/manual/configuration/profiles/minimal.xml b/nixos/doc/manual/configuration/profiles/minimal.xml new file mode 100644 index 00000000000..a24af21bd7f --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/minimal.xml @@ -0,0 +1,17 @@ + +
+ Minimal + + This profile defines a small NixOS configuration. It does not contain any + graphical stuff. It's a very short file that enables + noXlibs, sets + i18n.supportedLocales + to only support the user-selected locale, + disables packages' documentation + , and disables sound. + +
diff --git a/nixos/doc/manual/configuration/profiles/qemu-guest.xml b/nixos/doc/manual/configuration/profiles/qemu-guest.xml new file mode 100644 index 00000000000..d08068650fb --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/qemu-guest.xml @@ -0,0 +1,16 @@ +
+ QEMU Guest + + This profile contains common configuration for virtual machines running under + QEMU (using virtio). + + + It makes virtio modules available on the initrd, sets the system time from + the hardware clock to work around a bug in qemu-kvm, and + enables rngd. + +