Age | Commit message (Collapse) | Author | Files | Lines |
|
(cherry picked from commit 9277e72cb0aac72100c01334fdf25ea79d19052e)
|
|
(cherry picked from commit 61a6176acaa8522cbcf091a34a663ef45307fef7)
|
|
This is already done by the installer, so no need to do it again.
(cherry picked from commit 26762ceb8629af95300c0cc8c372a99282060dc1)
|
|
(cherry picked from commit c43d9f6131102f2761f22b1ec26f345d357f169c)
|
|
'nix-daemon' now creates subdirectories for users when they first
connect.
Fixes #509 (CVE-2019-17365).
Should also fix #3127.
(cherry picked from commit 5a303093dcae1e5ce9212616ef18f2ca51020b0d)
|
|
install-multi-user: Detect and fail lack of systemd separately
|
|
Allow empty /nix directory in multi-user installer
|
|
Fixes https://github.com/NixOS/nix/issues/240.
Apparently 'tar -xf' can decompress xz files on macOS nowadays.
|
|
If a network proxy configuration is detected, setup an override
systemd unit file for nix-daemon service with the non-empty
proxy variables.
Proxy detection is performed by looking for http/https/ftp proxy and no
proxy variables in user environment
|
|
With macOS catalina, we can no longer modify the root system
volume (#2925). macOS provides a system configuration file in
synthetic.conf(5) to create empty root directories. This can be used
to mount /nix to a separate volume. As a result, this directory will
need to already exist prior to installation. Instead, check for
/nix/store and /nix/var for a live Nix installation.
|
|
uses $(id -u -n) when USER is unset, this is needed on some weird
setups in Docker. Fixes #971
|
|
install-multi-user: reduce max-jobs from 32 to 1
|
|
In POSIX sh, `type` is undefined.
cf. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html#tag_20_22_04
|
|
This is now autodetected. There is no need to put it in the profile.
|
|
When we are in single user mode, we still want to have access to
profiles. This way things in Nixpkgs that rely on them getting set
accurately are done in both cases. The point where I hit this is with
using aspell which looks in NIX_PROFILES:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/aspell/default.nix
Before this patch, NIX_PROFILES was never set in single user mode!
This corrects that.
|
|
Fixes #2709.
|
|
https://hydra.nixos.org/build/93359951
|
|
installer: update macOS version check to 10.12.2
|
|
install script: don't abort when "nix-channel --update" fails
|
|
Hardcoding the "max-jobs" and "cores" settings in nix.conf at install
time, to the same value as Nix' built-in default, makes little sense to
me.
|
|
Having max-jobs = 32 ($NIX_USER_COUNT is hardcoded to that value) may
severely overload the machine. The nix.conf(5) manual page says max-jobs
defaults to 1, so let's use that value.
NOTE: Both max-jobs and cores are now being set to their default value,
so they can be removed alltogether.
|
|
Otherwise, the user is shown:
```
Sorry, I don't know what to do on Linux
```
Which is... not exactly right.
|
|
scripts: remove default 'sandbox = false' from multi-user installer
|
|
Sandboxing is now enabled by default on Linux, but is still disabled on
macOS. However, the installer always turned it off to ensure consistent
behavior.
Remove this default configuration, so we fall back to the default
platform-specific value.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
the nix-store --init command is a noop apparently
|
|
Instead, print a message about what happened and tell the user what can
be done (run "[sudo -i] nix-channel --update nixpkgs" again at a later
time). This change allows installing Nix when you're offline.
Since the multi-user installer is so verbose, the message isn't printed
until the end.
Fixes issue #2650 ("installation without internet connection").
|
|
|
|
Nixpkgs will drop support for <10.12 soon and thus a nix release built
using the 19.03 channel will also require a newer version of macOS.
|
|
SSL certificate search failed to find user profile certificates.
|
|
`which` isn't necessarily portable, but `command -v` is an equivalent form.
Additionally, the `\'` is not necessary, as it is already quoted by `"`.
|
|
This removes part of the PATH that were being added automatically in multi-user installs:
- $HOME/.nix-profile/lib/kde4/libexec - shouldn't be needed anymore, we are now using kde5
- @localstatedir@/nix/profiles/default/lib/kde4/libexec - same as above
- @localstatedir@/nix/profiles/default - shouldn't ever contain binaries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the profile is sourced inside a script with `set -u`, the check for
__ETC_PROFILE_NIX_SOURCED and NIX_SSL_CERT_FILE would raise an error.
A simple guard around this check allows the script to operate under
standard environments (where it is fairly reasonable to assume USER
and HOME are set.)
|
|
|
|
Following the lead of the single user installer, if NIX_SSL_CERT_FILE is explicitly set prior to running, accept the user-provided version.
|
|
Setup NIX_PATH correctly in nix-profile-daemon
|
|
Note: don't backport to 2.0-maintenance
|
|
By passing --daemon or --no-daemon, the installer can be forced to
select one or the other installation options, despite what the
automatic detection can provide.
This commit can be backported to 2.0-maintenance because it explicitly
turns off the daemon installation for Linux under systemd.
|
|
We need nixpkgs to be set in NIX_PATH for Nix 1.12 to work correctly
|
|
|
|
We use grep instead of an equality check because it is difficult
to extract _just_ the user's note, instead it is prefixed with
some plist junk. This was causing the user note to always be set,
even if there was no reason for it.
|
|
Grep would ignore files that didn't exist, but would complain
about files in a directory if the directory didn't exist. Simply check
for the directory first, prior to grepping it.
|
|
- darwin installer: delete hardware report, not necessary
- moves os-specific code from the darwin installer to to `poly_*`
functions
- adds profile.d support to the profile targets, which automatically
handles many distros which don't have a /etc/bashrc but do have an
/etc/profile.d
- /bin/bash -> /usr/bin/env bash
- document why each excluded shellcheck check is excluded
- rename the multi-user to Daemon-based
|
|
installer: create 'enough' build users
|
|
|