From 478e510ddd0870b7b60c43b8df96662d2db3483b Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Fri, 2 Feb 2018 00:16:34 -0800 Subject: openssh: Document default Kerberos support --- nixos/doc/manual/release-notes/rl-1803.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index a67d6939790d..72770a1c0e07 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -111,6 +111,17 @@ following incompatible changes: here. + + + The openssh package + now includes Kerberos support by default; + the openssh_with_kerberos package + is now a deprecated alias. + If you do not want Kerberos support, + you can do openssh.override { withKerboros = false; }. + Note, this also applies to the openssh_hpn package. + + cc-wrapper has been split in two; there is now also a bintools-wrapper. -- cgit 1.4.1 From 9bbe112dc5701846bad55c0f468196130e579cc7 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Wed, 7 Feb 2018 17:35:38 +0100 Subject: php: 7.1.14 -> 7.2.2 --- nixos/doc/manual/release-notes/rl-1803.xml | 4 ++++ pkgs/top-level/all-packages.nix | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 8391c550afab..886124b49aa6 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -38,6 +38,10 @@ has the following highlights: + + + PHP now defaults to PHP 7.2 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22ce05089f85..a9b1f04058c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6861,8 +6861,8 @@ with pkgs; pachyderm = callPackage ../applications/networking/cluster/pachyderm { }; - php = php71; - phpPackages = php71Packages; + php = php72; + phpPackages = php72Packages; php56Packages = recurseIntoAttrs (callPackage ./php-packages.nix { php = php56; @@ -6887,13 +6887,17 @@ with pkgs; php71 php72; - php-embed = php71-embed; + php-embed = php72-embed; php71-embed = php71.override { config.php.embed = true; config.php.apxs2 = false; }; + php72-embed = php72.override { + config.php.embed = true; + config.php.apxs2 = false; + }; picoc = callPackage ../development/interpreters/picoc {}; -- cgit 1.4.1 From 0525e823929dd9116aaba9f194ef629c83f80d81 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Wed, 7 Feb 2018 20:01:13 +0100 Subject: docs: Explain how to login into built vm --- nixos/doc/manual/installation/changing-config.xml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml index 75df307a1b7c..4db9020b9606 100644 --- a/nixos/doc/manual/installation/changing-config.xml +++ b/nixos/doc/manual/installation/changing-config.xml @@ -70,9 +70,21 @@ $ ./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. You can -forward ports on the host to the guest. For instance, the following -will forward host port 2222 to guest port 22 (SSH): +user accounts and home directories will not be available unless you +have set mutableUsers = false. Another way is to +temporarily add the following to your configuration: + + +users.extraUsers.your-user.initialPassword = "test" + + +Important: delete the $hostname.qcow2 file if you +have started the virtual machine at least once without the right +users, otherwise the changes will not get picked up. + +You can forward ports on the host to the 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 -- cgit 1.4.1 From a7d75ab6489dc5834e8402db374b4d0f1e774d53 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 20 Apr 2016 21:46:02 +0000 Subject: nixos/doc: push all the `enable*' and `package*` options to the top of their option group Why? Because this way configuration.nix(5) can be read linearly. Before: > virtualisation.xen.bootParams > ... > virtualisation.xen.enable > ... > virtualisation.xen.package > ... After: > virtualisation.xen.enable > virtualisation.xen.package > virtualisation.xen.bootParams > ... --- nixos/doc/manual/default.nix | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 8079a2feb29f..9ee70ba59b79 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -6,7 +6,7 @@ let lib = pkgs.lib; # Remove invisible and internal options. - optionsList = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options); + optionsListVisible = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options); # Replace functions by the string substFunction = x: @@ -16,7 +16,7 @@ let else x; # Clean up declaration sites to not refer to the NixOS source tree. - optionsList' = lib.flip map optionsList (opt: opt // { + optionsListDesc = lib.flip map optionsListVisible (opt: opt // { declarations = map stripAnyPrefixes opt.declarations; } // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; } @@ -32,8 +32,22 @@ let prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources); stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip; + # Custom "less" that pushes up all the things ending in ".enable*" + # and ".package" + optionListLess = a: b: + let + splt = lib.splitString "."; + ise = lib.hasPrefix "enable"; + isp = lib.hasPrefix "package"; + cmp = lib.splitByAndCompare ise lib.compare + (lib.splitByAndCompare isp lib.compare lib.compare); + in lib.compareLists cmp (splt a) (splt b) < 0; + + # Customly sort option list for the man page. + optionsList = lib.sort (a: b: optionListLess a.name b.name) optionsListDesc; + # Convert the list of options into an XML file. - optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList'); + optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList); optionsDocBook = runCommand "options-db.xml" {} '' optionsXML=${optionsXML} @@ -191,7 +205,7 @@ in rec { mkdir -p $dst cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON - (builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList')))) + (builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList)))) } $dst/options.json mkdir -p $out/nix-support -- cgit 1.4.1 From 660806066abc4a64ac44b53b2b1a20f5ab4d920b Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 20 Apr 2016 21:57:33 +0000 Subject: nixos, lib: implement relatedPackages option This allows one to specify "related packages" in NixOS that get rendered into the configuration.nix(5) man page. The interface philosophy is pretty much stolen from TeX bibliography. See the next several commits for examples. --- lib/options.nix | 9 +++++---- nixos/doc/manual/default.nix | 34 +++++++++++++++++++++++++++++++-- nixos/doc/manual/options-to-docbook.xsl | 9 +++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) (limited to 'nixos/doc/manual') diff --git a/lib/options.nix b/lib/options.nix index 769d3cc55723..e10c86dd5064 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -14,6 +14,7 @@ rec { , defaultText ? null # Textual representation of the default, for in the manual. , example ? null # Example value used in the manual. , description ? null # String describing the option. + , relatedPackages ? null # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix). , type ? null # Option type, providing type-checking and value merging. , apply ? null # Function that converts the option value to something else. , internal ? null # Whether the option is for NixOS developers only. @@ -76,7 +77,6 @@ rec { getValues = map (x: x.value); getFiles = map (x: x.file); - # Generate documentation template from the list of option declaration like # the set generated with filterOptionSets. optionAttrSetToDocList = optionAttrSetToDocList' []; @@ -93,9 +93,10 @@ rec { readOnly = opt.readOnly or false; type = opt.type.description or null; } - // (if opt ? example then { example = scrubOptionValue opt.example; } else {}) - // (if opt ? default then { default = scrubOptionValue opt.default; } else {}) - // (if opt ? defaultText then { default = opt.defaultText; } else {}); + // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } + // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; } + // optionalAttrs (opt ? defaultText) { default = opt.defaultText; } + // optionalAttrs (opt ? relatedPackages && opt.relatedPackages != null) { inherit (opt) relatedPackages; }; subOptions = let ss = opt.type.getSubOptions opt.loc; diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 9ee70ba59b79..66fa4f0ba43c 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -15,13 +15,43 @@ let else if lib.isFunction x then "" else x; - # Clean up declaration sites to not refer to the NixOS source tree. + # Generate DocBook documentation for a list of packages. This is + # what `relatedPackages` option of `mkOption` from + # ../../../lib/options.nix influences. + # + # Each element of `relatedPackages` can be either + # - a string: that will be interpreted as an attribute name from `pkgs`, + # - a list: that will be interpreted as an attribute path from `pkgs`, + # - an attrset: that can specify `name`, `path`, `package`, `comment` + # (either of `name`, `path` is required, the rest are optional). + genRelatedPackages = packages: + let + unpack = p: if lib.isString p then { name = p; } + else if lib.isList p then { path = p; } + else p; + describe = args: + let + name = args.name or (lib.concatStringsSep "." args.path); + path = args.path or [ args.name ]; + package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs); + in "" + + "pkgs.${name} (${package.meta.name})" + + lib.optionalString (!package.meta.evaluates) " [UNAVAILABLE]" + + ": ${package.meta.description or "???"}." + + lib.optionalString (args ? comment) "\n${args.comment}" + # Lots of `longDescription's break DocBook, so we just wrap them into + + lib.optionalString (package.meta ? longDescription) "\n${package.meta.longDescription}" + + ""; + in "${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}"; + optionsListDesc = lib.flip map optionsListVisible (opt: opt // { + # Clean up declaration sites to not refer to the NixOS source tree. declarations = map stripAnyPrefixes opt.declarations; } // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; } // lib.optionalAttrs (opt ? default) { default = substFunction opt.default; } - // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; }); + // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; } + // lib.optionalAttrs (opt ? relatedPackages) { relatedPackages = genRelatedPackages opt.relatedPackages; }); # We need to strip references to /nix/store/* from options, # including any `extraSources` if some modules came from elsewhere, diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 5387546b5982..7b45b233ab2a 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -70,6 +70,15 @@ + + + Related packages: + + + + + Declared by: -- cgit 1.4.1 From 252ec7da0a1d624db46b299052122b4a5dbf3254 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sun, 11 Feb 2018 22:06:50 +0000 Subject: nixos: doc: make option sorting somewhat more efficient --- nixos/doc/manual/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 66fa4f0ba43c..e7d6c822e51f 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -66,15 +66,14 @@ let # and ".package" optionListLess = a: b: let - splt = lib.splitString "."; ise = lib.hasPrefix "enable"; isp = lib.hasPrefix "package"; cmp = lib.splitByAndCompare ise lib.compare (lib.splitByAndCompare isp lib.compare lib.compare); - in lib.compareLists cmp (splt a) (splt b) < 0; + in lib.compareLists cmp a.loc b.loc < 0; # Customly sort option list for the man page. - optionsList = lib.sort (a: b: optionListLess a.name b.name) optionsListDesc; + optionsList = lib.sort optionListLess optionsListDesc; # Convert the list of options into an XML file. optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList); -- cgit 1.4.1 From b468f98b02275a2ef37422576cbfcc896097980c Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sun, 11 Feb 2018 22:41:06 +0000 Subject: nixos: doc: trivial cleanup and docstring fix --- nixos/doc/manual/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index e7d6c822e51f..bbe82066aa0c 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -63,8 +63,8 @@ let stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip; # Custom "less" that pushes up all the things ending in ".enable*" - # and ".package" - optionListLess = a: b: + # and ".package*" + optionLess = a: b: let ise = lib.hasPrefix "enable"; isp = lib.hasPrefix "package"; @@ -73,7 +73,7 @@ let in lib.compareLists cmp a.loc b.loc < 0; # Customly sort option list for the man page. - optionsList = lib.sort optionListLess optionsListDesc; + optionsList = lib.sort optionLess optionsListDesc; # Convert the list of options into an XML file. optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList); -- cgit 1.4.1 From b806863a825e7acb114b936a633d58e1d5137760 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Mon, 12 Feb 2018 06:12:11 +0100 Subject: jid: remove package --- nixos/doc/manual/release-notes/rl-1803.xml | 6 +++ pkgs/development/tools/jid/default.nix | 25 ---------- pkgs/development/tools/jid/deps.nix | 75 ------------------------------ pkgs/top-level/all-packages.nix | 2 - 4 files changed, 6 insertions(+), 102 deletions(-) delete mode 100644 pkgs/development/tools/jid/default.nix delete mode 100644 pkgs/development/tools/jid/deps.nix (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 8391c550afab..fc62092b6f11 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -196,6 +196,12 @@ following incompatible changes: + + + The jid package has been removed, due to maintenance + overhead of a go package having non-versioned dependencies. + + diff --git a/pkgs/development/tools/jid/default.nix b/pkgs/development/tools/jid/default.nix deleted file mode 100644 index 9c52ac615514..000000000000 --- a/pkgs/development/tools/jid/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, buildGoPackage, fetchFromGitHub, fetchhg, fetchbzr, fetchsvn }: - -buildGoPackage rec { - name = "jid-${version}"; - version = "0.7.1"; - rev = "${version}"; - - goPackagePath = "github.com/simeji/jid"; - - src = fetchFromGitHub { - owner = "simeji"; - repo = "jid"; - inherit rev; - sha256 = "08snlqqch91w88zysfcavmqsafq93zzpkdjqkq1y7hx516fdaz1w"; - }; - - goDeps = ./deps.nix; - - meta = with stdenv.lib; { - description = "Incremental JSON digger"; - license = licenses.mit; - maintainers = [ maintainers.profpatsch ]; - }; -} diff --git a/pkgs/development/tools/jid/deps.nix b/pkgs/development/tools/jid/deps.nix deleted file mode 100644 index c3ec502b2a99..000000000000 --- a/pkgs/development/tools/jid/deps.nix +++ /dev/null @@ -1,75 +0,0 @@ -# This file was generated by go2nix. -[ - { - goPackagePath = "github.com/bitly/go-simplejson"; - fetch = { - type = "git"; - url = "https://github.com/bitly/go-simplejson"; - rev = "aabad6e819789e569bd6aabf444c935aa9ba1e44"; - sha256 = "0n9f9dz1jn1jx86d48569nznpjn9fmq3knn7r65xpy7jhih284jj"; - }; - } - { - goPackagePath = "github.com/fatih/color"; - fetch = { - type = "git"; - url = "https://github.com/fatih/color"; - rev = "e8e01ee22a7d4a91b49646e39245fe08e69c7878"; - sha256 = "1660g29qhshk6zxhpnc0f52m69jdqqdw2ccbkqw9y4kilnripfvl"; - }; - } - { - goPackagePath = "github.com/mattn/go-colorable"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-colorable"; - rev = "d228849504861217f796da67fae4f6e347643f15"; - sha256 = "0ch5sfcpmqczsh8kjbwpzdw31lacbkfyzvpzh4disnhhydbxjq0d"; - }; - } - { - goPackagePath = "github.com/mattn/go-isatty"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-isatty"; - rev = "30a891c33c7cde7b02a981314b4228ec99380cca"; - sha256 = "03gsxn89pgkj4jkxm9avnj4f0ckvcskc6fj2lcd98l3akrz50ndg"; - }; - } - { - goPackagePath = "github.com/mattn/go-runewidth"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-runewidth"; - rev = "737072b4e32b7a5018b4a7125da8d12de90e8045"; - sha256 = "09ni8bmj6p2b774bdh6mfcxl03bh5sqk860z03xpb6hv6yfxqkjm"; - }; - } - { - goPackagePath = "github.com/nsf/termbox-go"; - fetch = { - type = "git"; - url = "https://github.com/nsf/termbox-go"; - rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8"; - sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv"; - }; - } - { - goPackagePath = "github.com/nwidger/jsoncolor"; - fetch = { - type = "git"; - url = "https://github.com/nwidger/jsoncolor"; - rev = "0192e84d44af834c3a90c8a17bf670483b91ad5a"; - sha256 = "17mndgd1d233c22bd19xv4v2l2i5k8kz7y6n4n54a9i7fi9d10al"; - }; - } - { - goPackagePath = "github.com/pkg/errors"; - fetch = { - type = "git"; - url = "https://github.com/pkg/errors"; - rev = "248dadf4e9068a0b3e79f02ed0a610d935de5302"; - sha256 = "03l80r0i9bxl0vz363w62k4a8apzglgbrz6viwym3044sxkl1qks"; - }; - } -] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3fa74e9f7350..391c3017a7c9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2957,8 +2957,6 @@ with pkgs; jhead = callPackage ../tools/graphics/jhead { }; - jid = callPackage ../development/tools/jid { }; - jing = self.jing-trang; jing-trang = callPackage ../tools/text/xml/jing-trang { }; -- cgit 1.4.1 From d8f6c3fd637878d13687095cf222b58af1e31d79 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Nov 2017 13:34:05 +0100 Subject: 18.03 release notes: warn about libinput --- nixos/doc/manual/release-notes/rl-1803.xml | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 275f74654bed..b6b2fdc0cfb5 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -206,6 +206,14 @@ following incompatible changes: overhead of a go package having non-versioned dependencies. + + + When using (enabled by default in GNOME), + it now handles all input devices, not just touchpads. As a result, you might need to + re-evaluate any custom Xorg configuration. In particular, + Option "XkbRules" "base" may result in broken keyboard layout. + + -- cgit 1.4.1 From 8e6ea91496c0d2485a6c1972c1cdeba82689fff4 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Nov 2017 13:35:22 +0100 Subject: 18.03 release notes: highlight gnome 3.26 --- nixos/doc/manual/release-notes/rl-1803.xml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index b6b2fdc0cfb5..244611d7b47c 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -39,6 +39,12 @@ has the following highlights: + + + The GNOME version is now 3.26. + + + PHP now defaults to PHP 7.2 -- cgit 1.4.1 From c1bed05e341756f7fdfa73035c7f1e078e49be3d Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 3 Dec 2017 05:13:14 +0100 Subject: nixos/networking-interfaces: rename IP addresses/routes options --- nixos/doc/manual/configuration/ipv4-config.xml | 2 +- nixos/doc/manual/configuration/ipv6-config.xml | 2 +- nixos/lib/build-vms.nix | 4 +- nixos/modules/services/networking/dhcpcd.nix | 2 +- .../modules/tasks/network-interfaces-scripted.nix | 12 +-- nixos/modules/tasks/network-interfaces-systemd.nix | 10 +-- nixos/modules/tasks/network-interfaces.nix | 95 ++++++++-------------- nixos/tests/networking.nix | 56 ++++++------- 8 files changed, 72 insertions(+), 111 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml index 053501b1736d..68238b547d60 100644 --- a/nixos/doc/manual/configuration/ipv4-config.xml +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -12,7 +12,7 @@ interfaces. However, you can configure an interface manually as follows: -networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; +networking.interfaces.eth0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; Typically you’ll also want to set a default gateway and set of name diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml index 6d9e0a164e9e..74a21e18ec3f 100644 --- a/nixos/doc/manual/configuration/ipv6-config.xml +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -26,7 +26,7 @@ boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true; DHCPv6. You can configure an interface manually: -networking.interfaces.eth0.ip6 = [ { address = "fe00:aa:bb:cc::2"; prefixLength = 64; } ]; +networking.interfaces.eth0.ipv6.addresses = [ { address = "fe00:aa:bb:cc::2"; prefixLength = 64; } ]; diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 4685fe6914a2..e14105f5f011 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -51,7 +51,7 @@ rec { let interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ fst, snd }: - nameValuePair "eth${toString snd}" { ip4 = + nameValuePair "eth${toString snd}" { ipv4.addresses = [ { address = "192.168.${toString fst}.${toString m.snd}"; prefixLength = 24; } ]; @@ -64,7 +64,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head (head interfaces).value.ip4).address; + optionalString (interfaces != []) (head (head interfaces).value.ipv4.addresses).address; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index d283c7624335..d10b72ecf058 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -16,7 +16,7 @@ let # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: if i.useDHCP != null then !i.useDHCP else i.ip4 != [ ] || i.ipAddress != null) interfaces) + map (i: i.name) (filter (i: if i.useDHCP != null then !i.useDHCP else i.ipv4.addresses != [ ]) interfaces) ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.vswitches)) diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index 28bbc27a2693..66732ce7732e 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -20,14 +20,8 @@ let "sys-subsystem-net-devices-${escapeSystemdPath interface}.device"; interfaceIps = i: - i.ip4 ++ optionals cfg.enableIPv6 i.ip6 - ++ optional (i.ipAddress != null) { - address = i.ipAddress; - prefixLength = i.prefixLength; - } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { - address = i.ipv6Address; - prefixLength = i.ipv6PrefixLength; - }; + i.ipv4.addresses + ++ optionals cfg.enableIPv6 i.ipv6.addresses; destroyBond = i: '' while true; do @@ -207,7 +201,7 @@ let state="/run/nixos/network/routes/${i.name}" mkdir -p $(dirname "$state") - ${flip concatMapStrings (i.ipv4Routes ++ i.ipv6Routes) (route: + ${flip concatMapStrings (i.ipv4.routes ++ i.ipv6.routes) (route: let cidr = "${route.address}/${toString route.prefixLength}"; via = optionalString (route.via != null) ''via "${route.via}"''; diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix index be7f52a76def..c640e886fca8 100644 --- a/nixos/modules/tasks/network-interfaces-systemd.nix +++ b/nixos/modules/tasks/network-interfaces-systemd.nix @@ -9,14 +9,8 @@ let interfaces = attrValues cfg.interfaces; interfaceIps = i: - i.ip4 ++ optionals cfg.enableIPv6 i.ip6 - ++ optional (i.ipAddress != null) { - address = i.ipAddress; - prefixLength = i.prefixLength; - } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { - address = i.ipv6Address; - prefixLength = i.ipv6PrefixLength; - }; + i.ipv4.addresses + ++ optionals cfg.enableIPv6 i.ipv6.addresses; dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "both" else "none"; diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 6f8ee147649d..5036b701bd86 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, utils, stdenv, ... }: +{ config, options, lib, pkgs, utils, stdenv, ... }: with lib; with utils; @@ -182,7 +182,6 @@ let interfaceOpts = { name, ... }: { options = { - name = mkOption { example = "eth0"; type = types.str; @@ -209,7 +208,7 @@ let ''; }; - ip4 = mkOption { + ipv4.addresses = mkOption { default = [ ]; example = [ { address = "10.0.0.1"; prefixLength = 16; } @@ -221,7 +220,7 @@ let ''; }; - ip6 = mkOption { + ipv6.addresses = mkOption { default = [ ]; example = [ { address = "fdfd:b3f0:482::1"; prefixLength = 48; } @@ -233,7 +232,7 @@ let ''; }; - ipv4Routes = mkOption { + ipv4.routes = mkOption { default = []; example = [ { address = "10.0.0.0"; prefixLength = 16; } @@ -245,7 +244,7 @@ let ''; }; - ipv6Routes = mkOption { + ipv6.routes = mkOption { default = []; example = [ { address = "fdfd:b3f0::"; prefixLength = 48; } @@ -257,53 +256,6 @@ let ''; }; - ipAddress = mkOption { - default = null; - example = "10.0.0.1"; - type = types.nullOr types.str; - description = '' - IP address of the interface. Leave empty to configure the - interface using DHCP. - ''; - }; - - prefixLength = mkOption { - default = null; - example = 24; - type = types.nullOr types.int; - description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (24). - ''; - }; - - subnetMask = mkOption { - default = null; - description = '' - Defunct, supply the prefix length instead. - ''; - }; - - ipv6Address = mkOption { - default = null; - example = "2001:1470:fffd:2098::e006"; - type = types.nullOr types.str; - description = '' - IPv6 address of the interface. Leave empty to configure the - interface using NDP. - ''; - }; - - ipv6PrefixLength = mkOption { - default = 64; - example = 64; - type = types.int; - description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (64). - ''; - }; - macAddress = mkOption { default = null; example = "00:11:22:33:44:55"; @@ -375,6 +327,32 @@ let name = mkDefault name; }; + # Renamed or removed options + imports = + let + defined = x: x != "_mkMergedOptionModule"; + in [ + (mkRenamedOptionModule [ "ip4" ] [ "ipv4" "addresses"]) + (mkRenamedOptionModule [ "ip6" ] [ "ipv6" "addresses"]) + (mkRemovedOptionModule [ "subnetMask" ] '' + Supply a prefix length instead; use option + networking.interfaces..ipv{4,6}.addresses'') + (mkMergedOptionModule + [ [ "ipAddress" ] [ "prefixLength" ] ] + [ "ipv4" "addresses" ] + (cfg: with cfg; + optional (defined ipAddress && defined prefixLength) + { address = ipAddress; prefixLength = prefixLength; })) + (mkMergedOptionModule + [ [ "ipv6Address" ] [ "ipv6PrefixLength" ] ] + [ "ipv6" "addresses" ] + (cfg: with cfg; + optional (defined ipv6Address && defined ipv6PrefixLength) + { address = ipv6Address; prefixLength = ipv6PrefixLength; })) + + ({ options.warnings = options.warnings; }) + ]; + }; hexChars = stringToCharacters "0123456789abcdef"; @@ -511,7 +489,7 @@ in networking.interfaces = mkOption { default = {}; example = - { eth0.ip4 = [ { + { eth0.ipv4 = [ { address = "131.211.84.78"; prefixLength = 25; } ]; @@ -990,13 +968,10 @@ in config = { + warnings = concatMap (i: i.warnings) interfaces; + assertions = (flip map interfaces (i: { - assertion = i.subnetMask == null; - message = '' - The networking.interfaces."${i.name}".subnetMask option is defunct. Use prefixLength instead. - ''; - })) ++ (flip map interfaces (i: { # With the linux kernel, interface name length is limited by IFNAMSIZ # to 16 bytes, including the trailing null byte. # See include/linux/if.h in the kernel sources @@ -1005,7 +980,7 @@ in The name of networking.interfaces."${i.name}" is too long, it needs to be less than 16 characters. ''; })) ++ (flip map slaveIfs (i: { - assertion = i.ip4 == [ ] && i.ipAddress == null && i.ip6 == [ ] && i.ipv6Address == null; + assertion = i.ipv4.addresses == [ ] && i.ipv6.addresses == [ ]; message = '' The networking.interfaces."${i.name}" must not have any defined ips when it is a slave. ''; diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index e401004ab322..72dbf38ea3a2 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -21,10 +21,8 @@ let firewall.allowedUDPPorts = [ 547 ]; interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n: nameValuePair "eth${toString n}" { - ipAddress = "192.168.${toString n}.1"; - prefixLength = 24; - ipv6Address = "fd00:1234:5678:${toString n}::1"; - ipv6PrefixLength = 64; + ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24;} ]; + ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64;} ]; }))); }; services.dhcpd4 = { @@ -90,12 +88,12 @@ let firewall.allowPing = true; useDHCP = false; defaultGateway = "192.168.1.1"; - interfaces.eth1.ip4 = mkOverride 0 [ + interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } { address = "192.168.1.3"; prefixLength = 32; } { address = "192.168.1.10"; prefixLength = 32; } ]; - interfaces.eth2.ip4 = mkOverride 0 [ + interfaces.eth2.ipv4.addresses = mkOverride 0 [ { address = "192.168.2.2"; prefixLength = 24; } ]; }; @@ -143,12 +141,12 @@ let firewall.allowPing = true; useDHCP = true; interfaces.eth1 = { - ip4 = mkOverride 0 [ ]; - ip6 = mkOverride 0 [ ]; + ipv4.addresses = mkOverride 0 [ ]; + ipv6.addresses = mkOverride 0 [ ]; }; interfaces.eth2 = { - ip4 = mkOverride 0 [ ]; - ip6 = mkOverride 0 [ ]; + ipv4.addresses = mkOverride 0 [ ]; + ipv6.addresses = mkOverride 0 [ ]; }; }; }; @@ -198,10 +196,10 @@ let firewall.allowPing = true; useDHCP = false; interfaces.eth1 = { - ip4 = mkOverride 0 [ ]; + ipv4.addresses = mkOverride 0 [ ]; useDHCP = true; }; - interfaces.eth2.ip4 = mkOverride 0 [ ]; + interfaces.eth2.ipv4.addresses = mkOverride 0 [ ]; }; }; testScript = { nodes, ... }: @@ -241,9 +239,9 @@ let interfaces = [ "eth1" "eth2" ]; driverOptions.mode = "balance-rr"; }; - interfaces.eth1.ip4 = mkOverride 0 [ ]; - interfaces.eth2.ip4 = mkOverride 0 [ ]; - interfaces.bond.ip4 = mkOverride 0 + interfaces.eth1.ipv4.addresses = mkOverride 0 [ ]; + interfaces.eth2.ipv4.addresses = mkOverride 0 [ ]; + interfaces.bond.ipv4.addresses = mkOverride 0 [ { inherit address; prefixLength = 30; } ]; }; }; @@ -274,7 +272,7 @@ let useNetworkd = networkd; firewall.allowPing = true; useDHCP = false; - interfaces.eth1.ip4 = mkOverride 0 + interfaces.eth1.ipv4.addresses = mkOverride 0 [ { inherit address; prefixLength = 24; } ]; }; }; @@ -289,9 +287,9 @@ let firewall.allowPing = true; useDHCP = false; bridges.bridge.interfaces = [ "eth1" "eth2" ]; - interfaces.eth1.ip4 = mkOverride 0 [ ]; - interfaces.eth2.ip4 = mkOverride 0 [ ]; - interfaces.bridge.ip4 = mkOverride 0 + interfaces.eth1.ipv4.addresses = mkOverride 0 [ ]; + interfaces.eth2.ipv4.addresses = mkOverride 0 [ ]; + interfaces.bridge.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; }; }; @@ -328,7 +326,7 @@ let firewall.allowPing = true; useDHCP = true; macvlans.macvlan.interface = "eth1"; - interfaces.eth1.ip4 = mkOverride 0 [ ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ ]; }; }; testScript = { nodes, ... }: @@ -369,9 +367,9 @@ let local = address4; dev = "eth1"; }; - interfaces.eth1.ip4 = mkOverride 0 + interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = address4; prefixLength = 24; } ]; - interfaces.sit.ip6 = mkOverride 0 + interfaces.sit.ipv6.addresses = mkOverride 0 [ { address = address6; prefixLength = 64; } ]; }; }; @@ -410,9 +408,9 @@ let id = 1; interface = "eth0"; }; - interfaces.eth0.ip4 = mkOverride 0 [ ]; - interfaces.eth1.ip4 = mkOverride 0 [ ]; - interfaces.vlan.ip4 = mkOverride 0 + interfaces.eth0.ipv4.addresses = mkOverride 0 [ ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ ]; + interfaces.vlan.ipv4.addresses = mkOverride 0 [ { inherit address; prefixLength = 24; } ]; }; }; @@ -538,13 +536,13 @@ let machine = { networking.useDHCP = false; networking.interfaces."eth0" = { - ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; - ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; - ipv6Routes = [ + ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; + ipv6.addresses = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; + ipv6.routes = [ { address = "fdfd:b3f0::"; prefixLength = 48; } { address = "2001:1470:fffd:2098::"; prefixLength = 64; via = "fdfd:b3f0::1"; } ]; - ipv4Routes = [ + ipv4.routes = [ { address = "10.0.0.0"; prefixLength = 16; options = { mtu = "1500"; }; } { address = "192.168.2.0"; prefixLength = 24; via = "192.168.1.1"; } ]; -- cgit 1.4.1 From 06517547519737cd4c719b0c8ef78d046816f57e Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 6 Dec 2017 01:14:14 +0100 Subject: nixos/doc: document networking.interfaces module changes --- nixos/doc/manual/release-notes/rl-1803.xml | 40 +++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 2494e487da15..09d34b6f0356 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -261,10 +261,42 @@ following incompatible changes: - The option is now none by default. - An assertion failure is thrown if WM's and DM's default are none. - To explicitly run a plain X session without and DM or WM, the newly introduced option - must be set to true. + In the module the + following options have been removed: + + + + + + + + + + + + + + + + + + To assign static addresses to an interface the options + and + should be used instead. + The options and have been + renamed to + respectively. + The new options and + have been added to set up static routing. + + + + + The option is now + none by default. An assertion failure is thrown if WM's + and DM's default are none. + To explicitly run a plain X session without and DM or WM, the newly + introduced option must be set to true. -- cgit 1.4.1 From 810c4702cfe4ca34259d52dd675029d43686e821 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sat, 17 Feb 2018 18:44:23 +0000 Subject: stdenv.mkDerivation: rename `meta.evaluates` -> `meta.available` A much better name. --- nixos/doc/manual/default.nix | 2 +- pkgs/stdenv/generic/check-meta.nix | 2 +- pkgs/stdenv/generic/make-derivation.nix | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index bbe82066aa0c..6098b057a370 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -36,7 +36,7 @@ let package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs); in "" + "pkgs.${name} (${package.meta.name})" - + lib.optionalString (!package.meta.evaluates) " [UNAVAILABLE]" + + lib.optionalString (!package.meta.available) " [UNAVAILABLE]" + ": ${package.meta.description or "???"}." + lib.optionalString (args ? comment) "\n${args.comment}" # Lots of `longDescription's break DocBook, so we just wrap them into diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index dc5e79fcd4f2..93d0f4cc9805 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -159,7 +159,7 @@ let executables = listOf str; outputsToInstall = listOf str; position = str; - evaluates = bool; + available = bool; repositories = attrsOf str; isBuildPythonPackage = platforms; schedulingPriority = int; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index e021b284a122..e8f78d7401f1 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -238,9 +238,9 @@ rec { position = pos.file + ":" + toString pos.line; # Expose the result of the checks for everyone to see. } // { - evaluates = validity.valid + available = validity.valid && (if config.checkMetaRecursively or false - then lib.all (d: d.meta.evaluates or true) references + then lib.all (d: d.meta.available or true) references else true); }; -- cgit 1.4.1 From e8ddba2bcfa48a79e8ced8e9bd75570b461a6492 Mon Sep 17 00:00:00 2001 From: Ben Creasy Date: Mon, 19 Feb 2018 15:18:07 -0800 Subject: Remove Xfce-specific display manager tip This is already covered in the previous chapter https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/configuration/x-windows.xml#L38-L46 - Xfce also depends on X and it doesn't need a special section on display managers. --- nixos/doc/manual/configuration/xfce.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 21c7a85e19cc..18804d2c08be 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -35,18 +35,7 @@ services.compton = { To install them manually (system wide), put them into your environment.systemPackages. - - - NixOS’s default display manager is SLiM. - (DM is the program that provides a graphical login prompt - and manages the X server.) - You can, for example, select KDE’s - sddm instead: - -services.xserver.displayManager.sddm.enable = true; - - - + Thunar Volume Support -- cgit 1.4.1 From 385369eeb24c61aba54c06689f109906769d4208 Mon Sep 17 00:00:00 2001 From: Ben Creasy Date: Tue, 20 Feb 2018 00:59:13 -0800 Subject: nixos/doc: document password-promptless installation (#35210) --- nixos/doc/manual/installation/installing.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index d4746f2eb3a8..2a5d1fc3ce8d 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -275,11 +275,20 @@ Enter new UNIX password: *** Retype new UNIX password: *** + + + To prevent the password prompt, set users.mutableUsers = false; in + configuration.nix, which allows unattended installation + necessary in automation. + + + - If everything went well: + + If everything went well: # reboot -- cgit 1.4.1 From 663d6e8f9d020a74a2d4a606223d04dcf85135c2 Mon Sep 17 00:00:00 2001 From: Robert Schütz Date: Mon, 19 Feb 2018 16:15:28 +0100 Subject: attic: uninit Attic is currently broken on master. The Attic git repo has not been updated since May 2015. Arch Linux also does not have an Attic package anymore. Borg should be able to read Attic backups using http://borgbackup.readthedocs.io/en/stable/usage/upgrade.html#attic-and-borg-0-xx-to-borg-1-x. --- nixos/doc/manual/release-notes/rl-1803.xml | 8 +++++ pkgs/tools/backup/attic/default.nix | 56 ------------------------------ pkgs/top-level/all-packages.nix | 4 --- 3 files changed, 8 insertions(+), 60 deletions(-) delete mode 100644 pkgs/tools/backup/attic/default.nix (limited to 'nixos/doc/manual') diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 09d34b6f0356..ce58c4dc95b0 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -231,6 +231,14 @@ following incompatible changes: Option "XkbRules" "base" may result in broken keyboard layout. + + + The attic package was removed. A maintained fork called + Borg should be used instead. + Migration instructions can be found + here. + + diff --git a/pkgs/tools/backup/attic/default.nix b/pkgs/tools/backup/attic/default.nix deleted file mode 100644 index 754e12e7f776..000000000000 --- a/pkgs/tools/backup/attic/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv, fetchzip, python3Packages, openssl, acl, fetchurl, pkgconfig, fuse, attr, which }: - -let - - # Old version needed for attic (backup program) due to breaking change in - # llfuse >= 0.42. - llfuse-0-41 = python3Packages.buildPythonPackage rec { - name = "llfuse-0.41.1"; - src = fetchurl { - url = "mirror://pypi/l/llfuse/${name}.tar.bz2"; - sha256 = "1imlqw9b73086y97izr036f58pgc5akv4ihc2rrf8j5h75jbrlaa"; - }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = with python3Packages; [ pytest fuse attr which ]; - propagatedBuildInputs = with python3Packages; [ contextlib2 ]; - checkPhase = '' - py.test - ''; - # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin' - doCheck = false; - meta = { - description = "Python bindings for the low-level FUSE API"; - homepage = https://code.google.com/p/python-llfuse/; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ bjornfor ]; - }; - }; - -in python3Packages.buildPythonApplication rec { - name = "attic-${version}"; - version = "0.16"; - namePrefix = ""; - - src = fetchzip { - name = "${name}-src"; - url = "https://github.com/jborg/attic/archive/${version}.tar.gz"; - sha256 = "008566hhsd3ck70ql0fdn4vaqjfcnf493gwd49d6294f8r7qn06z"; - }; - - propagatedBuildInputs = with python3Packages; - [ cython msgpack openssl acl llfuse-0-41 ]; - - preConfigure = '' - export ATTIC_OPENSSL_PREFIX="${openssl.dev}" - substituteInPlace setup.py --replace "version=versioneer.get_version()" "version='${version}'" - ''; - - meta = with stdenv.lib; { - description = "A deduplicating backup program"; - homepage = https://attic-backup.org; - license = licenses.bsd3; - maintainers = [ maintainers.wscott ]; - platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d82cd1fbf23..165ca843a8e9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -546,10 +546,6 @@ with pkgs; atomicparsley = callPackage ../tools/video/atomicparsley { }; - attic = callPackage ../tools/backup/attic { - python3Packages = python34Packages; - }; - autoflake = callPackage ../development/tools/analysis/autoflake { }; avfs = callPackage ../tools/filesystems/avfs { }; -- cgit 1.4.1