Manual: Random indentation fixes

This commit is contained in:
Eelco Dolstra 2018-09-03 17:13:02 +02:00
parent 3db3ae3700
commit eac06ed070
No known key found for this signature in database
GPG Key ID: 8170B4726D7198DE
2 changed files with 101 additions and 91 deletions

View File

@ -325,7 +325,7 @@
}; };
}; };
} }
</screen> </screen>
<para> <para>
To install it into our environment, you can just run <literal>nix-env -iA To install it into our environment, you can just run <literal>nix-env -iA
@ -347,7 +347,7 @@
}; };
}; };
} }
</screen> </screen>
<para> <para>
<literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed <literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed
@ -383,7 +383,7 @@
}; };
}; };
} }
</screen> </screen>
<para> <para>
This provides us with some useful documentation for using our packages. This provides us with some useful documentation for using our packages.
@ -395,15 +395,15 @@
{ {
packageOverrides = pkgs: with pkgs; rec { packageOverrides = pkgs: with pkgs; rec {
myProfile = writeText "my-profile" '' myProfile = writeText "my-profile" ''
export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
''; '';
myPackages = pkgs.buildEnv { myPackages = pkgs.buildEnv {
name = "my-packages"; name = "my-packages";
paths = [ paths = [
(runCommand "profile" {} '' (runCommand "profile" {} ''
mkdir -p $out/etc/profile.d mkdir -p $out/etc/profile.d
cp ${myProfile} $out/etc/profile.d/my-profile.sh cp ${myProfile} $out/etc/profile.d/my-profile.sh
'') '')
aspell aspell
bc bc
@ -421,7 +421,7 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh
}; };
}; };
} }
</screen> </screen>
<para> <para>
For this to work fully, you must also have this script sourced when you are For this to work fully, you must also have this script sourced when you are
@ -438,7 +438,7 @@ if [ -d $HOME/.nix-profile/etc/profile.d ]; then
fi fi
done done
fi fi
</screen> </screen>
<para> <para>
Now just run <literal>source $HOME/.profile</literal> and you can starting Now just run <literal>source $HOME/.profile</literal> and you can starting
@ -459,16 +459,16 @@ fi
{ {
packageOverrides = pkgs: with pkgs; rec { packageOverrides = pkgs: with pkgs; rec {
myProfile = writeText "my-profile" '' myProfile = writeText "my-profile" ''
export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info
''; '';
myPackages = pkgs.buildEnv { myPackages = pkgs.buildEnv {
name = "my-packages"; name = "my-packages";
paths = [ paths = [
(runCommand "profile" {} '' (runCommand "profile" {} ''
mkdir -p $out/etc/profile.d mkdir -p $out/etc/profile.d
cp ${myProfile} $out/etc/profile.d/my-profile.sh cp ${myProfile} $out/etc/profile.d/my-profile.sh
'') '')
aspell aspell
bc bc
@ -485,17 +485,17 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh
pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ]; pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ];
extraOutputsToInstall = [ "man" "doc" "info" ]; extraOutputsToInstall = [ "man" "doc" "info" ];
postBuild = '' postBuild = ''
if [ -x $out/bin/install-info -a -w $out/share/info ]; then if [ -x $out/bin/install-info -a -w $out/share/info ]; then
shopt -s nullglob shopt -s nullglob
for i in $out/share/info/*.info $out/share/info/*.info.gz; do for i in $out/share/info/*.info $out/share/info/*.info.gz; do
$out/bin/install-info $i $out/share/info/dir $out/bin/install-info $i $out/share/info/dir
done done
fi fi
''; '';
}; };
}; };
} }
</screen> </screen>
<para> <para>
<literal>postBuild</literal> tells Nixpkgs to run a command after building <literal>postBuild</literal> tells Nixpkgs to run a command after building

View File

@ -1,7 +1,7 @@
<chapter xmlns="http://docbook.org/ns/docbook" <chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-functions"> xml:id="chap-functions">
<title>Functions reference</title> <title>Functions reference</title>
<para> <para>
The nixpkgs repository has several utility functions to manipulate Nix The nixpkgs repository has several utility functions to manipulate Nix
@ -31,12 +31,16 @@
<para> <para>
Example usages: Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting> <programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<programlisting>import pkgs.path { overlays = [ (self: super: { <programlisting>
foo = super.foo.override { barSupport = true ; }; import pkgs.path { overlays = [ (self: super: {
})]};</programlisting> foo = super.foo.override { barSupport = true ; };
<programlisting>mypkg = pkgs.callPackage ./mypkg.nix { })]};
mydep = pkgs.mydep.override { ... }; </programlisting>
}</programlisting> <programlisting>
mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
}
</programlisting>
</para> </para>
<para> <para>
@ -61,9 +65,11 @@
<para> <para>
Example usage: Example usage:
<programlisting>helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec { <programlisting>
separateDebugInfo = true; helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
});</programlisting> separateDebugInfo = true;
});
</programlisting>
</para> </para>
<para> <para>
@ -134,14 +140,16 @@
<para> <para>
Example usage: Example usage:
<programlisting>mySed = pkgs.gnused.overrideDerivation (oldAttrs: { <programlisting>
name = "sed-4.2.2-pre"; mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
src = fetchurl { name = "sed-4.2.2-pre";
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2; src = fetchurl {
sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k"; url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
}; sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
patches = []; };
});</programlisting> patches = [];
});
</programlisting>
</para> </para>
<para> <para>
@ -181,8 +189,10 @@
<para> <para>
Example usage: Example usage:
<programlisting>f = { a, b }: { result = a+b; } <programlisting>
c = lib.makeOverridable f { a = 1; b = 2; }</programlisting> f = { a, b }: { result = a+b; };
c = lib.makeOverridable f { a = 1; b = 2; };
</programlisting>
</para> </para>
<para> <para>
@ -482,29 +492,29 @@ merge:"diff3"
<example xml:id='ex-dockerTools-buildImage'> <example xml:id='ex-dockerTools-buildImage'>
<title>Docker build</title> <title>Docker build</title>
<programlisting> <programlisting>
buildImage { buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' /> name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' /> tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />
fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' /> fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' /> fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' /> fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />
contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' /> contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' /> runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${stdenv.shell} #!${stdenv.shell}
mkdir -p /data mkdir -p /data
''; '';
config = { <co xml:id='ex-dockerTools-buildImage-8' /> config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ]; Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data"; WorkingDir = "/data";
Volumes = { Volumes = {
"/data" = {}; "/data" = {};
};
}; };
} };
</programlisting> }
</programlisting>
</example> </example>
<para> <para>
@ -647,15 +657,15 @@ merge:"diff3"
<example xml:id='ex-dockerTools-pullImage'> <example xml:id='ex-dockerTools-pullImage'>
<title>Docker pull</title> <title>Docker pull</title>
<programlisting> <programlisting>
pullImage { pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' /> imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' /> imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' /> finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' /> sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' /> os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' /> arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
} }
</programlisting> </programlisting>
</example> </example>
<calloutlist> <calloutlist>
@ -677,9 +687,9 @@ merge:"diff3"
exactly which image you want. By default it will match the OS and exactly which image you want. By default it will match the OS and
architecture of the host the command is run on. architecture of the host the command is run on.
<programlisting> <programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'" $ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
</programlisting> </programlisting>
This argument is required. This argument is required.
</para> </para>
</callout> </callout>
@ -737,13 +747,13 @@ merge:"diff3"
<example xml:id='ex-dockerTools-exportImage'> <example xml:id='ex-dockerTools-exportImage'>
<title>Docker export</title> <title>Docker export</title>
<programlisting> <programlisting>
exportImage { exportImage {
fromImage = someLayeredImage; fromImage = someLayeredImage;
fromImageName = null; fromImageName = null;
fromImageTag = null; fromImageTag = null;
name = someLayeredImage.name; name = someLayeredImage.name;
} }
</programlisting> </programlisting>
</example> </example>
@ -774,19 +784,19 @@ merge:"diff3"
<example xml:id='ex-dockerTools-shadowSetup'> <example xml:id='ex-dockerTools-shadowSetup'>
<title>Shadow base files</title> <title>Shadow base files</title>
<programlisting> <programlisting>
buildImage { buildImage {
name = "shadow-basic"; name = "shadow-basic";
runAsRoot = '' runAsRoot = ''
#!${stdenv.shell} #!${stdenv.shell}
${shadowSetup} ${shadowSetup}
groupadd -r redis groupadd -r redis
useradd -r -g redis redis useradd -r -g redis redis
mkdir /data mkdir /data
chown redis:redis /data chown redis:redis /data
''; '';
} }
</programlisting> </programlisting>
</example> </example>
<para> <para>