Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9d0c3ffe6783
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9480bae33709
Choose a head ref

Commits on Feb 29, 2020

  1. Copy the full SHA
    27e52af View commit details

Commits on Mar 31, 2020

  1. cpython: Drop unrecognized --with-threads configure flag.

    The ./configure script prints a warning when passed this flag,
    starting with 3.7:
    
      configure: WARNING: unrecognized options: --with-threads
    
    The reason is that there's no longer such a thing as a build
    without threads.
    
    Eliminate the warning, by only passing the flag on the older releases
    that accept it.
    
    Upstream change and discussion:
      python/cpython@a6a4dc816
      https://bugs.python.org/issue31370
    gnprice committed Mar 31, 2020
    Copy the full SHA
    9d8831c View commit details

Commits on Apr 5, 2020

  1. rgbds: 0.3.10 -> 0.4.0

    r-ryantm committed Apr 5, 2020
    Copy the full SHA
    dcbe7d3 View commit details

Commits on Apr 27, 2020

  1. AdGuardHome: init at 0.101.0

    numkem committed Apr 27, 2020
    Copy the full SHA
    1a3841f View commit details

Commits on May 2, 2020

  1. heimer: 1.15.1 -> 1.16.0

    r-ryantm committed May 2, 2020
    Copy the full SHA
    a830034 View commit details

Commits on May 5, 2020

  1. meli: init at alpha-0.5.1

    Co-authored-by: 0x4A6F <0x4A6F@users.noreply.github.com>
    erictapen and 0x4A6F committed May 5, 2020
    Copy the full SHA
    4752e21 View commit details
  2. libdap: 3.20.5 -> 3.20.6

    r-ryantm committed May 5, 2020
    Copy the full SHA
    47fb499 View commit details

Commits on May 6, 2020

  1. rustPlatform: increase build-speed of checkPhase for rust-packages

    When running `cargo test --release`, the artifacts from `buildPhase`
    will be reused here. Previously, most of the stuff had to be recompiled
    without optimizations.
    Ma27 committed May 6, 2020
    Copy the full SHA
    04248f6 View commit details

Commits on May 8, 2020

  1. rustPlatform: don't install test executables

    This is done by gathering all binaries to install before running the
    checkPhase.
    Ma27 committed May 8, 2020
    Copy the full SHA
    e32c005 View commit details
  2. rustPlatform: fix log

    Ma27 committed May 8, 2020
    Copy the full SHA
    f236714 View commit details

Commits on May 9, 2020

  1. Copy the full SHA
    1ef7bea View commit details
  2. maintainers: add julm

    ju1m committed May 9, 2020
    Copy the full SHA
    8be7358 View commit details
  3. Copy the full SHA
    1202fe5 View commit details

Commits on May 10, 2020

  1. Copy the full SHA
    d7c9582 View commit details
  2. tartube: 2.0.016 -> 2.1.0

    luc65r committed May 10, 2020
    Copy the full SHA
    e338c12 View commit details
  3. linux: explicitly enable AIO

    This is disabled by default in the linux-hardened patchset, but is
    required by e.g. LVM.
    
    Fixes #87260.
    emilazy committed May 10, 2020
    Copy the full SHA
    4688ec0 View commit details

Commits on May 11, 2020

  1. Merge branch 'staging-next' into PR 82342

    Hydra nixpkgs: ?compare=1586582
    vcunat committed May 11, 2020
    Copy the full SHA
    5eaabaf View commit details

Commits on May 12, 2020

  1. cpython: Use --enable-optimizations, for a 16% speedup.

    Without this flag, the configure script prints a warning at the end,
    like this (reformatted):
    
      If you want a release build with all stable optimizations active
      (PGO, etc), please run ./configure --enable-optimizations
    
    We're doing a build to distribute to people for day-to-day use,
    doing things other than developing the Python interpreter.  So
    that's certainly a release build -- we're the target audience for
    this recommendation.
    
    ---
    
    And, trying it out, upstream isn't kidding!  I ran the standard
    benchmark suite that the CPython developers use for performance
    work, "pyperformance".  Following its usage instructions:
      https://pyperformance.readthedocs.io/usage.html
    I ran the whole suite, like so:
    
      $ nix-shell -p ./result."$variant" --run '
          cd $(mktemp -d); python -m venv venv; . venv/bin/activate
          pip install pyperformance
          pyperformance run -o ~/tmp/result.'"$variant"'.json
        '
    
    and then examined the results with commands like:
    
      $ python -m pyperf compare_to --table -G \
          ~/tmp/result.{$before,$after}.json
    
    Across all the benchmarks in the suite, the median speedup was 16%.
    (Meaning 1.16x faster; 14% less time).
    
    The middle half of them ranged from a 13% to a 22% speedup.
    
    Each of the 60 benchmarks in the suite got faster, by speedups
    ranging from 3% to 53%.
    
    ---
    
    One reason this isn't just the default to begin with is that, until
    recently, it made the build a lot slower.  What it does is turn on
    profile-guided optimization, which means first build for profiling,
    then run some task to get a profile, then build again using the
    profile.  And, short of further customization, the task it would use
    would be nearly the full test suite, which includes a lot of
    expensive and slow tests, and can easily take half an hour to run.
    
    Happily, in 2019 an upstream developer did the work to carefully
    select a more appropriate set of tests to use for the profile:
      python/cpython@4e16a4a31
      https://bugs.python.org/issue36044
    This suite takes just 2 minutes to run.  And the resulting final
    build is actually slightly faster than with the much longer suite,
    at least as measured by those standard "pyperformance" benchmarks.
    That work went into the 3.8 release, but the same list works great
    if used on older releases too.
    
    So, start passing that --enable-optimizations flag; and backport
    that good-for-PGO set of tests, so that we use it on all releases.
    gnprice committed May 12, 2020
    Copy the full SHA
    f8a8243 View commit details
  2. treewide: strip more things in cross

    Stripping reduces closure sizes.
    matthewbauer committed May 12, 2020
    Copy the full SHA
    34aff7f View commit details
  3. Copy the full SHA
    736462d View commit details
  4. rustPlatform: add buildAndTestSubdir-argument

    There are several tarballs (such as the `rust-lang/rust`-source) with a
    `Cargo.toml` at root and several sub-packages (with their own Cargo.toml)
    without using workspaces[1].
    
    In such a case it's needed to move into a subdir to only build the
    specified sub-package (e.g. `rustfmt` or `rsl`), however the artifacts
    are at `/target` in the root-dir of the build environment. This breaks
    the build since `buildRustPackage` searches for executables in `target`
    (which is at the build-env's root) at the end of the `buildPhase`.
    
    With the optional `buildAndTestSubdir`-argument, the builder moves into
    the specified subdir using `pushd`/`popd` during `buildPhase` and
    `checkPhase`.
    
    Also moved the logic to find executables and libs to the end of the `buildPhase`
    from a custom `postBuild`-hook to fix packages with custom `build`/`install`-procedures
    such as `uutils-coreutils`.
    
    [1] https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
    Ma27 committed May 12, 2020
    Copy the full SHA
    6b23cfe View commit details
  5. cargo-deb: fix build

    Ma27 committed May 12, 2020
    Copy the full SHA
    0d7f889 View commit details

Commits on May 13, 2020

  1. nym: fix tests

    A lot of tests are using `debug_assert!` which isn't available in
    release-mode.
    Ma27 committed May 13, 2020
    Copy the full SHA
    e49f3a4 View commit details
  2. gnvim: fix build

    When running the default builder for Rust, the artifacts would be stored
    in `target/<arch>/<profile>`, however the `install`-target expects the
    default structure (`target/<profile>`) of `cargo`-builds.
    
    When using the Makefile for building as well, the expected structure is
    created instead.
    Ma27 committed May 13, 2020
    Copy the full SHA
    068beb2 View commit details
  3. ripasso-cursive: fix tests

    Needed since we store artifacts in `target/<arch>/<profile>`.
    Ma27 committed May 13, 2020
    Copy the full SHA
    913dcdd View commit details

Commits on May 14, 2020

  1. cpython: Use autoreconfHook to rebuild configure script.

    In particular this will let us use patches that apply to configure.ac.
    gnprice committed May 14, 2020
    Copy the full SHA
    52c04b0 View commit details
  2. cpython: Optimize dynamic symbol tables, for a 6% speedup.

    I took a close look at how Debian builds the Python interpreter,
    because I noticed it ran substantially faster than the one in nixpkgs
    and I was curious why.
    
    One thing that I found made a material difference in performance was
    this pair of linker flags (passed to the compiler):
    
        -Wl,-O1 -Wl,-Bsymbolic-functions
    
    In other words, effectively the linker gets passed the flags:
    
        -O1 -Bsymbolic-functions
    
    Doing the same thing in nixpkgs turns out to make the interpreter
    run about 6% faster, which is quite a big win for such an easy
    change.  So, let's apply it.
    
    ---
    
    I had not known there was a `-O1` flag for the *linker*!
    But indeed there is.
    
    These flags are unrelated to "link-time optimization" (LTO), despite
    the latter's name.  LTO means doing classic compiler optimizations
    on the actual code, at the linking step when it becomes possible to
    do them with cross-object-file information.  These two flags, by
    contrast, cause the linker to make certain optimizations within the
    scope of its job as the linker.
    
    Documentation is here, though sparse:
      https://sourceware.org/binutils/docs-2.31/ld/Options.html
    
    The meaning of -O1 was explained in more detail in this LWN article:
      https://lwn.net/Articles/192624/
    Apparently it makes the resulting symbol table use a bigger hash
    table, so the load factor is smaller and lookups are faster.  Cool.
    
    As for -Bsymbolic-functions, the documentation indicates that it's a
    way of saving lookups through the symbol table entirely.  There can
    apparently be situations where it changes the behavior of a program,
    specifically if the program relies on linker tricks to provide
    customization features:
      https://bugs.launchpad.net/ubuntu/+source/xfe/+bug/644645
      https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637184#35
    But I'm pretty sure CPython doesn't permit that kind of trick: you
    don't load a shared object that tries to redefine some symbol found
    in the interpreter core.
    
    The stronger reason I'm confident using -Bsymbolic-functions is
    safe, though, is empirical.  Both Debian and Ubuntu have been
    shipping a Python built this way since forever -- it was introduced
    for the Python 2.4 and 2.5 in Ubuntu "hardy", and Debian "lenny",
    released in 2008 and 2009.  In those 12 years they haven't seen a
    need to drop this flag; and I've been unable to locate any reports
    of trouble related to it, either on the Web in general or on the
    Debian bug tracker.  (There are reports of a handful of other
    programs breaking with it, but not Python/CPython.)  So that seems
    like about as thorough testing as one could hope for.
    
    ---
    
    As for the performance impact: I ran CPython upstream's preferred
    benchmark suite, "pyperformance", in the same way as described in
    the previous commit.  On top of that commit's change, the results
    across the 60 benchmarks in the suite are:
    
    The median is 6% faster.
    
    The middle half (aka interquartile range) is from 4% to 8% faster.
    
    Out of 60 benchmarks, 3 come out slower, by 1-4%.  At the other end,
    5 are at least 10% faster, and one is 17% faster.
    
    So, that's quite a material speedup!  I don't know how big the
    effect of these flags is for other software; but certainly CPython
    tends to do plenty of dynamic linking, as that's how it loads
    extension modules, which are ubiquitous in the stdlib as well as
    popular third-party libraries.  So perhaps that helps explain why
    optimizing the dynamic linker has such an impact.
    gnprice committed May 14, 2020
    Copy the full SHA
    480c8d1 View commit details

Commits on May 15, 2020

  1. Copy the full SHA
    3ea0c17 View commit details
  2. Copy the full SHA
    6851378 View commit details
  3. Copy the full SHA
    35d2d4d View commit details
  4. Copy the full SHA
    070c330 View commit details
  5. Copy the full SHA
    490cce0 View commit details

Commits on May 19, 2020

  1. acme-client: 0.2.5 -> 1.0.0

    The upstream version fails to compile due to a missing limits.h include.
    I added a patch to fix that.
    
    I opened a pull request to upstream it too, but the project has moved
    from GitHub onto sr.ht and now asks me to send a patch to the mailing
    list. My default email client is not really suitable for that, and
    getting git-send-email set up will take some work, so in the meantime
    it is easier to just patch it here.
    ruuda committed May 19, 2020
    Copy the full SHA
    d4c80a4 View commit details

Commits on May 20, 2020

  1. btrfs-progs: 5.6 -> 5.6.1

    r-ryantm committed May 20, 2020
    Copy the full SHA
    54db655 View commit details

Commits on May 24, 2020

  1. Copy the full SHA
    6574ba1 View commit details
  2. acme-client: 1.0.0 -> 1.0.1

    I submitted my patch upstream, it was merged, and version 1.0.1 which
    includes it has been released. So the patch here is no longer necessary.
    
    Also, the maintainer added a Nixpkgs-based build environment to the
    upstream CI setup, so in the future the upstream version will likely
    not need any patching.
    ruuda committed May 24, 2020
    Copy the full SHA
    d4d36c3 View commit details
  3. acme-client: use source tarball to avoid autoreconf

    This was suggested by the upstream maintainer [1], and it is a nice
    simplification. Also change the url to sr.ht as the project has moved
    there.
    
    [1]: NixOS/nixpkgs#88201 (comment)
    ruuda committed May 24, 2020
    Copy the full SHA
    bdd706c View commit details

Commits on May 25, 2020

  1. openh264: 2.1.0 -> 2.1.1

    r-ryantm committed May 25, 2020
    Copy the full SHA
    6bfabdf View commit details

Commits on May 27, 2020

  1. sqlite: 3.31.1 -> 3.32.0

    r-ryantm committed May 27, 2020
    Copy the full SHA
    c5f7bda View commit details

Commits on May 28, 2020

  1. mesa: 20.0.2 -> 20.0.7

    primeos committed May 28, 2020
    Copy the full SHA
    2bde879 View commit details

Commits on May 29, 2020

  1. sqlite: 3.32.0 -> 3.32.1

    Jonathan Ringer committed May 29, 2020
    Copy the full SHA
    80c9f30 View commit details

Commits on May 30, 2020

  1. Merge pull request #87435 from matthewbauer/strip-more-in-cross

    treewide: strip more things in cross
    matthewbauer authored May 30, 2020
    Copy the full SHA
    01377fc View commit details
  2. mesa: make more things optional (#87438)

    osmesa & gallium-nine are not needed for all systems. So this adds a
    flag to disable them if you don’t want them.
    matthewbauer authored May 30, 2020
    Copy the full SHA
    c2039e1 View commit details

Commits on May 31, 2020

  1. glibc: patch CVE-2020-1752

    /cc roundup #88306; the issue seems quite serious to me.
    
    I also made two other patches non-conditional, as we rebuild
    all platforms anyway.
    vcunat committed May 31, 2020
    Copy the full SHA
    3f08d64 View commit details
  2. sqlite-analyzer: 3.31.1 -> 3.32.1

    It needs to be synced with sqlite itself.
    vcunat committed May 31, 2020
    Copy the full SHA
    0ef57f5 View commit details
  3. mpv: disable samba support by default

    samba support will be dropped in mpv upstream in its next release (see
    mpv-player/mpv@3b8b7cb).
    Also, using it triggered segmentation faults when using luasocket.
    
    Closes #88584
    cript0nauta committed May 31, 2020
    Copy the full SHA
    164985a View commit details
  4. rust: improve docs

    Co-authored-by: cole-h <cole.e.helbling@outlook.com>
    Co-authored-by: asymmetric <lorenzo@mailbox.org>
    3 people committed May 31, 2020
    Copy the full SHA
    59e8e7a View commit details

Commits on Jun 1, 2020

  1. Copy the full SHA
    e215c3b View commit details

Commits on Jun 2, 2020

  1. nixos/go-neb: init

    mweinelt committed Jun 2, 2020
    Copy the full SHA
    642e991 View commit details

Commits on Jun 3, 2020

  1. Merge pull request #88842 from r-ryantm/auto-update/openh264

    openh264: 2.1.0 -> 2.1.1
    nh2 authored Jun 3, 2020
    Copy the full SHA
    51fd4eb View commit details
Showing 489 changed files with 3,826 additions and 2,029 deletions.
12 changes: 11 additions & 1 deletion doc/languages-frameworks/agda.section.md
Original file line number Diff line number Diff line change
@@ -67,7 +67,17 @@ A derivation can then be written using `agdaPackages.mkDerivation`. This has sim
+ `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`.
+ `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`.

The build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file. If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden (or a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file). `agda` and the Agda libraries contained in `buildInputs` are made available during the build phase. The install phase simply copies all `.agda`, `.agdai` and `.agda-lib` files to the output directory. Again, this can be overridden.
### Building Agda packages
The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file.
If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden.
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file.
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.

### Installing Agda packages
The default install phase copies agda source files, agda interface files (`*.agdai`) and `*.agda-lib` files to the output directory.
This can be overridden.

By default, agda sources are files ending on `.agda`, or literate agda files ending on `.lagda`, `.lagda.tex`, `.lagda.org`, `.lagda.md`, `.lagda.rst`. The list of recognised agda source extensions can be extended by setting the `extraExtensions` config variable.

To add an agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other agda libraries, so the top line of the `default.nix` can look like:
```
8 changes: 4 additions & 4 deletions doc/languages-frameworks/python.section.md
Original file line number Diff line number Diff line change
@@ -643,7 +643,7 @@ and in this case the `python38` interpreter is automatically used.
Versions 2.7, 3.5, 3.6, 3.7 and 3.8 of the CPython interpreter are available as
respectively `python27`, `python35`, `python36`, `python37` and `python38`. The
aliases `python2` and `python3` correspond to respectively `python27` and
`python37`. The default interpreter, `python`, maps to `python2`. The PyPy
`python38`. The default interpreter, `python`, maps to `python2`. The PyPy
interpreters compatible with Python 2.7 and 3 are available as `pypy27` and
`pypy3`, with aliases `pypy2` mapping to `pypy27` and `pypy` mapping to `pypy2`.
The Nix expressions for the interpreters can be found in
@@ -764,9 +764,6 @@ following are specific to `buildPythonPackage`:
* `dontWrapPythonPrograms ? false`: Skip wrapping of Python programs.
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment
variable in wrapped programs.
* `installFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]`.
* `format ? "setuptools"`: Format of the source. Valid options are
`"setuptools"`, `"pyproject"`, `"flit"`, `"wheel"`, and `"other"`.
`"setuptools"` is for when the source has a `setup.py` and `setuptools` is
@@ -782,6 +779,9 @@ following are specific to `buildPythonPackage`:
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications
to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`).
* `preShellHook`: Hook to execute commands before `shellHook`.
66 changes: 66 additions & 0 deletions doc/languages-frameworks/rust.section.md
Original file line number Diff line number Diff line change
@@ -75,6 +75,72 @@ pkgs.rustPlatform.buildRustPackage {
}
```

### Running package tests

When using `buildRustPackage`, the `checkPhase` is enabled by default and runs
`cargo test` on the package to build. To make sure that we don't compile the
sources twice and to actually test the artifacts that will be used at runtime,
the tests will be ran in the `release` mode by default.

However, in some cases the test-suite of a package doesn't work properly in the
`release` mode. For these situations, the mode for `checkPhase` can be changed like
so:

```nix
rustPlatform.buildRustPackage {
/* ... */
checkType = "debug";
}
```

Please note that the code will be compiled twice here: once in `release` mode
for the `buildPhase`, and again in `debug` mode for the `checkPhase`.

#### Tests relying on the structure of the `target/` directory

Some tests may rely on the structure of the `target/` directory. Those tests
are likely to fail because we use `cargo --target` during the build. This means that
the artifacts
[are stored in `target/<architecture>/release/`](https://doc.rust-lang.org/cargo/guide/build-cache.html),
rather than in `target/release/`.

This can only be worked around by patching the affected tests accordingly.

#### Disabling package-tests

In some instances, it may be necessary to disable testing altogether (with `doCheck = false;`):

* If no tests exist -- the `checkPhase` should be explicitly disabled to skip
unnecessary build steps to speed up the build.
* If tests are highly impure (e.g. due to network usage).

There will obviously be some corner-cases not listed above where it's sensible to disable tests.
The above are just guidelines, and exceptions may be granted on a case-by-case basis.

However, please check if it's possible to disable a problematic subset of the
test suite and leave a comment explaining your reasoning.

### Building a package in `debug` mode

By default, `buildRustPackage` will use `release` mode for builds. If a package
should be built in `debug` mode, it can be configured like so:

```nix
rustPlatform.buildRustPackage {
/* ... */
buildType = "debug";
}
```

In this scenario, the `checkPhase` will be ran in `debug` mode as well.

### Custom `build`/`install`-procedures

Some packages may use custom scripts for building/installing, e.g. with a `Makefile`.
In these cases, it's recommended to override the `buildPhase`/`installPhase`/`checkPhase`.

Otherwise, some steps may fail because of the modified directory structure of `target/`.

### Building a crate with an absent or out-of-date Cargo.lock file

`buildRustPackage` needs a `Cargo.lock` file to get all dependencies in the
2 changes: 1 addition & 1 deletion lib/attrsets.nix
Original file line number Diff line number Diff line change
@@ -253,7 +253,7 @@ rec {
/* Like `mapAttrsRecursive', but it takes an additional predicate
function that tells it whether to recursive into an attribute
set. If it returns false, `mapAttrsRecursiveCond' does not
recurse, but does apply the map function. It is returns true, it
recurse, but does apply the map function. If it returns true, it
does recurse, and does not apply the map function.
Type:
34 changes: 34 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -1157,6 +1157,12 @@
githubId = 24417923;
name = "Renaud";
};
c00w = {
email = "nix@daedrum.net";
github = "c00w";
githubId = 486199;
name = "Colin";
};
c0deaddict = {
email = "josvanbakel@protonmail.com";
github = "c0deaddict";
@@ -1610,6 +1616,12 @@
githubId = 12202789;
name = "CrazedProgrammer";
};
cript0nauta = {
email = "shareman1204@gmail.com";
github = "cript0nauta";
githubId = 1222362;
name = "Matías Lang";
};
cryptix = {
email = "cryptix@riseup.net";
github = "cryptix";
@@ -2540,6 +2552,16 @@
githubId = 11909469;
name = "Fabian Geiselhart";
};
fabianhauser = {
email = "fabian.nixos@fh2.ch";
github = "fabianhauser";
githubId = 368799;
name = "Fabian Hauser";
keys = [{
longkeyid = "rsa4096/0x8A52A140BEBF7D2C";
fingerprint = "50B7 11F4 3DFD 2018 DCE6 E8D0 8A52 A140 BEBF 7D2C";
}];
};
fadenb = {
email = "tristan.helmich+nixos@gmail.com";
github = "fadenb";
@@ -3861,6 +3883,12 @@
githubId = 11947756;
name = "Julien Dehos";
};
julm = {
email = "julm+nix@sourcephile.fr";
github = "ju1m";
githubId = 21160136;
name = "Julien Moutinho";
};
jumper149 = {
email = "felixspringer149@gmail.com";
github = "jumper149";
@@ -3873,6 +3901,12 @@
githubId = 2396926;
name = "Justin Woo";
};
jwatt = {
email = "jwatt@broken.watch";
github = "jjwatt";
githubId = 2397327;
name = "Jesse Wattenbarger";
};
jwiegley = {
email = "johnw@newartisans.com";
github = "jwiegley";
1 change: 1 addition & 0 deletions maintainers/scripts/luarocks-packages.csv
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@ dkjson,,,,,
fifo,,,,,
http,,,,,vcunat
inspect,,,,,
ldbus,,http://luarocks.org/dev,,,
ldoc,,,,,
lgi,,,,,
linenoise,,,,,
26 changes: 26 additions & 0 deletions maintainers/team-list.nix
Original file line number Diff line number Diff line change
@@ -34,6 +34,20 @@ with lib.maintainers; {
scope = "Maintain Freedesktop.org packages for graphical desktop.";
};

golang = {
members = [
c00w
cstrahan
Frostman
kalbasit
mic92
orivej
rvolosatovs
zowoq
];
scope = "Maintain Golang compilers.";
};

gnome = {
members = [
hedning
@@ -43,6 +57,18 @@ with lib.maintainers; {
scope = "Maintain GNOME desktop environment and platform.";
};

matrix = {
members = [
ma27
pacien
fadenb
mguentner
ekleog
ralith
];
scope = "Maintain the ecosystem around Matrix, a decentralized messenger.";
};

php = {
members = [
aanderse
31 changes: 28 additions & 3 deletions nixos/doc/manual/administration/boot-problems.xml
Original file line number Diff line number Diff line change
@@ -19,9 +19,9 @@
</term>
<listitem>
<para>
Start a root shell if something goes wrong in stage 1 of the boot process
(the initial ramdisk). This is disabled by default because there is no
authentication for the root shell.
Allows the user to start a root shell if something goes wrong in stage 1
of the boot process (the initial ramdisk). This is disabled by default
because there is no authentication for the root shell.
</para>
</listitem>
</varlistentry>
@@ -49,6 +49,22 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>boot.debug1mounts</literal>
</term>
<listitem>
<para>
Like <literal>boot.debug1</literal> or
<literal>boot.debug1devices</literal>, but runs stage1 until all
filesystems that are mounted during initrd are mounted (see
<option><link linkend="opt-fileSystems._name__.neededForBoot">neededForBoot</link></option>
). As a motivating example, this could be useful if you've forgotten to set
<option><link linkend="opt-fileSystems._name__.neededForBoot">neededForBoot</link></option>
on a file system.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>boot.trace</literal>
@@ -90,6 +106,15 @@
<manvolnum>1</manvolnum></citerefentry>.
</para>

<para>
Notice that for <literal>boot.shell_on_fail</literal>,
<literal>boot.debug1</literal>, <literal>boot.debug1devices</literal>, and
<literal>boot.debug1mounts</literal>, if you did <emphasis>not</emphasis>
select "start the new shell as pid 1", and you <literal>exit</literal> from
the new shell, boot will proceed normally from the point where it failed, as
if you'd chosen "ignore the error and continue".
</para>

<para>
If no login prompts or X11 login screens appear (e.g. due to hanging
dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start
Loading