···11[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
2233[](https://travis-ci.org/NixOS/nixpkgs)
44-[](http://www.issuestats.com/github/nixos/nixpkgs)
55-[](http://www.issuestats.com/github/nixos/nixpkgs)
44+[](http://www.issuestats.com/github/nixos/nixpkgs)
55+[](http://www.issuestats.com/github/nixos/nixpkgs)
6677Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
88manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
···281281 </listitem>
282282 </varlistentry>
283283284284+ <varlistentry>
285285+ <term><option>--build-host</option></term>
286286+ <listitem>
287287+ <para>Instead of building the new configuration locally, use the
288288+ specified host to perform the build. The host needs to be accessible
289289+ with ssh, and must be able to perform Nix builds. If the option
290290+ <option>--target-host</option> is not set, the build will be copied back
291291+ to the local machine when done.</para>
292292+293293+ <para>Note that, if <option>--no-build-nix</option> is not specified,
294294+ Nix will be built both locally and remotely. This is because the
295295+ configuration will always be evaluated locally even though the building
296296+ might be performed remotely.</para>
297297+298298+ <para>You can include a remote user name in
299299+ the host name (<replaceable>user@host</replaceable>). You can also set
300300+ ssh options by defining the <envar>NIX_SSHOPTS</envar> environment
301301+ variable.</para>
302302+ </listitem>
303303+ </varlistentry>
304304+305305+ <varlistentry>
306306+ <term><option>--target-host</option></term>
307307+ <listitem>
308308+ <para>Specifies the NixOS target host. By setting this to something other
309309+ than <replaceable>localhost</replaceable>, the system activation will
310310+ happen on the remote host instead of the local machine. The remote host
311311+ needs to be accessible over ssh, and for the commands
312312+ <option>switch</option>, <option>boot</option> and <option>test</option>
313313+ you need root access.</para>
314314+315315+ <para>If <option>--build-host</option> is not explicitly
316316+ specified, <option>--build-host</option> will implicitly be set to the
317317+ same value as <option>--target-host</option>. So, if you only specify
318318+ <option>--target-host</option> both building and activation will take
319319+ place remotely (and no build artifacts will be copied to the local
320320+ machine).</para>
321321+322322+ <para>You can include a remote user name in
323323+ the host name (<replaceable>user@host</replaceable>). You can also set
324324+ ssh options by defining the <envar>NIX_SSHOPTS</envar> environment
325325+ variable.</para>
326326+ </listitem>
327327+ </varlistentry>
328328+284329</variablelist>
285330286331<para>In addition, <command>nixos-rebuild</command> accepts various
···303348 <para>Path to the main NixOS configuration module. Defaults to
304349 <filename>/etc/nixos/configuration.nix</filename>.</para>
305350 </listitem>
351351+ </varlistentry>
352352+353353+ <varlistentry><term><envar>NIX_SSHOPTS</envar></term>
354354+355355+ <listitem><para>Additional options to be passed to
356356+ <command>ssh</command> on the command line.</para></listitem>
357357+306358 </varlistentry>
307359308360</variablelist>
+1-1
nixos/modules/config/users-groups.nix
···2626 '';
27272828 hashedPasswordDescription = ''
2929- To generate hashed password install <literal>mkpassword</literal>
2929+ To generate hashed password install <literal>mkpasswd</literal>
3030 package and run <literal>mkpasswd -m sha-512</literal>.
3131 '';
3232
···239239 bepasty = 215;
240240 pumpio = 216;
241241 nm-openvpn = 217;
242242+ mathics = 218;
242243243244 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
244245···455456 bepasty = 215;
456457 pumpio = 216;
457458 nm-openvpn = 217;
459459+ mathics = 218;
458460459461 # When adding a gid, make sure it doesn't match an existing
460462 # uid. Users and groups with the same name should have equal
···1616 isExecutable = true;
1717 inherit (pkgs) perl;
1818 perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ")
1919- [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite ]);
1919+ [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]);
2020 };
21212222in
···3030 local p=/run/current-system/sw/bin/command-not-found
3131 if [ -x $p -a -f /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite ]; then
3232 # Run the helper program.
3333- $p "$1"
3333+ $p "$@"
3434 # Retry the command if we just installed it.
3535 if [ $? = 126 ]; then
3636 "$@"
···5151 local p=/run/current-system/sw/bin/command-not-found
5252 if [ -x $p -a -f /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite ]; then
5353 # Run the helper program.
5454- $p "$1"
5454+ $p "$@"
55555656 # Retry the command if we just installed it.
5757 if [ $? = 126 ]; then
···256256 };
257257258258 enableAggregator = mkOption {
259259- description = "Whether to enable carbon agregator, the carbon buffering service.";
259259+ description = "Whether to enable carbon aggregator, the carbon buffering service.";
260260 default = false;
261261 type = types.bool;
262262 };
263263264264 aggregationRules = mkOption {
265265- description = "Defines if and how received metrics will be agregated.";
265265+ description = "Defines if and how received metrics will be aggregated.";
266266 default = null;
267267 type = types.uniq (types.nullOr types.string);
268268 example = ''
+1
nixos/modules/services/security/fail2ban.nix
···138138 findtime = 600
139139 maxretry = 3
140140 backend = systemd
141141+ enabled = true
141142 '';
142143143144 # Block SSH if there are too many failing connection attempts.
···2020 desktop_file_utils hicolor_icon_theme
2121 ];
22222323+ #hexchat and heachat-text loads enchant spell checking library at run time and so it needs to have route to the path
2424+ patchPhase = ''
2525+ sed -i "s,libenchant.so.1,${enchant}/lib/libenchant.so.1,g" src/fe-gtk/sexy-spell-entry.c
2626+ '';
2727+2328 configureFlags = [ "--enable-shm" "--enable-textfe" ];
24292530 meta = with stdenv.lib; {
···11-source $stdenv/setup
22-33-mkdir -p $out/bin
44-for i in $binaries
55-do
66- ln -s "/usr/bin/$i" "$out/bin/"
77-done
88-99-# MIG assumes the standard Darwin core utilities (e.g., `rm -d'), so
1010-# let it see the impure directories.
1111-cat > "$out/bin/mig" <<EOF
1212-#!/bin/sh
1313-export PATH="/usr/bin:/bin:\$PATH"
1414-exec /usr/bin/mig "\$@"
1515-EOF
1616-chmod +x "$out/bin/mig"
···11+update-walker is an imperative semiautomated update helper.
22+33+It runs the X.upstream file to find the freshest version of the package in
44+the specified upstream source and updates the corresponding X.nix file.
55+66+77+88+The simplest available commands:
99+1010+url: set the upstream source list URL equal to $1; the default is
1111+meta.downloadPage with meta.homepage fallback
1212+1313+dl_url_re: set the regular expression used to select download links to $1; the
1414+default is meta.downloadURLRegexp or '[.]tar[.]([^./])+\$' if it is not set
1515+1616+target: specify target expression; default is to replace .upstream extension
1717+with .nix extension
1818+1919+name: specify the derivation name; default is the basename of the dirname
2020+of the .upstream file
2121+2222+attribute_name: specify the attribute name to evaluate for getting the current
2323+version from meta.version; default is to use the derivation name
2424+2525+minimize_overwrite: set config options that mean that only version= and
2626+sha256= have to be replaced; the default is to regenerate a full upstream
2727+description block with url, name, version, hash etc.
2828+2929+3030+3131+A lot of packages can be updated in a pseudo-declarative style using only
3232+the commands from the previous paragraph.
3333+3434+Some packages do not need any non-default settings, in these case just setting
3535+meta.updateWalker to true is enough, you can run update-walker directly on the
3636+.nix file afterwards. In this case minimize_overwrite it implied unless
3737+meta.fullRegenerate is set.
3838+3939+4040+4141+The packages that require more fine-grained control than the described options
4242+allow, you need to take into account the default control flow of the tool.
4343+4444+First, the definitions from update-walker script and additional definitions
4545+from update-walker-service-specific.sh are loaded. Then the config is executed
4646+as a shell script. Some of the commands it can use do remember whether they
4747+have been used. Afterwards the following steps happen:
4848+4949+attribute_name is set to name unless it has been already set
5050+5151+meta.version is read from the NixPkgs package called attribute_name
5252+5353+download URL regexp is set to default unless it has been already set in the
5454+updater script
5555+5656+the download page URL gets set to default value unless it has been set
5757+previously
5858+5959+if the action of getting the download page and choosing the freshest link by
6060+version has not yet been taken, it happens
6161+6262+if the version has not yet been extracted from the URL, it gets extracted
6363+6464+target nix expression to update gets set to the default value unless it has
6565+been set explicitly
6666+6767+if the URL version is fresher than the packaged version, the new file gets
6868+downloaded and its hash is calculated
6969+7070+do_overwrite function is called; the default calculates a big upstream data
7171+block and puts it after the '# Generated upstream information' marker (the
7272+marker can be changed by the command marker)
7373+7474+7575+7676+If the update needs some special logic, it is put into the updater script and
7777+the corresponding steps are skipped because the needed action has already been
7878+performed.
7979+8080+For example:
8181+8282+minimize_overwrite is exactly the same as
8383+8484+do_overwrite() { do_overwrite_just_version; }
8585+8686+redefinition. You can do a more complex do_overwrite redifinition, if needed.
8787+It can probably use ensure_hash to download the source and calculate the hash
8888+and set_var_value.
8989+9090+set_var_value alters the $3-th instance of assigning the $1 name in the
9191+expression to the value $2. $3 defaults to 1. It can modify $4 instead of the
9292+current target, it can put the value without quotes if $5 is 1.
9393+9494+9595+9696+Typical steps include:
9797+9898+ensure_choice: download current URL and find the freshest version link on the
9999+page, it is now the new URL
100100+101101+ensure_hash: download current URL and calculate the source package hash
102102+103103+ensure_version: extract version from the URL
104104+105105+SF_redirect: replace the current URL with a SourceForge.net mirror:// URL
106106+107107+SF_version_dir: assume SourceForge.net layout and choose the freshest
108108+version-named subdirectory in the file catalog; you can optionally specify $1
109109+as a directory name regexp (digits and periods will be required after it)
110110+111111+SF_version_tarball: assume SourceForge.net layout and choose the freshest
112112+tarball download link
113113+114114+version: apply replacement of $1 with $2 (extended regexp format) to extract
115115+the version from URL
116116+117117+version_link: choose the freshest versioned link, $1 is the regexp of
118118+acceptable links
+2-2
pkgs/data/documentation/man-pages/default.nix
···11{ stdenv, fetchurl }:
2233-let version = "4.03"; in
33+let version = "4.04"; in
44stdenv.mkDerivation rec {
55 name = "man-pages-${version}";
6677 src = fetchurl {
88 url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
99- sha256 = "177w71rwsw3lsh9pjqy625s5iwz1ahdaj7prys1bpc4bqi78q5mh";
99+ sha256 = "0v8zxq4scfixy3pjpw9ankvv5v8frv62khv4xm1jpkswyq6rbqcg";
1010 };
11111212 makeFlags = [ "MANDIR=$(out)/share/man" ];
···7777 sed -i '/TestCgoLookupIP/areturn' src/net/cgo_unix_test.go
7878 sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go
7979 sed -i '/TestRead0/areturn' src/os/os_test.go
8080+ sed -i '/TestNohup/areturn' src/os/signal/signal_test.go
8081 sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
81828283 sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go
···1414 NIX_CFLAGS_COMPILE = "-include stdio.h";
15151616 meta = {
1717+ description = "CUPS back-end for Canon printers";
1818+ longDescription = ''
1919+ CUPS back-end for the canon printers using the proprietary USB over IP
2020+ BJNP protocol. This back-end allows Cups to print over the network to a
2121+ Canon printer. The design is based on reverse engineering of the protocol.
2222+ '';
1723 homepage = http://cups-bjnp.sourceforge.net;
1824 };
1925}
···11+diff --git a/share/functions/__fish_config_interactive.fish b/share/functions/__fish_config_interactive.fish
22+index c3864a8..a12ac4d 100644
33+--- a/share/functions/__fish_config_interactive.fish
44++++ b/share/functions/__fish_config_interactive.fish
55+@@ -230,7 +230,7 @@ function __fish_config_interactive -d "Initializations that should be performed
66+ # Check for NixOS handler
77+ else if test -f /run/current-system/sw/bin/command-not-found
88+ function __fish_command_not_found_handler --on-event fish_command_not_found
99+- /run/current-system/sw/bin/command-not-found $argv[1]
1010++ /run/current-system/sw/bin/command-not-found $argv
1111+ end
1212+ # Ubuntu Feisty places this command in the regular path instead
1313+ else if type -q -p command-not-found
···3838 # Linux standard environment.
3939 stdenvLinux = (import ./linux { inherit system allPackages platform config lib; }).stdenvLinux;
40404141- # Darwin standard environment.
4241 stdenvDarwin = (import ./darwin { inherit system allPackages platform config;}).stdenvDarwin;
4343-4444- # Pure Darwin standard environment. Allows building with the sandbox enabled. To use,
4545- # you can add this to your nixpkgs config:
4646- #
4747- # replaceStdenv = {pkgs}: pkgs.allStdenvs.stdenvDarwinPure
4848- stdenvDarwinPure = (import ./pure-darwin { inherit system allPackages platform config;}).stage5;
49425043 # Select the appropriate stdenv for the platform `system'.
5144 stdenv =
···5649 if system == "armv7l-linux" then stdenvLinux else
5750 if system == "mips64el-linux" then stdenvLinux else
5851 if system == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
5959- if system == "x86_64-darwin" then stdenvDarwinPure else
5252+ if system == "x86_64-darwin" then stdenvDarwin else
6053 if system == "x86_64-solaris" then stdenvNix else
6154 if system == "i686-cygwin" then stdenvNative else
6255 if system == "x86_64-cygwin" then stdenvNative else
···11+{ stdenv, fetchurl }:
22+33+let version = "1.2"; in
44+stdenv.mkDerivation {
55+ name = "dhcping-${version}";
66+77+ src = fetchurl {
88+ sha256 = "0sk4sg3hn88n44dxikipf3ggfj3ixrp22asb7nry9p0bkfaqdvrj";
99+ url = "http://www.mavetju.org/download/dhcping-${version}.tar.gz";
1010+ };
1111+1212+ enableParallelBuilding = true;
1313+1414+ doCheck = true;
1515+1616+ meta = with stdenv.lib; {
1717+ inherit version;
1818+ description = "Send DHCP request to find out if a DHCP server is running";
1919+ longDescription = ''
2020+ dhcping sends either a DHCPREQUEST or DHCPINFORM packet to the server
2121+ and waits for an answer. Then, if a DHCPREQUEST was send, it will send
2222+ a DHCPRELEASE back to the server.
2323+2424+ This program should be installed setuid root or ran by root only, as it
2525+ requires the privileges to bind itself to port 68 (bootpc). Root
2626+ privileges are dropped as soon as the program has bound itself to that
2727+ port.
2828+ '';
2929+ homepage = http://www.mavetju.org/unix/general.php;
3030+ license = licenses.bsd2;
3131+ platforms = platforms.linux;
3232+ maintainers = with maintainers; [ nckx ];
3333+ };
3434+ }