While BOINC itself is open source, many of the project applications
it runs are not. Additionally, these project applications are
checksummed before they are run, so they can't be patched. This
means we can't make the project applications find required binaries/libraries
on a NixOS system. The solution is therefore to make said binaries
and libraries appear in the expected locations, by wrapping BOINC
in an FHS-compatible environment [1].
An `extraEnvPackages` is also added to allow more packages to
be added into this environment. The documentation for this option
describes some practical use cases for it.
[1] https://nixos.org/nixpkgs/manual/#sec-fhs-environments
Version 2: fixed Docbook list formatting, minor rewording
Version 3: rebase onto master (9c048f4fb66adc33c6b379f2edefcb615fd53de6)
Version 4: fix usage of targetPkgs argument to buildFHSUserEnv
The bash module currently sets the `/etc/inputrc` unconditionally,
which prevents easy user override. This commit lowers the priority of
the setting to "option default" level, which allows a user to override
the value using either
environment.etc."inputrc".text = …
or
environment.etc."inputrc".source = …
Fixes#28443
Fixed few invocations to `systemctl` to have an absolute path. Additionally add
LOCALE_ARCHIVE so that perl stops spewing warning messages.
Looking at upstream git repo (git://github.com/Yubico/pam-u2f.git) the
docs initially said the path was ~/.yubico/u2f_keys, but it was later
changed to ~/.config/Yubico/u2f_keys (in 2015).
I have run pam_u2f.so with "debug" option and observed that the correct
path indeed is ~/.config/Yubico/u2f_keys.
* nghttpx: Add a new NixOS module for the nghttpx proxy server
This change also adds a global `uid` and `gid` for a `nghttpx` user
and group as well as an integration test.
* nixos/nghttpx: fix building manual
For some reason, the GNOME 3.26 update broke the overrides. It turns
out the overrides now need to come before the overriden schemas in the
XDG_DATA_DIRS variable. This is not possible in general due to applications
prefixing the variable (e.g. in wrapGAppsHook).
To fix this, a new environment variable NIX_GSETTINGS_OVERRIDES_DIR
was introduced. It has greater priority than XDG_DATA_DIRS but lower
than GSETTINGS_SCHEMA_DIR. A separate variable was chosen in order not
to block the built-in one for users.