diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index 58ce9c7e627..48356247a49 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -921,7 +921,7 @@ src = fetchFromGitHub { You can convert between formats with nix-hash, for example: -$ nix-hash --type sha256 --to-base32 HASH +$ nix-hash --type sha256 --to-base32 HASH @@ -1038,7 +1038,7 @@ patches = [ ./0001-changes.patch ]; Move to the root directory of the source code you're patching. -$ cd the/program/source +$ cd the/program/source @@ -1046,8 +1046,8 @@ $ cd the/program/source If a git repository is not already present, create one and stage all of the source files. -$ git init -$ git add . +$ git init +$ git add . @@ -1060,7 +1060,7 @@ $ git add . Use git to create a diff, and pipe the output to a patch file: -$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch +$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch diff --git a/doc/contributing.xml b/doc/contributing.xml index d28442b7a2c..523c1c9c8f0 100644 --- a/doc/contributing.xml +++ b/doc/contributing.xml @@ -12,9 +12,9 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc You can quickly check your edits with make: - $ cd /path/to/nixpkgs/doc - $ nix-shell - [nix-shell]$ make +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make If you experience problems, run make debug to help @@ -24,10 +24,10 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc After making modifications to the manual, it's important to build it before committing. You can do that as follows: - $ cd /path/to/nixpkgs/doc - $ nix-shell - [nix-shell]$ make clean - [nix-shell]$ nix-build . +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make clean +[nix-shell]$ nix-build . If the build succeeds, the manual will be in ./result/share/doc/nixpkgs/manual.html. diff --git a/doc/functions/appimagetools.xml b/doc/functions/appimagetools.xml index 4205c6da385..e6dbc22f48d 100644 --- a/doc/functions/appimagetools.xml +++ b/doc/functions/appimagetools.xml @@ -52,7 +52,7 @@ spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: off $ file -k type2.AppImage type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x), scale 232-60668, spot sensor temperature -4.187500, color scheme 15, show scale bar, calibration: offset -0.000000, slope 0.000000 (Lepton 2.x), scale 4111-45000, spot sensor temperature 412442.250000, color scheme 3, minimum point enabled, calibration: offset -75402534979642766821519867692934234112.000000, slope 5815371847733706829839455140374904832.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=79dcc4e55a61c293c5e19edbd8d65b202842579f, stripped\012- data - + Note how the type 1 AppImage is described as an ISO 9660 CD-ROM diff --git a/doc/functions/dockertools.xml b/doc/functions/dockertools.xml index e95ce1979de..3e9281557d5 100644 --- a/doc/functions/dockertools.xml +++ b/doc/functions/dockertools.xml @@ -480,9 +480,9 @@ pullImage { nix-prefetch-docker command can be used to get required image parameters: - -$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5 - + +$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5 + Since a given imageName may transparently refer to a manifest list of images which support multiple architectures and/or @@ -491,17 +491,17 @@ $ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql By default it will match the OS and architecture of the host the command is run on. - -$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux - + +$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux + Desired image name and tag can be set using and arguments: - -$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod - + +$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod + @@ -537,7 +537,7 @@ exportImage { name = someLayeredImage.name; } - + diff --git a/doc/functions/prefer-remote-fetch.xml b/doc/functions/prefer-remote-fetch.xml index 2ccad921806..3e43fd28ade 100644 --- a/doc/functions/prefer-remote-fetch.xml +++ b/doc/functions/prefer-remote-fetch.xml @@ -10,16 +10,16 @@ upload while the builder can fetch faster directly from the source. To use it, put the following snippet as a new overlay: - self: super: - (super.prefer-remote-fetch self super) - +self: super: + (super.prefer-remote-fetch self super) + A full configuration example for that sets the overlay up for your own account, could look like this - - $ mkdir ~/.config/nixpkgs/overlays/ - $ cat > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix <<EOF - self: super: super.prefer-remote-fetch self super - EOF - + +$ mkdir ~/.config/nixpkgs/overlays/ +$ cat > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix <<EOF + self: super: super.prefer-remote-fetch self super +EOF + diff --git a/doc/functions/trivial-builders.xml b/doc/functions/trivial-builders.xml index 1fd92ecfe26..0211a4f3172 100644 --- a/doc/functions/trivial-builders.xml +++ b/doc/functions/trivial-builders.xml @@ -35,25 +35,25 @@ An example of using runCommand is provided below. - (import <nixpkgs> {}).runCommand "my-example" {} '' - echo My example command is running +(import <nixpkgs> {}).runCommand "my-example" {} '' + echo My example command is running - mkdir $out + mkdir $out - echo I can write data to the Nix store > $out/message + echo I can write data to the Nix store > $out/message - echo I can also run basic commands like: + echo I can also run basic commands like: - echo ls - ls + echo ls + ls - echo whoami - whoami + echo whoami + whoami - echo date - date - '' - + echo date + date +'' + diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml index ac7a83ed426..dee7f2d7419 100644 --- a/doc/languages-frameworks/beam.xml +++ b/doc/languages-frameworks/beam.xml @@ -131,8 +131,8 @@ in beamPackages, use the following command: - -$ nix-env -f "<nixpkgs>" -qaP -A beamPackages + +$ nix-env -f "<nixpkgs>" -qaP -A beamPackages beamPackages.esqlite esqlite-0.2.1 beamPackages.goldrush goldrush-0.1.7 beamPackages.ibrowse ibrowse-4.2.2 @@ -140,16 +140,16 @@ beamPackages.jiffy jiffy-0.14.5 beamPackages.lager lager-3.0.2 beamPackages.meck meck-0.8.3 beamPackages.rebar3-pc pc-1.1.0 - + To install any of those packages into your profile, refer to them by their attribute path (first column): - -$ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - + +$ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse + The attribute path of any BEAM package corresponds to the name of that @@ -178,22 +178,22 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }: +{ stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }: - buildRebar3 rec { - name = "hex2nix"; - version = "0.0.1"; +buildRebar3 rec { + name = "hex2nix"; + version = "0.0.1"; - src = fetchFromGitHub { - owner = "ericbmerritt"; - repo = "hex2nix"; - rev = "${version}"; - sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg"; - }; + src = fetchFromGitHub { + owner = "ericbmerritt"; + repo = "hex2nix"; + rev = "${version}"; + sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg"; + }; - beamDeps = [ ibrowse jsx erlware_commons ]; - } - + beamDeps = [ ibrowse jsx erlware_commons ]; +} + Such derivations are callable with @@ -228,29 +228,29 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { buildErlangMk, fetchHex, cowlib, ranch }: +{ buildErlangMk, fetchHex, cowlib, ranch }: - buildErlangMk { - name = "cowboy"; - version = "1.0.4"; +buildErlangMk { + name = "cowboy"; + version = "1.0.4"; - src = fetchHex { - pkg = "cowboy"; - version = "1.0.4"; - sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; - }; + src = fetchHex { + pkg = "cowboy"; + version = "1.0.4"; + sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; + }; - beamDeps = [ cowlib ranch ]; + beamDeps = [ cowlib ranch ]; - meta = { - description = '' - Small, fast, modular HTTP server written in Erlang - ''; - license = stdenv.lib.licenses.isc; - homepage = https://github.com/ninenines/cowboy; - }; - } - + meta = { + description = '' + Small, fast, modular HTTP server written in Erlang + ''; + license = stdenv.lib.licenses.isc; + homepage = https://github.com/ninenines/cowboy; + }; +} +
@@ -262,56 +262,56 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { buildMix, fetchHex, plug, absinthe }: +{ buildMix, fetchHex, plug, absinthe }: - buildMix { - name = "absinthe_plug"; - version = "1.0.0"; +buildMix { + name = "absinthe_plug"; + version = "1.0.0"; - src = fetchHex { - pkg = "absinthe_plug"; - version = "1.0.0"; - sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; - }; + src = fetchHex { + pkg = "absinthe_plug"; + version = "1.0.0"; + sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; + }; - beamDeps = [ plug absinthe ]; + beamDeps = [ plug absinthe ]; - meta = { - description = '' - A plug for Absinthe, an experimental GraphQL toolkit - ''; - license = stdenv.lib.licenses.bsd3; - homepage = https://github.com/CargoSense/absinthe_plug; - }; - } - + meta = { + description = '' + A plug for Absinthe, an experimental GraphQL toolkit + ''; + license = stdenv.lib.licenses.bsd3; + homepage = https://github.com/CargoSense/absinthe_plug; + }; +} + Alternatively, we can use buildHex as a shortcut: - { buildHex, buildMix, plug, absinthe }: +{ buildHex, buildMix, plug, absinthe }: - buildHex { - name = "absinthe_plug"; - version = "1.0.0"; +buildHex { + name = "absinthe_plug"; + version = "1.0.0"; - sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; + sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; - builder = buildMix; + builder = buildMix; - beamDeps = [ plug absinthe ]; + beamDeps = [ plug absinthe ]; - meta = { - description = '' - A plug for Absinthe, an experimental GraphQL toolkit - ''; - license = stdenv.lib.licenses.bsd3; - homepage = https://github.com/CargoSense/absinthe_plug; - }; - } - + meta = { + description = '' + A plug for Absinthe, an experimental GraphQL toolkit + ''; + license = stdenv.lib.licenses.bsd3; + homepage = https://github.com/CargoSense/absinthe_plug; + }; +} +
@@ -330,47 +330,47 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse could do the following: - - $ nix-shell -A beamPackages.ibrowse.env --run "erl" - Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] + +$ nix-shell -A beamPackages.ibrowse.env --run "erl" +Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] - Eshell V7.0 (abort with ^G) - 1> m(ibrowse). - Module: ibrowse - MD5: 3b3e0137d0cbb28070146978a3392945 - Compiled: January 10 2016, 23:34 - Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam - Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"}, - debug_info,debug_info,nowarn_shadow_vars, - warn_unused_import,warn_unused_vars,warnings_as_errors, - {i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}] - Exports: - add_config/1 send_req_direct/7 - all_trace_off/0 set_dest/3 - code_change/3 set_max_attempts/3 - get_config_value/1 set_max_pipeline_size/3 - get_config_value/2 set_max_sessions/3 - get_metrics/0 show_dest_status/0 - get_metrics/2 show_dest_status/1 - handle_call/3 show_dest_status/2 - handle_cast/2 spawn_link_worker_process/1 - handle_info/2 spawn_link_worker_process/2 - init/1 spawn_worker_process/1 - module_info/0 spawn_worker_process/2 - module_info/1 start/0 - rescan_config/0 start_link/0 - rescan_config/1 stop/0 - send_req/3 stop_worker_process/1 - send_req/4 stream_close/1 - send_req/5 stream_next/1 - send_req/6 terminate/2 - send_req_direct/4 trace_off/0 - send_req_direct/5 trace_off/2 - send_req_direct/6 trace_on/0 - trace_on/2 - ok - 2> - +Eshell V7.0 (abort with ^G) +1> m(ibrowse). +Module: ibrowse +MD5: 3b3e0137d0cbb28070146978a3392945 +Compiled: January 10 2016, 23:34 +Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam +Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"}, +debug_info,debug_info,nowarn_shadow_vars, +warn_unused_import,warn_unused_vars,warnings_as_errors, +{i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}] +Exports: +add_config/1 send_req_direct/7 +all_trace_off/0 set_dest/3 +code_change/3 set_max_attempts/3 +get_config_value/1 set_max_pipeline_size/3 +get_config_value/2 set_max_sessions/3 +get_metrics/0 show_dest_status/0 +get_metrics/2 show_dest_status/1 +handle_call/3 show_dest_status/2 +handle_cast/2 spawn_link_worker_process/1 +handle_info/2 spawn_link_worker_process/2 +init/1 spawn_worker_process/1 +module_info/0 spawn_worker_process/2 +module_info/1 start/0 +rescan_config/0 start_link/0 +rescan_config/1 stop/0 +send_req/3 stop_worker_process/1 +send_req/4 stream_close/1 +send_req/5 stream_next/1 +send_req/6 terminate/2 +send_req_direct/4 trace_off/0 +send_req_direct/5 trace_off/2 +send_req_direct/6 trace_on/0 +trace_on/2 +ok +2> + Notice the -A beamPackages.ibrowse.env. That is the key @@ -408,7 +408,7 @@ let in drv - +
Building in a Shell (for Mix Projects) @@ -474,7 +474,7 @@ plt: analyze: build plt $(NIX_SHELL) --run "mix dialyzer --no-compile" - + Using a shell.nix as described (see @@ -513,9 +513,9 @@ analyze: build plt nixpkgs repository: - -$ nix-build -A beamPackages - + +$ nix-build -A beamPackages + That will attempt to build every package in beamPackages. diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml index 6f6e7925a1b..b2b4962cb5f 100644 --- a/doc/languages-frameworks/go.xml +++ b/doc/languages-frameworks/go.xml @@ -218,12 +218,12 @@ deis = buildGoPackage rec { bin includes program binaries. You can test build a Go binary as follows: - $ nix-build -A deis.bin - +$ nix-build -A deis.bin + or build all outputs with: - $ nix-build -A deis.all - +$ nix-build -A deis.all + bin output will be installed by default with nix-env -i or systemPackages. diff --git a/doc/languages-frameworks/java.xml b/doc/languages-frameworks/java.xml index 667a795a8d3..287f63e685c 100644 --- a/doc/languages-frameworks/java.xml +++ b/doc/languages-frameworks/java.xml @@ -68,7 +68,7 @@ installPhase = can be done in a generic fashion with the --set argument of makeWrapper: - --set JAVA_HOME ${jdk.home} +--set JAVA_HOME ${jdk.home} diff --git a/doc/languages-frameworks/lua.xml b/doc/languages-frameworks/lua.xml index 21014029996..5144bb24ff6 100644 --- a/doc/languages-frameworks/lua.xml +++ b/doc/languages-frameworks/lua.xml @@ -29,7 +29,7 @@ fileSystem = buildLuaPackage { maintainers = with maintainers; [ flosse ]; }; }; - + diff --git a/doc/languages-frameworks/ocaml.xml b/doc/languages-frameworks/ocaml.xml index 0deadf2edd0..b7006ecba99 100644 --- a/doc/languages-frameworks/ocaml.xml +++ b/doc/languages-frameworks/ocaml.xml @@ -62,7 +62,7 @@ buildDunePackage rec { maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; }; } - + Here is a second example, this time using a source archive generated with @@ -93,5 +93,5 @@ buildDunePackage rec { maintainers = [ maintainers.eqyiel ]; }; } - +
diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml index a675e666586..d0f124f29d4 100644 --- a/doc/languages-frameworks/perl.xml +++ b/doc/languages-frameworks/perl.xml @@ -47,13 +47,13 @@ foo = import ../path/to/foo.nix { in all-packages.nix. You can test building a Perl package as follows: -$ nix-build -A perlPackages.ClassC3 +$ nix-build -A perlPackages.ClassC3 buildPerlPackage adds perl- to the start of the name attribute, so the package above is actually called perl-Class-C3-0.21. So to install it, you can say: -$ nix-env -i perl-Class-C3 +$ nix-env -i perl-Class-C3 (Of course you can also install using the attribute name: nix-env -i -A perlPackages.ClassC3.) @@ -148,7 +148,7 @@ ClassC3Componentised = buildPerlPackage rec {
-$ nix-env -i nix-generate-from-cpan +$ nix-env -i nix-generate-from-cpan @@ -156,7 +156,7 @@ $ nix-env -i nix-generate-from-cpan unpacks the corresponding package, and prints a Nix expression on standard output. For example: -$ nix-generate-from-cpan XML::Simple +$ nix-generate-from-cpan XML::Simple XMLSimple = buildPerlPackage rec { name = "XML-Simple-2.22"; src = fetchurl { diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml index 5792a16963a..97f274933be 100644 --- a/doc/languages-frameworks/texlive.xml +++ b/doc/languages-frameworks/texlive.xml @@ -26,7 +26,7 @@ texlive.combine { inherit (texlive) scheme-small collection-langkorean algorithms cm-super; } - + There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences). @@ -44,7 +44,7 @@ texlive.combine { # elem tlType [ "run" "bin" "doc" "source" ] # there are also other attributes: version, name } - + diff --git a/doc/meta.xml b/doc/meta.xml index ccbc812a862..22fb433a1d1 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -30,7 +30,7 @@ meta = with stdenv.lib; { The meta-attributes of a package can be queried from the command-line using nix-env: -$ nix-env -qa hello --json +$ nix-env -qa hello --json { "hello": { "meta": { @@ -70,7 +70,7 @@ $ nix-env -qa hello --json nix-env knows about the description field specifically: -$ nix-env -qa hello --description +$ nix-env -qa hello --description hello-2.3 A program that produces a familiar, friendly greeting diff --git a/doc/package-notes.xml b/doc/package-notes.xml index 29b6b2420b5..2b7b4b9bc51 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -92,9 +92,9 @@ modulesTree = [kernel] If needed you can also run make menuconfig: -$ nix-env -i ncurses -$ export NIX_CFLAGS_LINK=-lncurses -$ make menuconfig ARCH=arch +$ nix-env -i ncurses +$ export NIX_CFLAGS_LINK=-lncurses +$ make menuconfig ARCH=arch @@ -142,8 +142,8 @@ $ make menuconfig ARCH=arch The generator is invoked as follows: -$ cd pkgs/servers/x11/xorg -$ cat tarballs-7.5.list extra.list old.list \ +$ cd pkgs/servers/x11/xorg +$ cat tarballs-7.5.list extra.list old.list \ | perl ./generate-expr-from-tarballs.pl For each of the tarballs in the .list files, the script @@ -160,8 +160,8 @@ $ cat tarballs-7.5.list extra.list old.list \ A file like tarballs-7.5.list contains all tarballs in a X.org release. It can be generated like this: -$ export i="mirror://xorg/X11R7.4/src/everything/" -$ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ +$ export i="mirror://xorg/X11R7.4/src/everything/" +$ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ | perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \ | sort > tarballs-7.4.list @@ -210,7 +210,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ often available. It is possible to list available Eclipse packages by issuing the command: -$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description +$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description Once an Eclipse variant is installed it can be run using the eclipse command, as expected. From within Eclipse it is @@ -250,7 +250,7 @@ packageOverrides = pkgs: { available for installation using eclipseWithPlugins by running -$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description +$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description diff --git a/doc/platform-notes.xml b/doc/platform-notes.xml index b75b50dbb96..157d3fe2fcd 100644 --- a/doc/platform-notes.xml +++ b/doc/platform-notes.xml @@ -20,14 +20,14 @@ scripts. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - buildPhase = '' - $CC -o hello hello.c - ''; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + buildPhase = '' + $CC -o hello hello.c + ''; +} + @@ -39,12 +39,12 @@ fixupPhase. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - makeFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + makeFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; +} + @@ -62,19 +62,19 @@ 1 manpage. - dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib - Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq - Reason: image not found - ./tests/jqtest: line 5: 75779 Abort trap: 6 - +dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib +Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq +Reason: image not found +./tests/jqtest: line 5: 75779 Abort trap: 6 + - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - doInstallCheck = true; - installCheckTarget = "check"; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + doInstallCheck = true; + installCheckTarget = "check"; +} + @@ -85,15 +85,15 @@ on xcode. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - prePatch = '' - substituteInPlace Makefile \ - --replace '/usr/bin/xcrun clang' clang - ''; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + prePatch = '' + substituteInPlace Makefile \ + --replace '/usr/bin/xcrun clang' clang + ''; +} + The package xcbuild can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 86c17ca4e9f..4f0952896e4 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -9,8 +9,8 @@ Checkout the Nixpkgs source tree: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs @@ -23,7 +23,7 @@ $ cd nixpkgs See for some hints on the tree organisation. Create a directory for your package, e.g. -$ mkdir pkgs/development/libraries/libfoo +$ mkdir pkgs/development/libraries/libfoo @@ -34,8 +34,8 @@ $ mkdir pkgs/development/libraries/libfoo as arguments, and returns a build of the package in the Nix store. The expression should usually be called default.nix. -$ emacs pkgs/development/libraries/libfoo/default.nix -$ git add pkgs/development/libraries/libfoo/default.nix +$ emacs pkgs/development/libraries/libfoo/default.nix +$ git add pkgs/development/libraries/libfoo/default.nix You can have a look at the existing Nix expressions under @@ -180,7 +180,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix with some descriptive name for the variable, e.g. libfoo. -$ emacs pkgs/top-level/all-packages.nix +$ emacs pkgs/top-level/all-packages.nix The attributes in that file are sorted by category (like “Development / @@ -193,7 +193,7 @@ $ emacs pkgs/top-level/all-packages.nix To test whether the package builds, run the following command from the root of the nixpkgs source tree: -$ nix-build -A libfoo +$ nix-build -A libfoo where libfoo should be the variable name defined in the previous step. You may want to add the flag to keep the temporary build directory in case something fails. If the build @@ -205,7 +205,7 @@ $ nix-build -A libfoo If you want to install the package into your profile (optional), do -$ nix-env -f . -iA libfoo +$ nix-env -f . -iA libfoo diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml index 6e3b6face3a..5aa950625ef 100644 --- a/doc/reviewing-contributions.xml +++ b/doc/reviewing-contributions.xml @@ -153,11 +153,11 @@ nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone. -$ git remote add channels https://github.com/NixOS/nixpkgs-channels.git $ git remote add channels https://github.com/NixOS/nixpkgs-channels.git -$ git fetch channels nixos-unstable -$ git fetch origin pull/PRNUMBER/head -$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD $ git fetch channels nixos-unstable +$ git fetch origin pull/PRNUMBER/head +$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD @@ -197,7 +197,7 @@ $ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD -$ nix-shell -p nix-review --run "nix-review pr PRNUMBER" +$ nix-shell -p nix-review --run "nix-review pr PRNUMBER" diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 2447dc45130..dbffdad9fde 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -343,7 +343,7 @@ let f(h, t, i) = i + (if i <= 0 then h else t - 1) let f(h, h + 1, i) = i + (if i <= 0 then h else (h + 1) - 1) let f(h, h + 1, i) = i + (if i <= 0 then h else h) let f(h, h + 1, i) = i + h - + This is where "sum-like" comes in from above: We can just sum all of the host offsets to get the host offset of the transitive dependency. The target offset is the transitive dependency is simply the host offset + 1, just as @@ -2229,7 +2229,7 @@ someVar=$(stripHash $name) array by doing something like addEnvHooks "$hostOffset" myBashFunction - + @@ -2667,8 +2667,8 @@ addEnvHooks "$hostOffset" myBashFunction that is supposed to be inspected, add breakpointHook to nativeBuildInputs. - nativeBuildInputs = [ breakpointHook ]; - +nativeBuildInputs = [ breakpointHook ]; + When a build failure happens there will be an instruction printed that shows how to attach with cntr to the build sandbox. @@ -2863,7 +2863,7 @@ addEnvHooks "$hostOffset" myBashFunction printf(help_message); ^ cc1plus: some warnings being treated as errors - +
@@ -2885,7 +2885,7 @@ cc1plus: some warnings being treated as errors bin/blib.a(bios_console.o): In function `bios_handle_cup': /tmp/nix-build-ipxe-20141124-5cbdc41.drv-0/ipxe-5cbdc41/src/arch/i386/firmware/pcbios/bios_console.c:86: undefined reference to `__stack_chk_fail' - + @@ -2914,19 +2914,19 @@ bin/blib.a(bios_console.o): In function `bios_handle_cup': malloc.c:404:15: error: return type is an incomplete type malloc.c:410:19: error: storage size of 'ms' isn't known - + strdup.h:22:1: error: expected identifier or '(' before '__extension__' - + strsep.c:65:23: error: register name not specified for 'delim' - + installwatch.c:3751:5: error: conflicting types for '__open_2' - + fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments - + @@ -2951,7 +2951,7 @@ fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute erro ccbLfRgg.s: Assembler messages: ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_len@GOTOFF' - + @@ -3015,7 +3015,7 @@ ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_le intel_drv.so: undefined symbol: vgaHWFreeHWRec - + diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml index bc090fd757c..a04ec08b048 100644 --- a/doc/submitting-changes.xml +++ b/doc/submitting-changes.xml @@ -36,8 +36,8 @@ -$ git checkout 0998212 -$ git checkout -b 'fix/pkg-name-update' +$ git checkout 0998212 +$ git checkout -b 'fix/pkg-name-update' @@ -514,7 +514,7 @@ The original commit message describing the reason why the world was torn apart. (cherry picked from commit abcdef) Reason: I just had a gut feeling that this would also be wanted by people from the stone age. - + diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml index f078b8c3ba3..526803e429b 100644 --- a/nixos/doc/manual/administration/cleaning-store.xml +++ b/nixos/doc/manual/administration/cleaning-store.xml @@ -11,12 +11,12 @@ Nix’s garbage collector to remove old, unreferenced packages. This is easy: -$ nix-collect-garbage +$ nix-collect-garbage Alternatively, you can use a systemd unit that does the same in the background: -# systemctl start nix-gc.service +# systemctl start nix-gc.service You can tell NixOS in configuration.nix to run this unit automatically at certain points in time, for instance, every night at 03:15: @@ -31,11 +31,11 @@ $ nix-collect-garbage configurations. The following command deletes old roots, removing the ability to roll back to them: -$ nix-collect-garbage -d +$ nix-collect-garbage -d You can also do this for specific profiles, e.g. -$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old +$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old Note that NixOS system configurations are stored in the profile /nix/var/nix/profiles/system. @@ -45,7 +45,7 @@ $ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations o Nix store) is to run Nix’s store optimiser, which seeks out identical files in the store and replaces them with hard links to a single copy. -$ nix-store --optimise +$ nix-store --optimise Since this command needs to read the entire Nix store, it can take quite a while to finish. diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml index 2ee8bfdd50f..42486f01fe8 100644 --- a/nixos/doc/manual/administration/container-networking.xml +++ b/nixos/doc/manual/administration/container-networking.xml @@ -11,10 +11,10 @@ 10.233.0.0/16. You can get the container’s IPv4 address as follows: -# nixos-container show-ip foo +# nixos-container show-ip foo 10.233.4.2 -$ ping -c1 10.233.4.2 +$ ping -c1 10.233.4.2 64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml index bb8b7f83d9e..16d03cc0d1a 100644 --- a/nixos/doc/manual/administration/control-groups.xml +++ b/nixos/doc/manual/administration/control-groups.xml @@ -16,7 +16,7 @@ systemd hierarchy, which is what systemd uses to keep track of the processes belonging to each service or user session: -$ systemd-cgls +$ systemd-cgls ├─user │ └─eelco │ └─c1 diff --git a/nixos/doc/manual/administration/logging.xml b/nixos/doc/manual/administration/logging.xml index a41936b373d..da4877fcdf0 100644 --- a/nixos/doc/manual/administration/logging.xml +++ b/nixos/doc/manual/administration/logging.xml @@ -11,14 +11,14 @@ The command journalctl allows you to see the contents of the journal. For example, -$ journalctl -b +$ journalctl -b shows all journal entries since the last reboot. (The output of journalctl is piped into less by default.) You can use various options and match operators to restrict output to messages of interest. For instance, to get all messages from PostgreSQL: -$ journalctl -u postgresql.service +$ journalctl -u postgresql.service -- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- ... Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down @@ -29,7 +29,7 @@ Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to Or to get all messages since the last reboot that have at least a “critical” severity level: -$ journalctl -b -p crit +$ journalctl -b -p crit Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) diff --git a/nixos/doc/manual/administration/rollback.xml b/nixos/doc/manual/administration/rollback.xml index 07c6acaa469..fb87810ba46 100644 --- a/nixos/doc/manual/administration/rollback.xml +++ b/nixos/doc/manual/administration/rollback.xml @@ -33,7 +33,7 @@ where N is the number of the NixOS system configuration. To get a list of the available configurations, do: -$ ls -l /nix/var/nix/profiles/system-*-link +$ ls -l /nix/var/nix/profiles/system-*-link ... lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 diff --git a/nixos/doc/manual/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml index 0c2085c8155..1b9c745eb59 100644 --- a/nixos/doc/manual/administration/service-mgmt.xml +++ b/nixos/doc/manual/administration/service-mgmt.xml @@ -21,7 +21,7 @@ systemd. Without any arguments, it shows the status of active units: -$ systemctl +$ systemctl -.mount loaded active mounted / swapfile.swap loaded active active /swapfile sshd.service loaded active running SSH Daemon @@ -33,7 +33,7 @@ graphical.target loaded active active Graphical Interface You can ask for detailed status information about a unit, for instance, the PostgreSQL database service: -$ systemctl status postgresql.service +$ systemctl status postgresql.service postgresql.service - PostgreSQL Server Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago diff --git a/nixos/doc/manual/administration/store-corruption.xml b/nixos/doc/manual/administration/store-corruption.xml index a4ca3b651e2..b9d11152d5e 100644 --- a/nixos/doc/manual/administration/store-corruption.xml +++ b/nixos/doc/manual/administration/store-corruption.xml @@ -18,7 +18,7 @@ If the corruption is in a path in the closure of the NixOS system configuration, you can fix it by doing -# nixos-rebuild switch --repair +# nixos-rebuild switch --repair This will cause Nix to check every path in the closure, and if its cryptographic hash differs from the hash recorded in Nix’s database, the @@ -28,7 +28,7 @@ You can also scan the entire Nix store for corrupt paths: -# nix-store --verify --check-contents --repair +# nix-store --verify --check-contents --repair Any corrupt paths will be redownloaded if they’re available in a binary cache; otherwise, they cannot be repaired. diff --git a/nixos/doc/manual/administration/user-sessions.xml b/nixos/doc/manual/administration/user-sessions.xml index 1d95cfb22b6..80daf6bdbff 100644 --- a/nixos/doc/manual/administration/user-sessions.xml +++ b/nixos/doc/manual/administration/user-sessions.xml @@ -10,7 +10,7 @@ allows querying and manipulating user sessions. For instance, to list all user sessions: -$ loginctl +$ loginctl SESSION UID USER SEAT c1 500 eelco seat0 c3 0 root seat0 @@ -21,7 +21,7 @@ $ loginctl devices attached to the system; usually, there is only one seat.) To get information about a session: -$ loginctl session-status c3 +$ loginctl session-status c3 c3 - root (0) Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago Leader: 2536 (login) diff --git a/nixos/doc/manual/configuration/ad-hoc-packages.xml b/nixos/doc/manual/configuration/ad-hoc-packages.xml index 19159d8db5b..c7e882d846f 100644 --- a/nixos/doc/manual/configuration/ad-hoc-packages.xml +++ b/nixos/doc/manual/configuration/ad-hoc-packages.xml @@ -9,7 +9,7 @@ With the command nix-env, you can install and uninstall packages from the command line. For instance, to install Mozilla Thunderbird: -$ nix-env -iA nixos.thunderbird +$ nix-env -iA nixos.thunderbird If you invoke this as root, the package is installed in the Nix profile /nix/var/nix/profiles/default and visible to all users of the system; otherwise, the package ends up in @@ -25,7 +25,7 @@ $ nix-env -iA nixos.thunderbird Packages come from the NixOS channel. You typically upgrade a package by updating to the latest version of the NixOS channel: -$ nix-channel --update nixos +$ nix-channel --update nixos and then running nix-env -i again. Other packages in the profile are not affected; this is the crucial difference @@ -34,21 +34,21 @@ $ nix-channel --update nixos their current versions in the NixOS channel. You can however upgrade all packages for which there is a newer version by doing: -$ nix-env -u '*' +$ nix-env -u '*' A package can be uninstalled using the flag: -$ nix-env -e thunderbird +$ nix-env -e thunderbird Finally, you can roll back an undesirable nix-env action: -$ nix-env --rollback +$ nix-env --rollback diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml index cdcfa10b820..182641055e4 100644 --- a/nixos/doc/manual/configuration/adding-custom-packages.xml +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -14,8 +14,8 @@ xlink:href="http://nixos.org/nixpkgs/manual">Nixpkgs manual. In short, you clone Nixpkgs: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs Then you write and test the package as described in the Nixpkgs manual. Finally, you add it to environment.systemPackages, e.g. @@ -65,8 +65,8 @@ stdenv.mkDerivation rec { This allows testing the package easily: -$ nix-build my-hello.nix -$ ./result/bin/hello +$ nix-build my-hello.nix +$ ./result/bin/hello Hello, world! diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml index c9acbefea60..5fb3bcb9f8f 100644 --- a/nixos/doc/manual/configuration/declarative-packages.xml +++ b/nixos/doc/manual/configuration/declarative-packages.xml @@ -22,7 +22,7 @@ You can get a list of the available packages as follows: -$ nix-env -qaP '*' --description +$ nix-env -qaP '*' --description nixos.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded ... diff --git a/nixos/doc/manual/configuration/matrix.xml b/nixos/doc/manual/configuration/matrix.xml index 66965460a15..4c559a71e81 100644 --- a/nixos/doc/manual/configuration/matrix.xml +++ b/nixos/doc/manual/configuration/matrix.xml @@ -33,91 +33,91 @@ installation instructions of Synapse . +let + fqdn = let - fqdn = - let - join = hostName: domain: hostName + optionalString (domain != null) ".${domain}"; - in join config.networking.hostName config.networking.domain; - in { - networking = { - hostName = "myhostname"; - domain = "example.org"; - }; - networking.firewall.allowedTCPPorts = [ 80 443 ]; + join = hostName: domain: hostName + optionalString (domain != null) ".${domain}"; + in join config.networking.hostName config.networking.domain; +in { + networking = { + hostName = "myhostname"; + domain = "example.org"; + }; + networking.firewall.allowedTCPPorts = [ 80 443 ]; - services.nginx = { - enable = true; - # only recommendedProxySettings and recommendedGzipSettings are strictly required, - # but the rest make sense as well - recommendedTlsSettings = true; - recommendedOptimisation = true; - recommendedGzipSettings = true; - recommendedProxySettings = true; + services.nginx = { + enable = true; + # only recommendedProxySettings and recommendedGzipSettings are strictly required, + # but the rest make sense as well + recommendedTlsSettings = true; + recommendedOptimisation = true; + recommendedGzipSettings = true; + recommendedProxySettings = true; - virtualHosts = { - # This host section can be placed on a different host than the rest, - # i.e. to delegate from the host being accessible as ${config.networking.domain} - # to another host actually running the Matrix homeserver. - "${config.networking.domain}" = { - locations."= /.well-known/matrix/server".extraConfig = - let - # use 443 instead of the default 8448 port to unite - # the client-server and server-server port for simplicity - server = { "m.server" = "${fqdn}:443"; }; - in '' - add_header Content-Type application/json; - return 200 '${builtins.toJSON server}'; - ''; - locations."= /.well-known/matrix/client".extraConfig = - let - client = { - "m.homeserver" = { "base_url" = "https://${fqdn}"; }; - "m.identity_server" = { "base_url" = "https://vector.im"; }; - }; - # ACAO required to allow riot-web on any URL to request this json file - in '' - add_header Content-Type application/json; - add_header Access-Control-Allow-Origin *; - return 200 '${builtins.toJSON client}'; - ''; - }; - - # Reverse proxy for Matrix client-server and server-server communication - ${fqdn} = { - enableACME = true; - forceSSL = true; - - # Or do a redirect instead of the 404, or whatever is appropriate for you. - # But do not put a Matrix Web client here! See the Riot Web section below. - locations."/".extraConfig = '' - return 404; - ''; - - # forward all Matrix API calls to the synapse Matrix homeserver - locations."/_matrix" = { - proxyPass = "http://[::1]:8008"; + virtualHosts = { + # This host section can be placed on a different host than the rest, + # i.e. to delegate from the host being accessible as ${config.networking.domain} + # to another host actually running the Matrix homeserver. + "${config.networking.domain}" = { + locations."= /.well-known/matrix/server".extraConfig = + let + # use 443 instead of the default 8448 port to unite + # the client-server and server-server port for simplicity + server = { "m.server" = "${fqdn}:443"; }; + in '' + add_header Content-Type application/json; + return 200 '${builtins.toJSON server}'; + ''; + locations."= /.well-known/matrix/client".extraConfig = + let + client = { + "m.homeserver" = { "base_url" = "https://${fqdn}"; }; + "m.identity_server" = { "base_url" = "https://vector.im"; }; }; - }; + # ACAO required to allow riot-web on any URL to request this json file + in '' + add_header Content-Type application/json; + add_header Access-Control-Allow-Origin *; + return 200 '${builtins.toJSON client}'; + ''; + }; + + # Reverse proxy for Matrix client-server and server-server communication + ${fqdn} = { + enableACME = true; + forceSSL = true; + + # Or do a redirect instead of the 404, or whatever is appropriate for you. + # But do not put a Matrix Web client here! See the Riot Web section below. + locations."/".extraConfig = '' + return 404; + ''; + + # forward all Matrix API calls to the synapse Matrix homeserver + locations."/_matrix" = { + proxyPass = "http://[::1]:8008"; }; }; - services.matrix-synapse = { - enable = true; - server_name = config.networking.domain; - listeners = [ - { - port = 8008; - bind_address = "::1"; - type = "http"; - tls = false; - x_forwarded = true; - resources = [ - { names = [ "client" "federation" ]; compress = false; } - ]; - } - ]; - }; }; - + }; + services.matrix-synapse = { + enable = true; + server_name = config.networking.domain; + listeners = [ + { + port = 8008; + bind_address = "::1"; + type = "http"; + tls = false; + x_forwarded = true; + resources = [ + { names = [ "client" "federation" ]; compress = false; } + ]; + } + ]; + }; +}; + @@ -141,15 +141,15 @@ . To create a new user or admin, run the following after you have set the secret and have rebuilt NixOS: - - $ nix run nixpkgs.matrix-synapse - $ register_new_matrix_user -k <your-registration-shared-secret> http://localhost:8008 - New user localpart: <your-username> - Password: - Confirm password: - Make admin [no]: - Success! - + +$ nix run nixpkgs.matrix-synapse +$ register_new_matrix_user -k your-registration-shared-secret http://localhost:8008 +New user localpart: your-username +Password: +Confirm password: +Make admin [no]: +Success! + In the example, this would create a user with the Matrix Identifier @your-username:example.org. Note that the registration secret ends up in the nix store and therefore is world-readable by any user @@ -177,16 +177,16 @@ Matrix Now! for a list of existing clients and their supported featureset. - services.nginx.virtualHosts."riot.${fqdn}" = { - enableACME = true; - forceSSL = true; - serverAliases = [ - "riot.${config.networking.domain}" - ]; +services.nginx.virtualHosts."riot.${fqdn}" = { + enableACME = true; + forceSSL = true; + serverAliases = [ + "riot.${config.networking.domain}" + ]; - root = pkgs.riot-web; - }; - + root = pkgs.riot-web; +}; + diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml index 724abd31ca4..7ad0ae80a48 100644 --- a/nixos/doc/manual/configuration/modularity.xml +++ b/nixos/doc/manual/configuration/modularity.xml @@ -106,21 +106,21 @@ The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc configuration option is. The command allows you to find out: -$ nixos-option +$ nixos-option true -$ nixos-option +$ nixos-option [ "tun" "ipv6" "loop" ... ] Interactive exploration of the configuration is possible using nix repl, a read-eval-print loop for Nix expressions. A typical use: -$ nix repl '<nixpkgs/nixos>' +$ nix repl '<nixpkgs/nixos>' -nix-repl> config. +nix-repl> config. "mandark" -nix-repl> map (x: x.hostName) config. +nix-repl> map (x: x.hostName) config. [ "example.org" "example.gov" ] @@ -129,17 +129,17 @@ nix-repl> map (x: x.hostName) config. +{ imports = [ (netConfig "nixos.localdomain") ]; } + diff --git a/nixos/doc/manual/configuration/profiles.xml b/nixos/doc/manual/configuration/profiles.xml index c0a8f55785f..9d08f7f7bed 100644 --- a/nixos/doc/manual/configuration/profiles.xml +++ b/nixos/doc/manual/configuration/profiles.xml @@ -16,7 +16,7 @@ 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. diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml index 66c1c6eb3a1..4b1710f3a2b 100644 --- a/nixos/doc/manual/configuration/user-mgmt.xml +++ b/nixos/doc/manual/configuration/user-mgmt.xml @@ -44,7 +44,7 @@ A user ID (uid) is assigned automatically. You can also specify a uid manually by adding - uid = 1000; +uid = 1000; to the user specification. diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml index 7c7b3b4a65a..9c0e3a8d7aa 100644 --- a/nixos/doc/manual/configuration/wireless.xml +++ b/nixos/doc/manual/configuration/wireless.xml @@ -37,7 +37,7 @@ If you are using WPA2 you can generate pskRaw key using wpa_passphrase: -$ wpa_passphrase ESSID PSK +$ wpa_passphrase ESSID PSK network={ ssid="echelon" #psk="abcdefgh" @@ -54,10 +54,10 @@ network={ or you can use it to directly generate the wpa_supplicant.conf: -# wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf +# wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf After you have edited the wpa_supplicant.conf, you need to restart the wpa_supplicant service. -# systemctl restart wpa_supplicant.service +# systemctl restart wpa_supplicant.service diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 77d5d963279..6ac99c6b2be 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -11,7 +11,7 @@ xfce.enable = true; default = "xfce"; }; - + Optionally, compton can be enabled for nice graphical @@ -24,7 +24,7 @@ shadow = true; fadeDelta = 4; }; - + Some Xfce programs are not installed automatically. To install them manually @@ -37,7 +37,7 @@ To enable Thunar volume support, put = true; - + into your configuration.nix. @@ -58,14 +58,14 @@ on start (look at journalctl --user -b). Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported - + This is caused by some needed GNOME services not running. This is all fixed by enabling "Launch GNOME services on startup" in the Advanced tab of the Session and Startup settings panel. Alternatively, you can run this command to do the same thing. -$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true - +$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true + A log-out and re-log will be needed for this to take effect. diff --git a/nixos/doc/manual/development/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml index 23d9ddf88a7..56a596baed0 100644 --- a/nixos/doc/manual/development/building-nixos.xml +++ b/nixos/doc/manual/development/building-nixos.xml @@ -14,14 +14,14 @@ Default CD/DVD configurations are available inside nixos/modules/installer/cd-dvd. -$ git clone https://github.com/NixOS/nixpkgs.git -$ cd nixpkgs/nixos -$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix +$ git clone https://github.com/NixOS/nixpkgs.git +$ cd nixpkgs/nixos +$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix Before burning your CD/DVD, you can check the content of the image by mounting anywhere like suggested by the following command: -# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso +# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml index b4791b72970..88369fb891b 100644 --- a/nixos/doc/manual/development/building-parts.xml +++ b/nixos/doc/manual/development/building-parts.xml @@ -8,8 +8,8 @@ With the command nix-build, you can build specific parts of your NixOS configuration. This is done as follows: -$ cd /path/to/nixpkgs/nixos -$ nix-build -A config.option +$ cd /path/to/nixpkgs/nixos +$ nix-build -A config.option where option is a NixOS option with type “derivation” (i.e. something that can be built). Attributes of interest include: @@ -28,7 +28,7 @@ $ nix-build -A config.option A shortcut to build this is: -$ nix-build -A system +$ nix-build -A system @@ -66,9 +66,9 @@ $ nix-build -A system test whether the kernel and the initial ramdisk boot correctly, by using QEMU’s and options: -$ nix-build -A config.system.build.initialRamdisk -o initrd -$ nix-build -A config.system.build.kernel -o kernel -$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null +$ nix-build -A config.system.build.initialRamdisk -o initrd +$ nix-build -A config.system.build.kernel -o kernel +$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null @@ -99,15 +99,15 @@ $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/ contain dots (e.g. httpd.service), you need to put them between quotes, like this: -$ nix-build -A 'config.systemd.units."httpd.service".unit' +$ nix-build -A 'config.systemd.units."httpd.service".unit' You can also test individual units, without rebuilding the whole system, by putting them in /run/systemd/system: -$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ +$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ /run/systemd/system/tmp-httpd.service -# systemctl daemon-reload -# systemctl start tmp-httpd.service +# systemctl daemon-reload +# systemctl start tmp-httpd.service Note that the unit must not have the same name as any unit in /etc/systemd/system since those take precedence over diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml index c15ad448317..e390d62fde2 100644 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml @@ -9,17 +9,17 @@ The test itself can be run interactively. This is particularly useful when developing or debugging a test: -$ nix-build nixos/tests/login.nix -A driver -$ ./result/bin/nixos-test-driver +$ nix-build nixos/tests/login.nix -A driver +$ ./result/bin/nixos-test-driver starting VDE switch for network 1 -> +> You can then take any Perl statement, e.g. -> startAll -> testScript -> $machine->succeed("touch /tmp/foo") -> print($machine->succeed("pwd")) # Show stdout of command +> startAll +> testScript +> $machine->succeed("touch /tmp/foo") +> print($machine->succeed("pwd")) # Show stdout of command The function testScript executes the entire test script and drops you back into the test driver command line upon its completion. @@ -30,8 +30,8 @@ starting VDE switch for network 1 To just start and experiment with the VMs, run: -$ nix-build nixos/tests/login.nix -A driver -$ ./result/bin/nixos-run-vms +$ nix-build nixos/tests/login.nix -A driver +$ ./result/bin/nixos-run-vms The script nixos-run-vms starts the virtual machines defined by test. diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml index eadbe1ea4f2..13ae1ed9369 100644 --- a/nixos/doc/manual/development/running-nixos-tests.xml +++ b/nixos/doc/manual/development/running-nixos-tests.xml @@ -12,12 +12,12 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix, you just do: -$ nix-build '<nixpkgs/nixos/tests/login.nix>' +$ nix-build '<nixpkgs/nixos/tests/login.nix>' or, if you don’t want to rely on NIX_PATH: -$ cd /my/nixpkgs/nixos/tests -$ nix-build login.nix +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix … running the VM test script machine: QEMU running (pid 8841) @@ -30,7 +30,7 @@ machine: QEMU running (pid 8841) fast, as no disk image needs to be created. Afterwards, you can view a pretty-printed log of the test: -$ firefox result/log.html +$ firefox result/log.html diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml index eec9b56b1c0..3c30c782746 100644 --- a/nixos/doc/manual/development/sources.xml +++ b/nixos/doc/manual/development/sources.xml @@ -11,10 +11,10 @@ modify NixOS, however, you should check out the latest sources from Git. This is as follows: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs -$ git remote add channels https://github.com/NixOS/nixpkgs-channels -$ git remote update channels +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs +$ git remote add channels https://github.com/NixOS/nixpkgs-channels +$ git remote update channels This will check out the latest Nixpkgs sources to ./nixpkgs the NixOS sources to @@ -32,23 +32,23 @@ $ git remote update channels not have caught up yet and you’ll have to rebuild everything from source. So you may want to create a local branch based on your current NixOS version: -$ nixos-version +$ nixos-version 17.09pre104379.6e0b727 (Hummingbird) -$ git checkout -b local 6e0b727 +$ git checkout -b local 6e0b727 Or, to base your local branch on the latest version available in a NixOS channel: -$ git remote update channels -$ git checkout -b local channels/nixos-17.03 +$ git remote update channels +$ git checkout -b local channels/nixos-17.03 (Replace nixos-17.03 with the name of the channel you want to use.) You can use git merge or git rebase to keep your local branch in sync with the channel, e.g. -$ git remote update channels -$ git merge channels/nixos-17.03 +$ git remote update channels +$ git merge channels/nixos-17.03 You can use git cherry-pick to copy commits from your local branch to the upstream branch. @@ -58,7 +58,7 @@ $ git merge channels/nixos-17.03 tell nixos-rebuild about them using the flag: -# nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs +# nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs @@ -67,7 +67,7 @@ $ git merge channels/nixos-17.03 /my/sources/nixpkgs, or change the default by adding a symlink in ~/.nix-defexpr: -$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs +$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs You may want to delete the symlink ~/.nix-defexpr/channels_root to prevent root’s NixOS diff --git a/nixos/doc/manual/development/testing-installer.xml b/nixos/doc/manual/development/testing-installer.xml index 63f5f3de7f4..902f995fbc1 100644 --- a/nixos/doc/manual/development/testing-installer.xml +++ b/nixos/doc/manual/development/testing-installer.xml @@ -8,15 +8,15 @@ Building, burning, and booting from an installation CD is rather tedious, so here is a quick way to see if the installer works properly: -# mount -t tmpfs none /mnt -# nixos-generate-config --root /mnt -$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-install -# ./result/bin/nixos-install +# mount -t tmpfs none /mnt +# nixos-generate-config --root /mnt +$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-install +# ./result/bin/nixos-install To start a login shell in the new NixOS installation in /mnt: -$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-enter -# ./result/bin/nixos-enter +$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-enter +# ./result/bin/nixos-enter diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml index 4a2615c9407..6be2d0a4d23 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.xml +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -397,9 +397,9 @@ startAll; - $machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager` - $machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` - +$machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager` +$machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` + @@ -410,10 +410,10 @@ startAll; To test user units declared by systemd.user.services the optional $user argument can be used: - $machine->start; - $machine->waitForX; - $machine->waitForUnit("xautolock.service", "x-session-user"); - +$machine->start; +$machine->waitForX; +$machine->waitForUnit("xautolock.service", "x-session-user"); + This applies to systemctl, getUnitInfo, waitForUnit, startJob and stopJob. diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml index 1a116ec0b65..b77d71389a9 100644 --- a/nixos/doc/manual/installation/changing-config.xml +++ b/nixos/doc/manual/installation/changing-config.xml @@ -9,7 +9,8 @@ changed something in that file, you should do -# nixos-rebuild switch +# nixos-rebuild switch + to build the new configuration, make it the default configuration for booting, and try to realise the configuration in the running system (e.g., by restarting system services). @@ -23,7 +24,8 @@ You can also do -# nixos-rebuild test +# nixos-rebuild test + to build the configuration and switch the running system to it, but without making it the boot default. So if (say) the configuration locks up your machine, you can just reboot to get back to a working configuration. @@ -31,7 +33,8 @@ There is also -# nixos-rebuild boot +# nixos-rebuild boot + to build the configuration and make it the boot default, but not switch to it now (so it will only take effect after the next reboot). @@ -39,7 +42,8 @@ You can make your configuration show up in a different submenu of the GRUB 2 boot screen by giving it a different profile name, e.g. -# nixos-rebuild switch -p test +# nixos-rebuild switch -p test + which causes the new configuration (and previous ones created using -p test) to show up in the GRUB submenu “NixOS - Profile 'test'”. This can be useful to separate test configurations from @@ -48,7 +52,8 @@ Finally, you can do -$ nixos-rebuild build +$ nixos-rebuild build + to build the configuration but nothing more. This is useful to see whether everything compiles cleanly. @@ -58,8 +63,8 @@ $ nixos-rebuild build virtual machine that contains the desired configuration. Just do -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm The VM does not have any data from your host system, so your existing user accounts and home directories will not be available unless you have set @@ -74,12 +79,12 @@ $ ./result/bin/run-*-vm guest. For instance, the following will forward host port 2222 to guest port 22 (SSH): -$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm allowing you to log in via SSH (assuming you have set the appropriate passwords or SSH authorized keys): -$ ssh -p 2222 localhost +$ ssh -p 2222 localhost diff --git a/nixos/doc/manual/installation/installing-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml index d1e49a2a159..8ed45899fd7 100644 --- a/nixos/doc/manual/installation/installing-from-other-distro.xml +++ b/nixos/doc/manual/installation/installing-from-other-distro.xml @@ -47,8 +47,8 @@ Short version: -$ curl https://nixos.org/nix/install | sh -$ . $HOME/.nix-profile/etc/profile.d/nix.sh # …or open a fresh shell +$ curl https://nixos.org/nix/install | sh +$ . $HOME/.nix-profile/etc/profile.d/nix.sh # …or open a fresh shell More details in the the nixpkgs channel by default. -$ nix-channel --list +$ nix-channel --list nixpkgs https://nixos.org/channels/nixpkgs-unstable As that channel gets released without running the NixOS tests, it will be safer to use the nixos-* channels instead: -$ nix-channel --add https://nixos.org/channels/nixos-version nixpkgs +$ nix-channel --add https://nixos.org/channels/nixos-version nixpkgs You may want to throw in a nix-channel --update for good measure. @@ -89,7 +89,7 @@ $ nix-channel --add https://nixos.org/channels/nixos-version -$ nix-env -iE "_: with import <nixpkgs/nixos> { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]" +$ nix-env -iE "_: with import <nixpkgs/nixos> { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]" @@ -116,7 +116,7 @@ $ nix-channel --add https://nixos.org/channels/nixos-version Generate your NixOS configuration: -$ sudo `which nixos-generate-config` --root /mnt +$ sudo `which nixos-generate-config` --root /mnt You'll probably want to edit the configuration files. Refer to the nixos-generate-config step in @@ -148,8 +148,8 @@ $ nix-channel --add https://nixos.org/channels/nixos-version -$ sudo groupadd -g 30000 nixbld -$ sudo useradd -u 30000 -g nixbld -G nixbld nixbld +$ sudo groupadd -g 30000 nixbld +$ sudo useradd -u 30000 -g nixbld -G nixbld nixbld @@ -161,7 +161,7 @@ $ sudo useradd -u 30000 -g nixbld -G nixbld nixbld existing systems without the help of a rescue USB drive or similar. -$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt +$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt Again, please refer to the nixos-install step in for more information. @@ -175,8 +175,8 @@ $ sudo useradd -u 30000 -g nixbld -G nixbld nixbld Optionally, you may want to clean up your non-NixOS distribution: -$ sudo userdel nixbld -$ sudo groupdel nixbld +$ sudo userdel nixbld +$ sudo groupdel nixbld If you do not wish to keep the Nix package manager installed either, run something like sudo rm -rv ~/.nix-* /nix and remove the @@ -193,7 +193,7 @@ $ sudo groupdel nixbld Generate your NixOS configuration: -$ sudo `which nixos-generate-config` --root / +$ sudo `which nixos-generate-config` --root / Note that this will place the generated configuration files in /etc/nixos. You'll probably want to edit the @@ -212,21 +212,21 @@ $ sudo groupdel nixbld users.users.root.initialHashedPassword = ""; - + Build the NixOS closure and install it in the system profile: -$ nix-env -p /nix/var/nix/profiles/system -f '<nixpkgs/nixos>' -I nixos-config=/etc/nixos/configuration.nix -iA system +$ nix-env -p /nix/var/nix/profiles/system -f '<nixpkgs/nixos>' -I nixos-config=/etc/nixos/configuration.nix -iA system Change ownership of the /nix tree to root (since your Nix install was probably single user): -$ sudo chown -R 0.0 /nix +$ sudo chown -R 0.0 /nix @@ -284,16 +284,16 @@ $ sudo groupdel nixbld Let's create the files: -$ sudo touch /etc/NIXOS -$ sudo touch /etc/NIXOS_LUSTRATE - +$ sudo touch /etc/NIXOS +$ sudo touch /etc/NIXOS_LUSTRATE + Let's also make sure the NixOS configuration files are kept once we reboot on NixOS: -$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE - +$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE + @@ -312,8 +312,9 @@ $ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE -$ sudo mv -v /boot /boot.bak && - sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot +$ sudo mv -v /boot /boot.bak && +sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot + Cross your fingers, reboot, hopefully you should get a NixOS prompt! diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml index c0372e8ebd9..83598635acc 100644 --- a/nixos/doc/manual/installation/installing-usb.xml +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -15,16 +15,16 @@ On macOS - -$ diskutil list + +$ diskutil list [..] /dev/diskN (external, physical): #: TYPE NAME SIZE IDENTIFIER [..] -$ diskutil unmountDisk diskN +$ diskutil unmountDisk diskN Unmount of all volumes on diskN was successful -$ sudo dd if=nix.iso of=/dev/rdiskN - +$ sudo dd if=nix.iso of=/dev/rdiskN + Using the 'raw' rdiskN device instead of diskN completes in minutes instead of hours. After dd completes, a GUI dialog "The disk you inserted was diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 9687c21a01e..742376378de 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -110,7 +110,7 @@ Create a GPT partition table. -# parted /dev/sda -- mklabel gpt +# parted /dev/sda -- mklabel gpt @@ -118,14 +118,14 @@ Add the root partition. This will fill the disk except for the end part, where the swap will live, and the space left in front (512MiB) which will be used by the boot partition. -# parted /dev/sda -- mkpart primary 512MiB -8GiB +# parted /dev/sda -- mkpart primary 512MiB -8GiB Next, add a swap partition. The size required will vary according to needs, here a 8GiB one is created. -# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -140,8 +140,8 @@ the ESP (EFI system partition) as its /boot partition. It uses the initially reserved 512MiB at the start of the disk. -# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB -# parted /dev/sda -- set 3 boot on +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB +# parted /dev/sda -- set 3 boot on @@ -172,21 +172,21 @@ Create a MBR partition table. -# parted /dev/sda -- mklabel msdos +# parted /dev/sda -- mklabel msdos Add the root partition. This will fill the the disk except for the end part, where the swap will live. -# parted /dev/sda -- mkpart primary 1MiB -8GiB +# parted /dev/sda -- mkpart primary 1MiB -8GiB Finally, add a swap partition. The size required will vary according to needs, here a 8GiB one is created. -# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -218,7 +218,7 @@ since this makes the file system configuration independent from device changes. For example: -# mkfs.ext4 -L nixos /dev/sda1 +# mkfs.ext4 -L nixos /dev/sda1 @@ -227,7 +227,7 @@ recommended to assign a label to the swap partition: . For example: -# mkswap -L swap /dev/sda2 +# mkswap -L swap /dev/sda2 @@ -242,7 +242,7 @@ it’s recommended to assign a label to the boot partition: . For example: -# mkfs.fat -F 32 -n boot /dev/sda3 +# mkfs.fat -F 32 -n boot /dev/sda3 @@ -273,7 +273,7 @@ Mount the target file system on which NixOS should be installed on /mnt, e.g. -# mount /dev/disk/by-label/nixos /mnt +# mount /dev/disk/by-label/nixos /mnt @@ -287,8 +287,8 @@ Mount the boot file system on /mnt/boot, e.g. -# mkdir -p /mnt/boot -# mount /dev/disk/by-label/boot /mnt/boot +# mkdir -p /mnt/boot +# mount /dev/disk/by-label/boot /mnt/boot @@ -303,7 +303,7 @@ the build actions that it may spawn) may need quite a bit of RAM, depending on your configuration. -# swapon /dev/sda2 +# swapon /dev/sda2 @@ -325,11 +325,11 @@ The command nixos-generate-config can generate an initial configuration file for you: -# nixos-generate-config --root /mnt +# nixos-generate-config --root /mnt You should then edit /mnt/etc/nixos/configuration.nix to suit your needs: -# nano /mnt/etc/nixos/configuration.nix +# nano /mnt/etc/nixos/configuration.nix If you’re using the graphical ISO image, other editors may be available (such as vim). If you have network access, you can also @@ -412,7 +412,7 @@ Do the installation: -# nixos-install +# nixos-install Cross fingers. If this fails due to a temporary problem (such as a network issue while downloading binaries from the NixOS binary cache), you can just re-run nixos-install. Otherwise, fix your @@ -439,7 +439,7 @@ Retype new UNIX password: *** If everything went well: -# reboot +# reboot @@ -460,16 +460,16 @@ Retype new UNIX password: *** You’ll probably want to create some user accounts as well, which can be done with useradd: -$ useradd -c 'Eelco Dolstra' -m eelco -$ passwd eelco +$ useradd -c 'Eelco Dolstra' -m eelco +$ passwd eelco You may also want to install some software. For instance, -$ nix-env -qa \* +$ nix-env -qa \* shows what packages are available, and -$ nix-env -i w3m +$ nix-env -i w3m install the w3m browser. @@ -489,19 +489,19 @@ $ nix-env -i w3m Example partition schemes for NixOS on <filename>/dev/sda</filename> (MBR) -# parted /dev/sda -- mklabel msdos -# parted /dev/sda -- mkpart primary 1MiB -8GiB -# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mklabel msdos +# parted /dev/sda -- mkpart primary 1MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% Example partition schemes for NixOS on <filename>/dev/sda</filename> (UEFI) -# parted /dev/sda -- mklabel gpt -# parted /dev/sda -- mkpart primary 512MiB -8GiB -# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% -# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB -# parted /dev/sda -- set 3 boot on +# parted /dev/sda -- mklabel gpt +# parted /dev/sda -- mkpart primary 512MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB +# parted /dev/sda -- set 3 boot on @@ -509,23 +509,23 @@ $ nix-env -i w3m With a partitioned disk. -# mkfs.ext4 -L nixos /dev/sda1 -# mkswap -L swap /dev/sda2 -# swapon /dev/sda2 -# mkfs.fat -F 32 -n boot /dev/sda3 # (for UEFI systems only) -# mount /dev/disk/by-label/nixos /mnt -# mkdir -p /mnt/boot # (for UEFI systems only) -# mount /dev/disk/by-label/boot /mnt/boot # (for UEFI systems only) -# nixos-generate-config --root /mnt -# nano /mnt/etc/nixos/configuration.nix -# nixos-install -# reboot +# mkfs.ext4 -L nixos /dev/sda1 +# mkswap -L swap /dev/sda2 +# swapon /dev/sda2 +# mkfs.fat -F 32 -n boot /dev/sda3 # (for UEFI systems only) +# mount /dev/disk/by-label/nixos /mnt +# mkdir -p /mnt/boot # (for UEFI systems only) +# mount /dev/disk/by-label/boot /mnt/boot # (for UEFI systems only) +# nixos-generate-config --root /mnt +# nano /mnt/etc/nixos/configuration.nix +# nixos-install +# reboot NixOS Configuration - + { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. @@ -543,7 +543,7 @@ $ nix-env -i w3m # Enable the OpenSSH server. services.sshd.enable = true; } - +
diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml index 160ada9fff3..61531a8f01c 100644 --- a/nixos/doc/manual/man-nixos-generate-config.xml +++ b/nixos/doc/manual/man-nixos-generate-config.xml @@ -13,18 +13,18 @@ - nixos-generate-config + nixos-generate-config - + root - + @@ -154,7 +154,7 @@ file systems on /mnt and /mnt/boot, you would run: -$ nixos-generate-config --root /mnt +$ nixos-generate-config --root /mnt The resulting file /mnt/etc/nixos/hardware-configuration.nix might look @@ -204,7 +204,7 @@ $ nixos-generate-config --root /mnt After installation, if your hardware configuration changes, you can run: -$ nixos-generate-config +$ nixos-generate-config to update /etc/nixos/hardware-configuration.nix. Your /etc/nixos/configuration.nix will diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index 25f4f40613a..4fb94ee7494 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -13,72 +13,72 @@ - nixos-install + nixos-install path - + root - + path - + - + - + - + - + - + number - + number - + name value - + - + @@ -255,12 +255,12 @@ on an ext4 file system created in /dev/sda1: -$ mkfs.ext4 /dev/sda1 -$ mount /dev/sda1 /mnt -$ nixos-generate-config --root /mnt -$ # edit /mnt/etc/nixos/configuration.nix -$ nixos-install -$ reboot +$ mkfs.ext4 /dev/sda1 +$ mount /dev/sda1 /mnt +$ nixos-generate-config --root /mnt +$ # edit /mnt/etc/nixos/configuration.nix +$ nixos-install +$ reboot diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index d436cce742a..3e316e10d4e 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -13,19 +13,19 @@ - nixos-option + nixos-option path - + - + - + option.name @@ -103,13 +103,13 @@ Examples Investigate option values: -$ nixos-option boot.loader +$ nixos-option boot.loader This attribute set contains: generationsDir grub initScript -$ nixos-option boot.loader.grub.enable +$ nixos-option boot.loader.grub.enable Value: true diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 0b0c0b8f6ea..9cec83f1e28 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -13,39 +13,39 @@ - nixos-rebuild + nixos-rebuild - + - + - + - + - + - + - + - + @@ -54,33 +54,33 @@ - + - + - + - + - + builder-spec - + - + @@ -160,7 +160,7 @@ the current directory, which points to the output of the top-level “system” derivation. This is essentially the same as doing -$ nix-build /path/to/nixpkgs/nixos -A system +$ nix-build /path/to/nixpkgs/nixos -A system Note that you do not need to be root to run nixos-rebuild build. @@ -215,8 +215,8 @@ $ nix-build /path/to/nixpkgs/nixos -A system at the script that starts the VM. Thus, to test a NixOS configuration in a virtual machine, you should do the following: -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm @@ -375,7 +375,7 @@ $ ./result/bin/run-*-vm test.nix without affecting the default system profile, you would do: -$ nixos-rebuild switch -p test -I nixos-config=./test.nix +$ nixos-rebuild switch -p test -I nixos-config=./test.nix The new configuration will appear in the GRUB 2 submenu “NixOS - Profile 'test'”. diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index e500c9d6342..5c4d9970178 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -627,7 +627,7 @@ nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc In case of an infinite loop, use the --show-trace command line argument and read the line just above the error message. -$ nixos-rebuild build --show-trace +$ nixos-rebuild build --show-trace … while evaluating the module argument `pkgs' in "/etc/nixos/my-module.nix": infinite recursion encountered diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml index 6ca79e2bc00..86f4a1ccfb7 100644 --- a/nixos/doc/manual/release-notes/rl-1703.xml +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -626,17 +626,17 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install"> overlays. For example, the following code: - let - pkgs = import <nixpkgs> {}; - in - pkgs.overridePackages (self: super: ...) +let + pkgs = import <nixpkgs> {}; +in + pkgs.overridePackages (self: super: ...) should be replaced by: - let - pkgs = import <nixpkgs> {}; - in - import pkgs.path { overlays = [(self: super: ...)]; } +let + pkgs = import <nixpkgs> {}; +in + import pkgs.path { overlays = [(self: super: ...)]; } diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml index bf4b644c9b8..b0b1ebeab45 100644 --- a/nixos/modules/services/databases/foundationdb.xml +++ b/nixos/modules/services/databases/foundationdb.xml @@ -47,14 +47,14 @@ services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x After running nixos-rebuild, you can verify whether FoundationDB is running by executing fdbcli (which is added to ): - -$ sudo -u foundationdb fdbcli + +$ sudo -u foundationdb fdbcli Using cluster file `/etc/foundationdb/fdb.cluster'. The database is available. Welcome to the fdbcli. For help, type `help'. -fdb> status +fdb> status Using cluster file `/etc/foundationdb/fdb.cluster'. @@ -72,8 +72,8 @@ Cluster: ... -fdb> - +fdb> + @@ -82,8 +82,8 @@ fdb> cluster status, as a quick example. (This example uses nix-shell shebang support to automatically supply the necessary Python modules). - -a@link> cat fdb-status.py + +a@link> cat fdb-status.py #! /usr/bin/env nix-shell #! nix-shell -i python -p python pythonPackages.foundationdb52 @@ -103,11 +103,11 @@ def main(): if __name__ == "__main__": main() -a@link> chmod +x fdb-status.py -a@link> ./fdb-status.py +a@link> chmod +x fdb-status.py +a@link> ./fdb-status.py FoundationDB available: True -a@link> - +a@link> + @@ -266,10 +266,10 @@ services.foundationdb.dataDir = "/data/fdb"; every node a coordinator automatically: - -fdbcli> configure double ssd -fdbcli> coordinators auto - + +fdbcli> configure double ssd +fdbcli> coordinators auto + This will transparently update all the servers within seconds, and @@ -386,10 +386,10 @@ services.foundationdb.extraReadWritePaths = [ "/opt/fdb-backups" ]; You can now perform a backup: - -$ sudo -u foundationdb fdbbackup start -t default -d file:///opt/fdb-backups -$ sudo -u foundationdb fdbbackup status -t default - + +$ sudo -u foundationdb fdbbackup start -t default -d file:///opt/fdb-backups +$ sudo -u foundationdb fdbbackup status -t default +
Known limitations diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml index 14f4d4909bc..00bb02dcc5b 100644 --- a/nixos/modules/services/databases/postgresql.xml +++ b/nixos/modules/services/databases/postgresql.xml @@ -42,11 +42,11 @@ whether PostgreSQL works by running psql: -$ psql +$ psql psql (9.2.9) Type "help" for help. -alice=> +alice=> --> diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml index 8045d5fa14f..fb27bd1f62b 100644 --- a/nixos/modules/services/desktops/flatpak.xml +++ b/nixos/modules/services/desktops/flatpak.xml @@ -21,7 +21,7 @@ configuration.nix: = true; - + For the sandboxed apps to work correctly, desktop integration portals need to @@ -30,27 +30,27 @@ configuration.nix: = [ pkgs.xdg-desktop-portal-gtk ]; - + Then, you will need to add a repository, for example, Flathub, either using the following commands: - - flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak update - + +$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +$ flatpak update + or by opening the repository file in GNOME Software. Finally, you can search and install programs: - - flatpak search bustle - flatpak install flathub org.freedesktop.Bustle - flatpak run org.freedesktop.Bustle - + +$ flatpak search bustle +$ flatpak install flathub org.freedesktop.Bustle +$ flatpak run org.freedesktop.Bustle + Again, GNOME Software offers graphical interface for these tasks. diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml index 1ac53c818a7..88d7c4e1daf 100644 --- a/nixos/modules/services/editors/emacs.xml +++ b/nixos/modules/services/editors/emacs.xml @@ -238,8 +238,8 @@ in You can check that it works by executing this in a terminal: -$ nix-build emacs.nix -$ ./result/bin/emacs -q +$ nix-build emacs.nix +$ ./result/bin/emacs -q and then typing M-x package-initialize. Check that you can use all the packages you want in this Emacs instance. For example, try @@ -403,9 +403,9 @@ in [...] To start the daemon, execute the following: -$ nixos-rebuild switch # to activate the new configuration.nix -$ systemctl --user daemon-reload # to force systemd reload -$ systemctl --user start emacs.service # to start the Emacs daemon +$ nixos-rebuild switch # to activate the new configuration.nix +$ systemctl --user daemon-reload # to force systemd reload +$ systemctl --user start emacs.service # to start the Emacs daemon The server should now be ready to serve Emacs clients. diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml index ab99d7bd3a6..5ff570a442f 100644 --- a/nixos/modules/services/misc/gitlab.xml +++ b/nixos/modules/services/misc/gitlab.xml @@ -138,13 +138,13 @@ services.gitlab = { For example, to backup a Gitlab instance: - -$ sudo -u git -H gitlab-rake gitlab:backup:create - + +$ sudo -u git -H gitlab-rake gitlab:backup:create + A list of all availabe rake tasks can be obtained by running: - -$ sudo -u git -H gitlab-rake -T - + +$ sudo -u git -H gitlab-rake -T +
diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml index 5eac8d9ef78..5656bb85b37 100644 --- a/nixos/modules/services/misc/taskserver/doc.xml +++ b/nixos/modules/services/misc/taskserver/doc.xml @@ -105,7 +105,7 @@ Now in order to import the alice user to another machine alicebox, all we need to do is something like this: -$ ssh server nixos-taskserver user export my-company alice | sh +$ ssh server nixos-taskserver user export my-company alice | sh Of course, if no SSH daemon is available on the server you can also copy & paste it directly into a shell. diff --git a/nixos/modules/services/monitoring/prometheus/exporters.xml b/nixos/modules/services/monitoring/prometheus/exporters.xml index 7a0a1bdf2c1..81ac998729b 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.xml +++ b/nixos/modules/services/monitoring/prometheus/exporters.xml @@ -112,65 +112,65 @@ directory, which will be called postfix.nix and contains all exporter specific options and configuration: - # nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix - { config, lib, pkgs }: +# nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix +{ config, lib, pkgs }: - with lib; +with lib; - let - # for convenience we define cfg here - cfg = config.services.prometheus.exporters.postfix; - in - { - port = 9154; # The postfix exporter listens on this port by default +let + # for convenience we define cfg here + cfg = config.services.prometheus.exporters.postfix; +in +{ + port = 9154; # The postfix exporter listens on this port by default - # `extraOpts` is an attribute set which contains additional options - # (and optional overrides for default options). - # Note that this attribute is optional. - extraOpts = { - telemetryPath = mkOption { - type = types.str; - default = "/metrics"; - description = '' - Path under which to expose metrics. - ''; - }; - logfilePath = mkOption { - type = types.path; - default = /var/log/postfix_exporter_input.log; - example = /var/log/mail.log; - description = '' - Path where Postfix writes log entries. - This file will be truncated by this exporter! - ''; - }; - showqPath = mkOption { - type = types.path; - default = /var/spool/postfix/public/showq; - example = /var/lib/postfix/queue/public/showq; - description = '' - Path at which Postfix places its showq socket. - ''; - }; - }; + # `extraOpts` is an attribute set which contains additional options + # (and optional overrides for default options). + # Note that this attribute is optional. + extraOpts = { + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + logfilePath = mkOption { + type = types.path; + default = /var/log/postfix_exporter_input.log; + example = /var/log/mail.log; + description = '' + Path where Postfix writes log entries. + This file will be truncated by this exporter! + ''; + }; + showqPath = mkOption { + type = types.path; + default = /var/spool/postfix/public/showq; + example = /var/lib/postfix/queue/public/showq; + description = '' + Path at which Postfix places its showq socket. + ''; + }; + }; - # `serviceOpts` is an attribute set which contains configuration - # for the exporter's systemd service. One of - # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart` - # has to be specified here. This will be merged with the default - # service confiuration. - serviceOpts = { - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --web.telemetry-path ${cfg.telemetryPath} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - }; - }; - } - + # `serviceOpts` is an attribute set which contains configuration + # for the exporter's systemd service. One of + # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart` + # has to be specified here. This will be merged with the default + # service confiuration. + serviceOpts = { + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} + diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 10dc5831121..69368441c62 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -86,10 +86,10 @@ in If you use the firewall consider adding the following: - - networking.firewall.allowedTCPPorts = [ 139 445 ]; - networking.firewall.allowedUDPPorts = [ 137 138 ]; - + + networking.firewall.allowedTCPPorts = [ 139 445 ]; + networking.firewall.allowedUDPPorts = [ 137 138 ]; + ''; }; diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml index f90eef69848..afc7880392a 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy.xml +++ b/nixos/modules/services/networking/dnscrypt-proxy.xml @@ -18,7 +18,7 @@ To enable the client proxy, set = true; - + @@ -36,7 +36,7 @@ the other client to it: = 43; - + @@ -47,7 +47,7 @@ = true; = [ "127.0.0.1#43" ]; } - + @@ -59,7 +59,7 @@ = true; = [ "127.0.0.1@43" ]; } - + diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index fab3ed5bb39..c41d0edaf17 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -101,17 +101,17 @@ in ''; example = literalExample '' # near constant pings. - step = 30 - pings = 20 - # consfn mrhb steps total - AVERAGE 0.5 1 10080 - AVERAGE 0.5 12 43200 - MIN 0.5 12 43200 - MAX 0.5 12 43200 - AVERAGE 0.5 144 7200 - MAX 0.5 144 7200 - MIN 0.5 144 7200 - ''; + step = 30 + pings = 20 + # consfn mrhb steps total + AVERAGE 0.5 1 10080 + AVERAGE 0.5 12 43200 + MIN 0.5 12 43200 + MAX 0.5 12 43200 + AVERAGE 0.5 144 7200 + MAX 0.5 144 7200 + MIN 0.5 144 7200 + ''; description = ''Configure the ping frequency and retention of the rrd files. Once set, changing the interval will require deletion or migration of all the collected data.''; diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml index 021a89be3f6..8485492c51c 100644 --- a/nixos/modules/services/web-apps/matomo-doc.xml +++ b/nixos/modules/services/web-apps/matomo-doc.xml @@ -21,18 +21,18 @@ passwordless database authentication via the UNIX_SOCKET authentication plugin with the following SQL commands: - # For MariaDB - INSTALL PLUGIN unix_socket SONAME 'auth_socket'; - CREATE DATABASE matomo; - CREATE USER 'matomo'@'localhost' IDENTIFIED WITH unix_socket; - GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; +# For MariaDB +INSTALL PLUGIN unix_socket SONAME 'auth_socket'; +CREATE DATABASE matomo; +CREATE USER 'matomo'@'localhost' IDENTIFIED WITH unix_socket; +GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; - # For MySQL - INSTALL PLUGIN auth_socket SONAME 'auth_socket.so'; - CREATE DATABASE matomo; - CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket; - GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; - +# For MySQL +INSTALL PLUGIN auth_socket SONAME 'auth_socket.so'; +CREATE DATABASE matomo; +CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket; +GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; + Then fill in matomo as database user and database name, and leave the password field blank. This authentication works by allowing only the matomo unix user to authenticate as the