diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f4433807809..48b84f8c36c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,7 +15,7 @@ Reviewing guidelines: https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/do -- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux) +- [ ] Tested using sandboxing ([nix.useSandbox](https://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](https://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux) - Built on platform(s) - [ ] NixOS - [ ] macOS diff --git a/doc/contributing/quick-start.xml b/doc/contributing/quick-start.xml index 8e4e914d451..09d60834ec2 100644 --- a/doc/contributing/quick-start.xml +++ b/doc/contributing/quick-start.xml @@ -111,7 +111,7 @@ The exact syntax and semantics of the Nix expression language, including the built-in function, are described in the Nix manual in the chapter on writing Nix expressions. + xlink:href="https://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter on writing Nix expressions. diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md index 6ee450eeb59..1a8924082bf 100644 --- a/doc/languages-frameworks/android.section.md +++ b/doc/languages-frameworks/android.section.md @@ -167,7 +167,7 @@ parameters that the SDK composition function (the function shown in the previous section) supports. This build function is particularly useful when it is desired to use -[Hydra](http://nixos.org/hydra): the Nix-based continuous integration solution +[Hydra](https://nixos.org/hydra): the Nix-based continuous integration solution to build Android apps. An Android APK gets exposed as a build product and can be installed on any Android device with a web browser by navigating to the build result page. diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml index 7671714d8a9..159216ca981 100644 --- a/doc/languages-frameworks/gnome.xml +++ b/doc/languages-frameworks/gnome.xml @@ -40,6 +40,23 @@ +
+ Packaging icon themes + + + Icon themes may inherit from other icon themes. The inheritance is specified using the Inherits key in the index.theme file distributed with the icon theme. According to the icon theme specification, icons not provided by the theme are looked for in its parent icon themes. Therefore the parent themes should be installed as dependencies for a more complete experience regarding the icon sets used. + + + + The package hicolor-icon-theme provides a setup hook which makes symbolic links for the parent themes into the directory share/icons of the current theme directory in the nix store, making sure they can be found at runtime. For that to work the packages providing parent icon themes should be listed as propagated build dependencies, together with hicolor-icon-theme. + + + + Also make sure that icon-theme.cache is installed for each theme provided by the package, and set dontDropIconThemeCache to true so that the cache file is not removed by the gtk3 setup hook. + + +
+
GTK Themes diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index b727f2fb634..cba4d0561b0 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -103,8 +103,8 @@ command displays the complete list of available compilers: $ nix-env -f "" -qaP -A haskell.compiler haskell.compiler.ghc8101 ghc-8.10.1 haskell.compiler.integer-simple.ghc8101 ghc-8.10.1 -haskell.compiler.ghcHEAD ghc-8.11.20200403 -haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403 +haskell.compiler.ghcHEAD ghc-8.11.20200505 +haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200505 haskell.compiler.ghc822Binary ghc-8.2.2-binary haskell.compiler.ghc844 ghc-8.4.4 haskell.compiler.ghc863Binary ghc-8.6.3-binary diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 9364c764bbf..a6f56d791c5 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -21,6 +21,7 @@ + diff --git a/doc/languages-frameworks/ios.section.md b/doc/languages-frameworks/ios.section.md index 5a81795c004..768e0690b96 100644 --- a/doc/languages-frameworks/ios.section.md +++ b/doc/languages-frameworks/ios.section.md @@ -18,7 +18,7 @@ The primary objective of this project is to use the Nix expression language to specify how iOS apps can be built from source code, and to automatically spawn iOS simulator instances for testing. -This component also makes it possible to use [Hydra](http://nixos.org/hydra), +This component also makes it possible to use [Hydra](https://nixos.org/hydra), the Nix-based continuous integration server to regularly build iOS apps and to do wireless ad-hoc installations of enterprise IPAs on iOS devices through Hydra. diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md index 101f7b043ff..763beeb5935 100644 --- a/doc/languages-frameworks/php.section.md +++ b/doc/languages-frameworks/php.section.md @@ -1,10 +1,8 @@ -# PHP +# PHP {#sec-php} -## User Guide +## User Guide {#ssec-php-user-guide} -### Using PHP - -#### Overview +### Overview {#ssec-php-user-guide-overview} Several versions of PHP are available on Nix, each of which having a wide variety of extensions and libraries available. @@ -36,7 +34,7 @@ opcache extension shipped with PHP is available at `php.extensions.opcache` and the third-party ImageMagick extension at `php.extensions.imagick`. -#### Installing PHP with extensions +### Installing PHP with extensions {#ssec-php-user-guide-installing-with-extensions} A PHP package with specific extensions enabled can be built using `php.withExtensions`. This is a function which accepts an anonymous @@ -64,7 +62,7 @@ To build your list of extensions from the ground up, you can simply ignore `enabled`: ```nix -php.withExtensions ({ all, ... }: with all; [ opcache imagick ]) +php.withExtensions ({ all, ... }: with all; [ imagick opcache ]) ``` `php.withExtensions` provides extensions by wrapping a minimal php @@ -89,14 +87,14 @@ php.buildEnv { } ``` -##### Example setup for `phpfpm` +#### Example setup for `phpfpm` {#ssec-php-user-guide-installing-with-extensions-phpfpm} You can use the previous examples in a `phpfpm` pool called `foo` as follows: ```nix let - myPhp = php.withExtensions ({ all, ... }: with all; [ opcache imagick ]); + myPhp = php.withExtensions ({ all, ... }: with all; [ imagick opcache ]); in { services.phpfpm.pools."foo".phpPackage = myPhp; }; @@ -113,7 +111,7 @@ in { }; ``` -##### Example usage with `nix-shell` +#### Example usage with `nix-shell` {#ssec-php-user-guide-installing-with-extensions-nix-shell} This brings up a temporary environment that contains a PHP interpreter with the extensions `imagick` and `opcache` enabled: @@ -121,3 +119,19 @@ with the extensions `imagick` and `opcache` enabled: ```sh nix-shell -p 'php.withExtensions ({ all, ... }: with all; [ imagick opcache ])' ``` + +### Installing PHP packages with extensions {#ssec-php-user-guide-installing-packages-with-extensions} + +All interactive tools use the PHP package you get them from, so all +packages at `php.packages.*` use the `php` package with its default +extensions. Sometimes this default set of extensions isn't enough and +you may want to extend it. A common case of this is the `composer` +package: a project may depend on certain extensions and `composer` +won't work with that project unless those extensions are loaded. + +Example of building `composer` with additional extensions: +```nix +(php.withExtensions ({ all, enabled }: + enabled ++ (with all; [ imagick redis ])) +).packages.composer +``` diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index e6f0b64fa9c..00d5d0ff04c 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -9,7 +9,7 @@ Several versions of the Python interpreter are available on Nix, as well as a high amount of packages. The attribute `python` refers to the default interpreter, which is currently CPython 2.7. It is also possible to refer to -specific versions, e.g. `python35` refers to CPython 3.5, and `pypy` refers to +specific versions, e.g. `python38` refers to CPython 3.8, and `pypy` refers to the default PyPy interpreter. Python is used a lot, and in different ways. This affects also how it is @@ -25,10 +25,10 @@ however, are in separate sets, with one set per interpreter version. The interpreters have several common attributes. One of these attributes is `pkgs`, which is a package set of Python libraries for this specific interpreter. E.g., the `toolz` package corresponding to the default interpreter -is `python.pkgs.toolz`, and the CPython 3.5 version is `python35.pkgs.toolz`. +is `python.pkgs.toolz`, and the CPython 3.8 version is `python38.pkgs.toolz`. The main package set contains aliases to these package sets, e.g. -`pythonPackages` refers to `python.pkgs` and `python35Packages` to -`python35.pkgs`. +`pythonPackages` refers to `python.pkgs` and `python38Packages` to +`python38.pkgs`. #### Installing Python and packages @@ -50,7 +50,7 @@ to create an environment with `python.buildEnv` or `python.withPackages` where the interpreter and other executables are able to find each other and all of the modules. -In the following examples we create an environment with Python 3.5, `numpy` and +In the following examples we create an environment with Python 3.8, `numpy` and `toolz`. As you may imagine, there is one limitation here, and that's that you can install only one environment at a time. You will notice the complaints about collisions when you try to install a second environment. @@ -61,7 +61,7 @@ Create a file, e.g. `build.nix`, with the following expression ```nix with import {}; -python35.withPackages (ps: with ps; [ numpy toolz ]) +python38.withPackages (ps: with ps; [ numpy toolz ]) ``` and install it in your profile with ```shell @@ -79,7 +79,7 @@ Nixpkgs set, e.g. using `config.nix`, { # ... packageOverrides = pkgs: with pkgs; { - myEnv = python35.withPackages (ps: with ps; [ numpy toolz ]); + myEnv = python38.withPackages (ps: with ps; [ numpy toolz ]); }; } ``` @@ -101,7 +101,7 @@ environment system-wide. { # ... environment.systemPackages = with pkgs; [ - (python35.withPackages(ps: with ps; [ numpy toolz ])) + (python38.withPackages(ps: with ps; [ numpy toolz ])) ]; } ``` @@ -118,7 +118,7 @@ recommended method is to create an environment with `python.buildEnv` or `python.withPackages` and load that. E.g. ```sh -$ nix-shell -p 'python35.withPackages(ps: with ps; [ numpy toolz ])' +$ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy toolz ])' ``` opens a shell from which you can launch the interpreter @@ -131,7 +131,7 @@ The other method, which is not recommended, does not create an environment and requires you to list the packages directly, ```sh -$ nix-shell -p python35.pkgs.numpy python35.pkgs.toolz +$ nix-shell -p python38.pkgs.numpy python38.pkgs.toolz ``` Again, it is possible to launch the interpreter from the shell. The Python @@ -140,14 +140,14 @@ that specific interpreter. ##### Load environment from `.nix` expression As explained in the Nix manual, `nix-shell` can also load an -expression from a `.nix` file. Say we want to have Python 3.5, `numpy` +expression from a `.nix` file. Say we want to have Python 3.8, `numpy` and `toolz`, like before, in an environment. Consider a `shell.nix` file with ```nix with import {}; -(python35.withPackages (ps: [ps.numpy ps.toolz])).env +(python38.withPackages (ps: [ps.numpy ps.toolz])).env ``` Executing `nix-shell` gives you again a Nix shell from which you can run Python. @@ -158,7 +158,7 @@ What's happening here? imports the `` function, `{}` calls it and the `with` statement brings all attributes of `nixpkgs` in the local scope. These attributes form the main package set. -2. Then we create a Python 3.5 environment with the `withPackages` function. +2. Then we create a Python 3.8 environment with the `withPackages` function. 3. The `withPackages` function expects us to provide a function as an argument that takes the set of all python packages and returns a list of packages to include in the environment. Here, we select the packages `numpy` and `toolz` @@ -170,7 +170,7 @@ To combine this with `mkShell` you can: with import {}; let - pythonEnv = python35.withPackages (ps: [ + pythonEnv = python38.withPackages (ps: [ ps.numpy ps.toolz ]); @@ -188,13 +188,13 @@ option, with which you can execute a command in the `nix-shell`. We can e.g. directly open a Python shell ```sh -$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3" +$ nix-shell -p python38Packages.numpy python38Packages.toolz --run "python3" ``` or run a script ```sh -$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3 myscript.py" +$ nix-shell -p python38Packages.numpy python38Packages.toolz --run "python3 myscript.py" ``` ##### `nix-shell` as shebang @@ -231,11 +231,11 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th buildPythonPackage rec { pname = "toolz"; - version = "0.7.4"; + version = "0.10.0"; src = fetchPypi { inherit pname version; - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; + sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560"; }; doCheck = false; @@ -260,8 +260,8 @@ information. The output of the function is a derivation. An expression for `toolz` can be found in the Nixpkgs repository. As explained in the introduction of this Python section, a derivation of `toolz` is available -for each interpreter version, e.g. `python35.pkgs.toolz` refers to the `toolz` -derivation corresponding to the CPython 3.5 interpreter. +for each interpreter version, e.g. `python38.pkgs.toolz` refers to the `toolz` +derivation corresponding to the CPython 3.8 interpreter. The above example works when you're directly working on `pkgs/top-level/python-packages.nix` in the Nixpkgs repository. Often though, you will want to test a Nix expression outside of the Nixpkgs tree. @@ -273,13 +273,13 @@ and adds it along with a `numpy` package to a Python environment. with import {}; ( let - my_toolz = python35.pkgs.buildPythonPackage rec { + my_toolz = python38.pkgs.buildPythonPackage rec { pname = "toolz"; - version = "0.7.4"; + version = "0.10.0"; - src = python35.pkgs.fetchPypi { + src = python38.pkgs.fetchPypi { inherit pname version; - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; + sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560"; }; doCheck = false; @@ -290,12 +290,12 @@ with import {}; }; }; - in python35.withPackages (ps: [ps.numpy my_toolz]) + in python38.withPackages (ps: [ps.numpy my_toolz]) ).env ``` Executing `nix-shell` will result in an environment in which you can use -Python 3.5 and the `toolz` package. As you can see we had to explicitly mention +Python 3.8 and the `toolz` package. As you can see we had to explicitly mention for which Python version we want to build a package. So, what did we do here? Well, we took the Nix expression that we used earlier @@ -435,7 +435,7 @@ If we create a `shell.nix` file which calls `buildPythonPackage`, and if `src` is a local source, and if the local source has a `setup.py`, then development mode is activated. -In the following example we create a simple environment that has a Python 3.5 +In the following example we create a simple environment that has a Python 3.8 version of our package in it, as well as its dependencies and other packages we like to have in the environment, all specified with `propagatedBuildInputs`. Indeed, we can just add any package we like to have in our environment to @@ -443,7 +443,7 @@ Indeed, we can just add any package we like to have in our environment to ```nix with import {}; -with python35Packages; +with python38Packages; buildPythonPackage rec { name = "mypackage"; @@ -505,9 +505,9 @@ with import {}; ( let toolz = callPackage /path/to/toolz/release.nix { - buildPythonPackage = python35Packages.buildPythonPackage; + buildPythonPackage = python38Packages.buildPythonPackage; }; - in python35.withPackages (ps: [ ps.numpy toolz ]) + in python38.withPackages (ps: [ ps.numpy toolz ]) ).env ``` @@ -515,8 +515,8 @@ Important to remember is that the Python version for which the package is made depends on the `python` derivation that is passed to `buildPythonPackage`. Nix tries to automatically pass arguments when possible, which is why generally you don't explicitly define which `python` derivation should be used. In the above -example we use `buildPythonPackage` that is part of the set `python35Packages`, -and in this case the `python35` interpreter is automatically used. +example we use `buildPythonPackage` that is part of the set `python38Packages`, +and in this case the `python38` interpreter is automatically used. ## Reference @@ -662,7 +662,7 @@ following are specific to `buildPythonPackage`: variables which will be available when the binary is run. For example, `makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`. * `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this - defaults to `"python3.5-"` for Python 3.5, etc., and in case of applications + defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications to `""`. * `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`). @@ -960,7 +960,7 @@ has security implications and is relevant for those using Python in a When the environment variable `DETERMINISTIC_BUILD` is set, all bytecode will have timestamp 1. The `buildPythonPackage` function sets `DETERMINISTIC_BUILD=1` -and [PYTHONHASHSEED=0](https://docs.python.org/3.5/using/cmdline.html#envvar-PYTHONHASHSEED). +and [PYTHONHASHSEED=0](https://docs.python.org/3.8/using/cmdline.html#envvar-PYTHONHASHSEED). Both are also exported in `nix-shell`. @@ -1014,7 +1014,7 @@ with import {}; packageOverrides = self: super: { pandas = super.pandas.overridePythonAttrs(old: {name="foo";}); }; - in pkgs.python35.override {inherit packageOverrides;}; + in pkgs.python38.override {inherit packageOverrides;}; in python.withPackages(ps: [ps.pandas])).env ``` @@ -1036,7 +1036,7 @@ with import {}; packageOverrides = self: super: { scipy = super.scipy_0_17; }; - in (pkgs.python35.override {inherit packageOverrides;}).withPackages (ps: [ps.blaze]) + in (pkgs.python38.override {inherit packageOverrides;}).withPackages (ps: [ps.blaze]) ).env ``` @@ -1049,12 +1049,12 @@ If you want the whole of Nixpkgs to use your modifications, then you can use ```nix let pkgs = import {}; - newpkgs = import pkgs.path { overlays = [ (pkgsself: pkgssuper: { - python27 = let - packageOverrides = self: super: { - numpy = super.numpy_1_10; + newpkgs = import pkgs.path { overlays = [ (self: super: { + python38 = let + packageOverrides = python-self: python-super: { + numpy = python-super.numpy_1_18.3; }; - in pkgssuper.python27.override {inherit packageOverrides;}; + in super.python38.override {inherit packageOverrides;}; } ) ]; }; in newpkgs.inkscape ``` diff --git a/doc/preface.chapter.md b/doc/preface.chapter.md index 7fa65ab1102..549e42de7aa 100644 --- a/doc/preface.chapter.md +++ b/doc/preface.chapter.md @@ -42,7 +42,7 @@ distributed as soon as all tests for that channel pass, e.g. [this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents) shows the status of tests for the `nixpkgs` channel. -The tests are conducted by a cluster called [Hydra](http://nixos.org/hydra/), +The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/), which also builds binary packages from the Nix expressions in Nixpkgs for `x86_64-linux`, `i686-linux` and `x86_64-darwin`. The binaries are made available via a [binary cache](https://cache.nixos.org). diff --git a/doc/release-notes.xml b/doc/release-notes.xml index 7575289e755..a15f5466729 100644 --- a/doc/release-notes.xml +++ b/doc/release-notes.xml @@ -286,7 +286,7 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/ This release of Nixpkgs requires Nix 0.10 or higher. +xlink:href='https://nixos.org/releases/nix/nix-0.10/'>Nix 0.10 or higher. @@ -436,7 +436,7 @@ stdenv.mkDerivation { Distribution files have been moved to . + xlink:href="https://nixos.org/" />. diff --git a/doc/stdenv/stdenv.xml b/doc/stdenv/stdenv.xml index 206203be1ce..65a343d7edd 100644 --- a/doc/stdenv/stdenv.xml +++ b/doc/stdenv/stdenv.xml @@ -145,7 +145,7 @@ genericBuild - GNU Make. It has been patched to provide nested output that can be fed into the nix-log2xml command and log2html stylesheet to create a structured, readable output of the build steps performed by Make. + GNU Make. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 02114a9f004..1fff2727848 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -758,7 +758,7 @@ name = "Jonathan Glines"; }; avaq = { - email = "avaq+nixos@xs4all.nl"; + email = "nixpkgs@account.avaq.it"; github = "avaq"; githubId = 1217745; name = "Aldwin Vlasblom"; @@ -1662,6 +1662,12 @@ } ]; }; + cyplo = { + email = "nixos@cyplo.dev"; + github = "cyplo"; + githubId = 217899; + name = "Cyryl Płotnicki"; + }; d-goldin = { email = "dgoldin+github@protonmail.ch"; github = "d-goldin"; @@ -4019,12 +4025,6 @@ fingerprint = "8992 44FC D291 5CA2 0A97 802C 156C 88A5 B0A0 4B2A"; }]; }; - kjuvi = { - email = "quentin.vaucher@pm.me"; - github = "kjuvi"; - githubId = 17534323; - name = "Quentin Vaucher"; - }; kkallio = { email = "tierpluspluslists@gmail.com"; name = "Karn Kallio"; @@ -4084,6 +4084,12 @@ githubId = 6346418; name = "Kolby Crouch"; }; + kolloch = { + email = "info@eigenvalue.net"; + github = "kolloch"; + githubId = 339354; + name = "Peter Kolloch"; + }; konimex = { email = "herdiansyah@netc.eu"; github = "konimex"; @@ -4423,6 +4429,16 @@ fingerprint = "74F5 E5CC 19D3 B5CB 608F 6124 68FF 81E6 A785 0F49"; }]; }; + lourkeur = { + name = "Louis Bettens"; + email = "louis@bettens.info"; + github = "lourkeur"; + githubId = 15657735; + keys = [{ + longkeyid = "ed25519/0xDFE1D4A017337E2A"; + fingerprint = "5B93 9CFA E8FC 4D8F E07A 3AEA DFE1 D4A0 1733 7E2A"; + }]; + }; luis = { email = "luis.nixos@gmail.com"; github = "Luis-Hebendanz"; @@ -5048,6 +5064,12 @@ githubId = 3269878; name = "Miguel Madrid Mencía"; }; + mindavi = { + email = "rol3517@gmail.com"; + github = "Mindavi"; + githubId = 9799623; + name = "Rick van Schijndel"; + }; minijackson = { email = "minijackson@riseup.net"; github = "minijackson"; @@ -5846,6 +5868,16 @@ githubId = 131844; name = "Igor Pashev"; }; + patryk27 = { + email = "wychowaniec.patryk@gmail.com"; + github = "Patryk27"; + githubId = 3395477; + name = "Patryk Wychowaniec"; + keys = [{ + longkeyid = "rsa4096/0xF62547D075E09767"; + fingerprint = "196A BFEC 6A1D D1EC 7594 F8D1 F625 47D0 75E0 9767"; + }]; + }; patternspandemic = { email = "patternspandemic@live.com"; github = "patternspandemic"; @@ -7130,6 +7162,12 @@ githubId = 602439; name = "Serguei Narojnyi"; }; + snicket2100 = { + email = "57048005+snicket2100@users.noreply.github.com"; + github = "snicket2100"; + githubId = 57048005; + name = "snicket2100"; + }; snyh = { email = "snyh@snyh.org"; github = "snyh"; @@ -7592,12 +7630,6 @@ githubId = 1141680; name = "Thane Gill"; }; - the-kenny = { - email = "moritz@tarn-vedra.de"; - github = "the-kenny"; - githubId = 31167; - name = "Moritz Ulrich"; - }; thedavidmeister = { email = "thedavidmeister@gmail.com"; github = "thedavidmeister"; @@ -7650,12 +7682,24 @@ githubId = 7709; name = "Thomaz Leite"; }; + thomasdesr = { + email = "git@hive.pw"; + github = "thomasdesr"; + githubId = 681004; + name = "Thomas Desrosiers"; + }; ThomasMader = { email = "thomas.mader@gmail.com"; github = "ThomasMader"; githubId = 678511; name = "Thomas Mader"; }; + thomasjm = { + email = "tom@codedown.io"; + github = "thomasjm"; + githubId = 1634990; + name = "Tom McLaughlin"; + }; thoughtpolice = { email = "aseipp@pobox.com"; github = "thoughtpolice"; @@ -8311,6 +8355,12 @@ githubId = 1297598; name = "Konrad Borowski"; }; + xiorcale = { + email = "quentin.vaucher@pm.me"; + github = "xiorcale"; + githubId = 17534323; + name = "Quentin Vaucher"; + }; xnaveira = { email = "xnaveira@gmail.com"; github = "xnaveira"; diff --git a/maintainers/scripts/build.nix b/maintainers/scripts/build.nix new file mode 100644 index 00000000000..c70993cf138 --- /dev/null +++ b/maintainers/scripts/build.nix @@ -0,0 +1,43 @@ +{ maintainer }: + +# based on update.nix +# nix-build build.nix --argstr maintainer + +let + pkgs = import ./../../default.nix {}; + maintainer_ = pkgs.lib.maintainers.${maintainer}; + packagesWith = cond: return: set: + (pkgs.lib.flatten + (pkgs.lib.mapAttrsToList + (name: pkg: + let + result = builtins.tryEval + ( + if pkgs.lib.isDerivation pkg && cond name pkg + then [ (return name pkg) ] + else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false + then packagesWith cond return pkg + else [ ] + ); + in + if result.success then result.value + else [ ] + ) + set + ) + ); +in +packagesWith + (name: pkg: + ( + if builtins.hasAttr "maintainers" pkg.meta + then ( + if builtins.isList pkg.meta.maintainers + then builtins.elem maintainer_ pkg.meta.maintainers + else maintainer_ == pkg.meta.maintainers + ) + else false + ) + ) + (name: pkg: pkg) + pkgs diff --git a/maintainers/scripts/hydra-eval-failures.py b/maintainers/scripts/hydra-eval-failures.py index 6e7ec2dbc00..0f738c5427b 100755 --- a/maintainers/scripts/hydra-eval-failures.py +++ b/maintainers/scripts/hydra-eval-failures.py @@ -79,7 +79,7 @@ def cli(jobset): and print a summary of failed builds """ - url = "http://hydra.nixos.org/jobset/{}".format(jobset) + url = "https://hydra.nixos.org/jobset/{}".format(jobset) # get the last evaluation click.echo(click.style( diff --git a/nixos/README b/nixos/README index 4ecf648a930..ce4dd1988d2 100644 --- a/nixos/README +++ b/nixos/README @@ -2,4 +2,4 @@ NixOS is a Linux distribution based on the purely functional package management system Nix. More information can be found at -http://nixos.org/nixos and in the manual in doc/manual. +https://nixos.org/nixos and in the manual in doc/manual. diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml index 182641055e4..02cb78f47e8 100644 --- a/nixos/doc/manual/configuration/adding-custom-packages.xml +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -11,7 +11,7 @@ the package to your clone, and (optionally) submit a patch or pull request to have it accepted into the main Nixpkgs repository. This is described in detail in the Nixpkgs +xlink:href="https://nixos.org/nixpkgs/manual">Nixpkgs manual. In short, you clone Nixpkgs: $ git clone https://github.com/NixOS/nixpkgs diff --git a/nixos/doc/manual/configuration/config-syntax.xml b/nixos/doc/manual/configuration/config-syntax.xml index 5ef498cf9ae..5526dea247c 100644 --- a/nixos/doc/manual/configuration/config-syntax.xml +++ b/nixos/doc/manual/configuration/config-syntax.xml @@ -14,7 +14,7 @@ when managing complex systems. The syntax and semantics of the Nix language are fully described in the Nix +xlink:href="https://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix manual, but here we give a short overview of the most important constructs useful in NixOS configuration files. diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml index ea980254a8f..289face16de 100644 --- a/nixos/doc/manual/configuration/summary.xml +++ b/nixos/doc/manual/configuration/summary.xml @@ -10,7 +10,7 @@ expression language. It’s not complete. In particular, there are many other built-in functions. See the Nix +xlink:href="https://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix manual for the rest. diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index ebf1f493c5c..abcf5f648a4 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -16,11 +16,11 @@ effects, some example settings: services.picom = { - enable = true; - fade = true; - inactiveOpacity = "0.9"; - shadow = true; - fadeDelta = 4; + enable = true; + fade = true; + inactiveOpacity = 0.9; + shadow = true; + fadeDelta = 4; }; diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml index cc0ec78cc74..8abc66dfec1 100755 --- a/nixos/doc/manual/development/releases.xml +++ b/nixos/doc/manual/development/releases.xml @@ -57,7 +57,7 @@ - Make sure a channel is created at http://nixos.org/channels/. + Make sure a channel is created at https://nixos.org/channels/. diff --git a/nixos/doc/manual/development/replace-modules.xml b/nixos/doc/manual/development/replace-modules.xml index b4a466e2294..9fc5678ca1b 100644 --- a/nixos/doc/manual/development/replace-modules.xml +++ b/nixos/doc/manual/development/replace-modules.xml @@ -37,7 +37,7 @@ imports = [ # Use postgresql service from nixos-unstable channel. - # sudo nix-channel --add http://nixos.org/channels/nixos-unstable nixos-unstable + # sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable <nixos-unstable/nixos/modules/services/databases/postgresql.nix> ]; diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml index 56af5c0e25a..3b8671782de 100644 --- a/nixos/doc/manual/installation/obtaining.xml +++ b/nixos/doc/manual/installation/obtaining.xml @@ -7,7 +7,7 @@ NixOS ISO images can be downloaded from the NixOS download +xlink:href="https://nixos.org/nixos/download.html">NixOS download page. There are a number of installation options. If you happen to have an optical drive and a spare CD, burning the image to CD and booting from that is probably the easiest option. Most people will need to prepare a @@ -26,7 +26,7 @@ xlink:href="https://nixos.wiki/wiki/NixOS_Installation_Guide#Making_the_installa Using virtual appliances in Open Virtualization Format (OVF) that can be imported into VirtualBox. These are available from the - NixOS download + NixOS download page. diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index 9255ce763ef..84849282e9a 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -24,16 +24,6 @@ - - - - - - - - - - @@ -178,12 +168,6 @@ Please note that this option may be specified repeatedly. - - / - - Print the full build logs of nix build to stderr. - - diff --git a/nixos/doc/manual/release-notes/rl-1404.xml b/nixos/doc/manual/release-notes/rl-1404.xml index 8d8cea4303a..56dbb74a71d 100644 --- a/nixos/doc/manual/release-notes/rl-1404.xml +++ b/nixos/doc/manual/release-notes/rl-1404.xml @@ -49,7 +49,7 @@ Nix has been updated to 1.7 (details). + xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-1.7">details). diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index 5c4d9970178..098c8c5095b 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -22,7 +22,7 @@ in excess of 8,000 Haskell packages. Detailed instructions on how to use that infrastructure can be found in the User's + xlink:href="https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's Guide to the Haskell Infrastructure. Users migrating from an earlier release may find helpful information below, in the list of backwards-incompatible changes. Furthermore, we distribute 51(!) additional @@ -555,7 +555,7 @@ nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc the compiler now is the haskellPackages.ghcWithPackages function. The User's + xlink:href="https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's Guide to the Haskell Infrastructure provides more information about this subject. diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml index 9b512c4b1e5..6d4b28825fa 100644 --- a/nixos/doc/manual/release-notes/rl-1603.xml +++ b/nixos/doc/manual/release-notes/rl-1603.xml @@ -54,7 +54,7 @@ xlink:href="https://reproducible-builds.org/specs/source-date-epoch/">SOURCE_DATE_EPOCH to a deterministic value, and Nix has gained + xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-1.11">gained an option to repeat a build a number of times to test determinism. An ongoing project, the goal of exact reproducibility is to allow binaries to be verified independently (e.g., a user might only trust binaries that diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index b2e4b516bbb..744be530be7 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -55,6 +55,12 @@ The new virtualisation.containers module manages configuration shared by the CRI-O and Podman modules. + + + Declarative Docker containers are renamed from docker-containers to virtualisation.oci-containers.containers. + This is to make it possible to use podman instead of docker. + +
@@ -311,6 +317,15 @@ php.override { 5 for details.
+ + + In the picom module, several options that accepted + floating point numbers encoded as strings (for example + ) have been changed + to the (relatively) new native float type. To migrate + your configuration simply remove the quotes around the numbers. + + diff --git a/nixos/lib/test-driver/log2html.xsl b/nixos/lib/test-driver/log2html.xsl deleted file mode 100644 index 0485412b4c8..00000000000 --- a/nixos/lib/test-driver/log2html.xsl +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - -