Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add NIX_STATE_HOME, NIX_DATA_HOME, NIX_CONFIG_HOME and NIX_CACHE_HOME #1

Open
wants to merge 55 commits into
base: master
Choose a base branch
from

Conversation

noamraph
Copy link
Owner

@noamraph noamraph commented Aug 4, 2024

Motivation

Context

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@noamraph noamraph force-pushed the add-nix-state-home branch from 5ce1f6d to dfb24f9 Compare August 12, 2024 12:14
@noamraph noamraph force-pushed the add-nix-state-home branch from dfb24f9 to 2a77d37 Compare August 18, 2024 17:58
abathur and others added 27 commits August 20, 2024 09:20
Starting in macOS 15 Sequoia, macOS daemon UIDs are encroaching on our
default UIDs of 301-332. This commit relocates our range up to avoid
clashing with the current UIDs of 301-304 and buy us a little time
while still leaving headroom for people installing more than 32 users.
This constructor is used for public keys as well.
Don't refer to public keys as secret keys in error
This broke in NixOS#11005. Any number of PathSubstitutionGoals would
be woken up by a single build slot becoming available. If there
are a lot of substitution goals active, this could lead to us
running out of file descriptors (especially on macOS where the
default limit is 256).
Slight cleanup.
…tution-jobs

Respect max-substitution-jobs again
…-cleanup

maintainers/upload-release.pl: Delete temporary directories when we're done
The daemon process is now moved into a new sub-cgroup called nix-daemon when the
daemon starts. This is necessary to abide by the no-processes-in-inner-nodes
rule, because the service cgroup becomes an inner node when the child cgroups
for the build are created (see LocalDerivationGoal::startBuilder()).

See NixOS#9675
Prior to this commit, the unit contained this line:

     ExecStart=@share/nix-daemon nix-daemon --daemon

which caused systemd to complain:

     Failed to restart nix-daemon.service: Unit nix-daemon.service has a bad unit file setting.
     See system logs and 'systemctl status nix-daemon.service' for details.

and had this in the unit output:

     Sep 03 13:34:59 scadrial systemd[1]: /etc/systemd/system/nix-daemon.service:10: Neither a valid executable name nor an absolute path: share/nix-daemon
     Sep 03 13:34:59 scadrial systemd[1]: nix-daemon.service: Unit configuration has fatal error, unit will not be started.

(Notice how it's trying to execute `share/nix-daemon`, which is unlikely
to exist.)

Now with this commit, the path to the daemon binary is properly set:

     ExecStart=@/nix/store/lcbx6d8gzznf3z3c8lsv9jy3j6c67x6r-nix-2.25.0pre20240903_dirty/bin/nix-daemon nix-daemon --daemon
install-darwin: fix _nixbld uids for macOS sequoia
Co-authored-by: Eelco Dolstra <[email protected]>
Static local initializers are atomic in C++.
Pull fut.get() out of the lock
I hardcoded the wrong GID (30001 instead of 30000), but it's
better to just pick up the GID from the existing group.
- highlighted example
- linked definitions to the glossary (this is a shorter read)
- fixed some artefact
fricklerhandwerk and others added 27 commits September 5, 2024 04:13
this makes it less cumbersome to read and puts the statements in
meaningful order.
this should make it more obvious how things are related to each other, and also
hopefully expose the historical context without having to say on every
corner that these details are accounting for legacy decisions.
use existing GID in sequoia migration script
This reverts commit c9f4567.

This now triggers on simple cases like `nix build .#nix`.
Reverting for now.
Revert "fix: Error on malformed URI query parameter"
…nstructions

update instructions to build the manual
fixup: use the real bindir for systemd unit's bindir
…-docs

docs: explain provenance of default `nix-path` values
…gloss

docs: reword glossary entry on Nix expression
docs: small fixups on the default expression
progress-bar: Only write when truly updated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.