John Ericson
3965b0f75f
Try again to fix aarch64-linux build failure
...
f419ab48e6
was on the right track, but
there are a few more missing `raw()` calls to fix.
2023-01-17 09:14:17 -05:00
Taeer Bar-Yam
b2752a4f74
add comments
2023-01-17 08:28:56 -05:00
Théophane Hufschmitt
6bdf4edb77
Keep the default profile the same
...
It's used as the “system” profile in a bunch of places, so better not
touch it. Besides, it doesn't hurt to keep it since it's owned by root
any way, so it doesn't have the `chown` problem that the user profiles
had and that led to wanting to move them on the client-side.
2023-01-17 14:17:28 +01:00
Théophane Hufschmitt
c80621dbac
Don't try to migrate existing profiles
...
Doing so would be more dangerous than useful, better leave them as-is if
they already exist
2023-01-17 14:17:28 +01:00
Théophane Hufschmitt
1f02aa4098
Test the migration of the user profiles
2023-01-17 14:17:28 +01:00
Théophane Hufschmitt
0601050755
Migrate the old profiles to the new location
...
Make sure that we don’t just create the new profiles directory, but that
we also migrate every existing profile to it.
2023-01-17 14:17:28 +01:00
Théophane Hufschmitt
a5919f4754
Move the default profiles to the user’s home
...
Rather than using `/nix/var/nix/{profiles,gcroots}/per-user/`, put the user
profiles and gcroots under `$XDG_DATA_DIR/nix/{profiles,gcroots}`.
This means that the daemon no longer needs to manage these paths itself
(they are fully handled client-side). In particular, it doesn’t have to
`chown` them anymore (removing one need for root).
This does change the layout of the gc-roots created by nix-env, and is
likely to break some stuff, so I’m not sure how to properly handle that.
2023-01-17 14:17:28 +01:00
Eelco Dolstra
deb35c84b3
Merge pull request #7612 from edolstra/release-notes
...
Release notes for 2.13
2023-01-17 13:47:56 +01:00
Eelco Dolstra
9a32f77a95
Merge pull request #7606 from hercules-ci/recognize-some-flake-attributes
...
flake check: Recognize well known community attributes
2023-01-17 13:27:30 +01:00
Eelco Dolstra
c1934eb074
Release notes
2023-01-17 13:23:31 +01:00
Valentin Gagarin
9be3c6c7c7
add note on self-references and cycles
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2023-01-17 12:33:23 +01:00
Valentin Gagarin
59f03437c2
references refer to store objects, not paths
...
as noted by @Ericson2314
2023-01-17 12:29:45 +01:00
Valentin Gagarin
bc9de373c7
reword definition of "reference"
2023-01-17 12:29:45 +01:00
Ana Hobden
763c1dfc2b
Expand installation.md
...
Changes the `quick-start.md` to recommend a multi-user install, since
single-user is not supported on MacOS and https://nixos.org/download.html
recommends multi-user.
Expands `installation.md` to reflect wording on https://nixos.org/download.html
2023-01-16 11:38:50 -08:00
4e7592b593
flake check: Recognize well known community attributes
...
This avoids warning fatigue, making `nix flake check` more effective.
2023-01-16 20:16:45 +01:00
Eelco Dolstra
1df3d62c76
Merge pull request #7585 from NixOS/macos-disconnect
...
MonitorFdHup: Make it work on macOS again
2023-01-16 13:30:15 +01:00
Robert Hensing
c133e66375
Merge pull request #7604 from obsidiansystems/fix-variant-missing-raw
...
Try to fix build failure
2023-01-16 12:22:30 +01:00
John Ericson
f419ab48e6
Try to fix build failure
...
Failure: https://hydra.nixos.org/build/205357257/nixlog/1
The problem seems to be trying to `std::visit` a derived class of
`std::variant`. Per
https://stackoverflow.com/questions/63616709/incomplete-type-stdvariant-used-in-nested-name-specifier
certain C++ standard library implementations allow this, but others do
not.
The solution is simply to call the `raw` method, which upcasts the
reference back to the `std::variant`.
2023-01-15 15:16:14 -05:00
John Ericson
b3d91239ae
Make ValidPathInfo
have plain StorePathSet
references like before
...
This change can wait for another PR.
2023-01-14 16:42:03 -05:00
John Ericson
056cc1c1b9
Merge remote-tracking branch 'upstream/master' into path-info
2023-01-14 14:27:28 -05:00
Robert Hensing
2e41ae9f93
Merge pull request #7599 from obsidiansystems/move-path-info-definitions
...
Move `ValidPathInfo` defintions to `path-info.cc`
2023-01-14 11:54:57 +01:00
Robert Hensing
dc9c455979
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-14 11:24:54 +01:00
John Ericson
a416476217
Move ValidPathInfo
defintions to path-info.cc
...
Originally there was no `path-info.*`, then there was `path-info.hh`,
then there was `path-info.cc`, but only for new things. Moving this
stuff over makes everything consistent.
2023-01-13 15:39:19 -05:00
John Ericson
2e7be46e73
Move new ValidPathInfo
methods to path-info.cc
...
We'll move the old ones separately, so as not to clutter the diff.
2023-01-13 15:06:07 -05:00
Sheng Yang
7c08144c4a
Add escape for systemd service in installer script
...
Among all the characters that are allowed in a URL, both the percentage
sign "%" and the single quotation mark "'" needs escaping when written
as a environment variable in a systemd service file. While the single
quotation mark may be rare, the percentage sign is widely used to escape
characters in a URL. This is especially common in proxy setting, where
username and password may contain special characters that need
percentage escaping. This patch applies the following replacements:
% -> %%
' -> \'
2023-01-14 03:46:11 +08:00
Robert Hensing
fec527bba1
Merge pull request #7597 from tweag/move-implem-bit-to-implem-file
...
Move the `getBuildLog` implementation to its own implementation file
2023-01-13 20:16:33 +01:00
Cole Helbling
7f195d058c
tests/config: test retrieving a single setting's value with nix show-config <setting>
2023-01-13 07:57:55 -08:00
Robert Hensing
d21f54958e
Merge pull request #6815 from obsidiansystems/better-wanted-outputs
...
`OutputSpec` for `DerivationGoal` and `DerivedPath`, today's `OutputSpec` -> `ExtendedOutputSpec`
2023-01-13 16:03:12 +01:00
Théophane Hufschmitt
b8a0e9a9b8
Move the getBuildLog
implementation to its own implementation file
...
Keep the header minimal and clean
2023-01-13 11:05:44 +01:00
Théophane Hufschmitt
bdeb6de889
Merge pull request #7430 from tweag/ca/fix-nix-log
...
Ca/fix nix log
2023-01-13 11:00:56 +01:00
Théophane Hufschmitt
dda71d3726
Merge pull request #7427 from fricklerhandwerk/pr-policy
...
state priorities in triaging and discussion process
2023-01-13 10:53:40 +01:00
John Ericson
d8512653d4
Write more (extended) output spec tests
2023-01-12 22:05:55 -05:00
John Ericson
d29eb08563
Assert on construction that OutputsSpec::Names
is non-empty
2023-01-12 20:52:29 -05:00
John Ericson
e947aa5401
Unit test OuputsSpec::{union_, isSubsetOf}
2023-01-12 20:33:50 -05:00
John Ericson
31875bcfb7
Split OutputsSpec::merge
into OuputsSpec::{union_, isSubsetOf}
...
Additionally get rid of the evil time we made an empty
`OutputSpec::Names()`.
2023-01-12 20:20:27 -05:00
Cole Helbling
1fc74afbba
nix/show-config: allow getting the value of a specific setting
...
Instead of needing to run `nix show-config --json | jq -r
'."warn-dirty".value'` to view the value of `warn-dirty`, you can now
run `nix show-config warn-dirty`.
2023-01-12 13:56:35 -08:00
Valentin Gagarin
7de8af526e
state priorities in triaging and discussion process
...
based on
- Nix team decisions
https://discourse.nixos.org/t/2022-11-11-nix-team-meeting-minutes-7/23451#planning-discussion-1
https://discourse.nixos.org/t/2022-12-02-nix-team-meeting-minutes-13/23731#discussion-3
- proposal to deal use labels more effectively
https://discourse.nixos.org/t/improving-nix-developer-experience/21629
- documentation team decision to foster gauging interest using upvotes
https://github.com/NixOS/nix/pull/7387
2023-01-12 19:33:41 +01:00
Théophane Hufschmitt
eaa20f2574
Merge pull request #7590 from fricklerhandwerk/remove-unnecessary-cast
...
remove unncessary cast
2023-01-12 14:00:43 +01:00
Valentin Gagarin
48b2a3a0d0
remove unncessary cast
2023-01-12 13:23:32 +01:00
John Ericson
0faf5326bd
Improve tests for OutputsSpec
2023-01-11 19:09:21 -05:00
John Ericson
5ba6e5d0d9
Remove default constructor from OutputsSpec
...
This forces us to be explicit.
It also requires to rework how `from_json` works. A `JSON_IMPL` is added
to assist with this.
2023-01-11 19:08:19 -05:00
John Ericson
114a6e2b09
Make it hard to construct an empty OutputsSpec::Names
...
This should be a non-empty set, and so we don't want people doing this
by accident. We remove the zero-0 constructor with a little inheritance
trickery.
2023-01-11 19:08:19 -05:00
John Ericson
8a3b1b7ced
Simplify and document store path installable parsing
2023-01-11 19:08:19 -05:00
John Ericson
ce2f91d356
Split OutputsSpec
and ExtendedOutputsSpec
, use the former more
...
`DerivedPath::Built` and `DerivationGoal` were previously using a
regular set with the convention that the empty set means all outputs.
But it is easy to forget about this rule when processing those sets.
Using `OutputSpec` forces us to get it right.
2023-01-11 18:57:18 -05:00
John Ericson
a7c0cff07f
Rename OutputPath
-> ExtendedOutputPath
...
Do this prior to making a new more limitted `OutputPath` we will use in
more places.
2023-01-11 18:55:29 -05:00
John Ericson
a8f45b5e5a
Improve OutputsSpec
slightly
...
A few little changes preparing for the rest.
2023-01-11 18:54:50 -05:00
Robert Hensing
5c0d3b476f
release-process: Add "create a backport label"
2023-01-12 00:19:18 +01:00
Eelco Dolstra
9fc8d00d74
MonitorFdHup: Make it work on macOS again
...
It appears that on current macOS versions, our use of poll() to detect
client disconnects no longer works. As a workaround, poll() for
POLLRDNORM, since this *will* wake up when the client has
disconnected. The downside is that it also wakes up when input is
available. So just sleep for a bit in that case. This means that on
macOS, a client disconnect may take up to a second to be detected,
but that's better than not being detected at all.
Fixes #7584 .
2023-01-11 10:48:40 -08:00
Eelco Dolstra
6dd8b3b412
Merge pull request #7581 from edolstra/getline-tests
...
Backport getLine tests from lazy-trees
2023-01-11 14:30:47 +01:00
Eelco Dolstra
7515617ad0
Backport getLine tests from lazy-trees
2023-01-11 13:49:39 +01:00