nixpkgs/nixos/doc/manual
Aristid Breitkreuz e349ccc77f nixos/alsa: Do not make sound.enable conditional on stateVersion.
Eelco Dolstra wrote:

Hm, this is not really the intended use of stateVersion. From the description:

        Every once in a while, a new NixOS release may change
        configuration defaults in a way incompatible with stateful
        data. For instance, if the default version of PostgreSQL
        changes, the new version will probably be unable to read your
        existing databases. To prevent such breakage, you can set the
        value of this option to the NixOS release with which you want
        to be compatible. The effect is that NixOS will option
        defaults corresponding to the specified release (such as using
        an older version of PostgreSQL).

So this is only intended for options that have some corresponding on-disk state. AFAICT this is not the case for sound. In any case stateVersion is a necessary evil that only exists because we can't just upgrade Postgres databases or change SSH host keys. It's not necessary for things like whether sound is enabled. (If the user discovers that sound is suddenly disabled, they can just enable it.)

I had some vague recollection that we also had a configVersion option setting to control the defaults for non-state-related options, but I can't find it so maybe it was only discussed.
2018-02-23 23:14:42 +01:00
..
administration postgresql92: remove last references 2017-09-05 18:20:56 +02:00
configuration Remove Xfce-specific display manager tip 2018-02-19 15:18:07 -08:00
development test-driver: mention $user argument in the NixOS manual and the Impala release notes 2018-01-06 10:09:18 +01:00
installation nixos/doc: document password-promptless installation (#35210) 2018-02-20 08:59:13 +00:00
release-notes nixos/alsa: Do not make sound.enable conditional on stateVersion. 2018-02-23 23:14:42 +01:00
default.nix stdenv.mkDerivation: rename meta.evaluates -> meta.available 2018-02-18 13:33:25 +00:00
man-configuration.xml Manual: Explicitly mark commands that require to be run as root (#15589) 2016-06-01 15:23:32 +01:00
man-nixos-build-vms.xml Manual: Explicitly mark commands that require to be run as root (#15589) 2016-06-01 15:23:32 +01:00
man-nixos-generate-config.xml nixos-generate-config: Emit LUKS configuration for boot device 2016-05-25 18:04:41 +02:00
man-nixos-install.xml nixos-install: add options --closure, --no-channel-copy, --no-root-passwd, and --no-bootloader 2016-08-04 16:22:25 +01:00
man-nixos-option.xml Improved nixos-option manpage 2017-08-04 03:30:35 +02:00
man-nixos-rebuild.xml doc: correct typo (#21176) 2016-12-15 17:13:44 +01:00
man-nixos-version.xml Add some more info to the nixos-version manpage 2016-07-15 12:02:39 +02:00
man-pages.xml doc: add man page for nixos-version (#16869) 2016-07-12 16:29:13 +02:00
manual.xml Point to the new mailing list by replacing the old link 2017-07-18 13:44:10 +02:00
options-to-docbook.xsl nixos, lib: implement relatedPackages option 2018-02-09 19:51:06 +00:00
README nixos/doc/manual: Fix typos in README. 2014-07-23 15:00:25 +02:00
style.css Manual: Chunk into separate pages 2014-08-25 19:08:31 +02:00

To build the manual, you need Nix installed on your system (no need
for NixOS). To install Nix, follow the instructions at

    https://nixos.org/nix/download.html

When you have Nix on your system, in the root directory of the project
(i.e., `nixpkgs`), run:

    nix-build nixos/release.nix -A manual.x86_64-linux

When this command successfully finishes, it will tell you where the
manual got generated.