John Ericson
bc192a95ef
Describe active experimental features in the contributing guide
...
They are put in the manual separate pages under the new overarching
description of experimental features.
The settings page just lists the valid experimental feature names (so
people know what a valid setting entry looks like), with links to those
pages. It doesn't attempt to describe each experimental feature as that
is too much information for the configuration settings section.
2023-04-06 18:07:59 -04:00
John Ericson
6c4049b38a
Link the new general documentation on xp features on the setting
2023-04-06 18:07:58 -04:00
Noah Snelson
e399cb49c2
Fix typo in no-url-literals
experimental feature docs
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-06 15:02:19 -07:00
Noah Snelson
8a7790f46a
Expand documentation for experimental-features
...
Adds examples and additional information to the `impure-derivations`,
`recursive-nix`, and `no-url-literals` experimental feature
documentation.
2023-04-06 14:52:34 -07:00
Eelco Dolstra
a9759407e5
Origin: Use SourcePath
2023-04-06 15:25:06 +02:00
Eelco Dolstra
94812cca98
Backport SourcePath from the lazy-trees branch
...
This introduces the SourcePath type from lazy-trees as an abstraction
for accessing files from inputs that may not be materialized in the
real filesystem (e.g. Git repositories). Currently, however, it's just
a wrapper around CanonPath, so it shouldn't change any behaviour. (On
lazy-trees, SourcePath is a <InputAccessor, CanonPath> tuple.)
2023-04-06 13:15:50 +02:00
Théophane Hufschmitt
faefaac875
Explicitely define LockFile::operator!=
...
It should be syntethised in terms of `operator==`, but the GCC version
used on aarch64-linux doesn't implement that (see
https://hydra.nixos.org/build/214848896= . So explicitely define it.
Fix https://github.com/NixOS/nix/issues/8159
2023-04-05 17:20:04 +02:00
John Ericson
53d0836347
Assemble experimental feature docs outside of Nix itself
...
Instead of constructing a markdown list in C++ (which involved all sorts
of nasty string literals), export some JSON and assemble it with the
manual build system.
Besides following the precedent set with other dumped data, this is a
better separate of content and presentation; if we decide for example we
want to display this information in a different way, or in a different
section of the manual, it will become much easier to do so.
2023-04-04 22:57:11 -04:00
John Ericson
3f98353f19
Merge remote-tracking branch 'upstream/master' into list-experimental-features
2023-04-04 21:34:20 -04:00
John Ericson
bdeeffff96
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-04 19:16:10 -04:00
Théophane Hufschmitt
d93c1514eb
Merge pull request #7944 from yorickvP/fix-curRepl
...
NixRepl::mainLoop: restore old curRepl on function exit
2023-04-04 09:44:47 +02:00
Théophane Hufschmitt
523c3f7225
Merge pull request #8157 from hercules-ci/switch-bugs
...
Fix current and future `switch` bugs
2023-04-03 20:43:02 +02:00
Eelco Dolstra
81491e1379
Merge pull request #8042 from lheckemann/alt-lockfiles
...
Allow specifying alternative paths for reading/writing flake locks
2023-04-03 19:28:09 +02:00
Robert Hensing
bf2c5c3958
nix-store.cc: Refactor, remove qDefault
2023-04-03 18:45:20 +02:00
Robert Hensing
fba7be80eb
Enable -Werror=switch-enum
...
switch statements must now match all enum values or disable the
warning.
Explicit is good. This has helped us find two bugs, after solving
another one by debugging.
From now on, adding to an enum will raise errors where they are
not explicitly handled, which is good for productivity, and helps
us decide the correct behavior in all usages.
Notably still excluded from this though are the cases where the
warning is disabled by local pragmas.
fromTOML.cc did not build despite a top-level pragma, so I've had
to resort to a makefile solution for that.
2023-04-03 18:45:20 +02:00
Robert Hensing
9470ee877d
Allow open switch-enum in 5 places
2023-04-03 18:45:20 +02:00
Robert Hensing
3dac4c7874
Add explicit case statements where -Wswitch-enum would report them
2023-04-03 18:17:32 +02:00
Robert Hensing
ed7885017c
Fix systemd logging for lvlNotice: eqv to lvlInfo, not lvlVomit
2023-04-03 18:17:32 +02:00
Robert Hensing
62cacc371f
Fix BuildResult.toString() for NoSubstituters
2023-04-03 18:17:30 +02:00
John Ericson
4a0b893d5e
Stuctured command stability
...
Prior to this, there was an ad-hoc whitelist in `main.cc`. Now, every
command states its stability.
In a future PR, we will adjust the manual to take advantage of this new
information in the JSON.
(It will be easier to do that once we have some experimental feature
docs to link too; see #5930 and #7798.)
2023-04-03 11:48:21 -04:00
Robert Hensing
f3a6de6ba9
Merge pull request #8148 from hercules-ci/fix-issue-8119-printValue-tBlackhole-abort
...
eval: Fix crash on missing printValue tBlackhole case
2023-04-03 16:05:55 +02:00
Eelco Dolstra
ac4318a1b9
Merge pull request #8152 from obsidiansystems/move-querySubstitutablePathInfos
...
Move `querySubstitutablePathInfos` from `LocalStore` to `Store`
2023-04-03 15:36:33 +02:00
Robert Hensing
1c55544a42
eval: Fix crash on missing printValue tBlackhole case
...
Fixes #8119
2023-04-03 15:32:42 +02:00
Théophane Hufschmitt
70bb7b7289
Merge pull request #7610 from obsidiansystems/gate-default-settings
...
Punt on improper global flags for now
2023-04-03 14:02:45 +02:00
John Ericson
9383520b75
Move querySubstitutablePathInfos
from LocalStore
to Store
...
The code is not local-store-specific, so we should share it with all
stores. More uniform behavior is better, and a less store-specific
functionality is more maintainable.
This fixes a FIXME added in f73d911628
by @edolstra himself.
2023-04-02 20:32:01 -04:00
John Ericson
32d72b1696
Add more API docs to experimental-features.hh
2023-04-02 18:57:46 -04:00
John Ericson
2585bcaa50
Rework a few things with the experimental features list
...
- Use struct not `std::pair`, designated initializers
- Use `constexpr` array that we can index by enum tag
- It no longer segfaults; not sure why.
2023-04-02 18:17:45 -04:00
John Ericson
b2c9315bf2
Merge remote-tracking branch 'upstream/master' into list-experimental-features
2023-04-02 16:21:38 -04:00
John Ericson
5d56e2daf7
Add comparison methods for content addresses
2023-04-01 16:52:23 -04:00
John Ericson
eeecfacb43
Merge branch 'path-info' into ca-drv-exotic
2023-04-01 16:40:32 -04:00
John Ericson
1f8e1edba9
Merge commit 'a6d00a7bfb18e7ec461ac1d54203cc628aca5c66' into ca-drv-exotic
2023-04-01 15:15:38 -04:00
John Ericson
f7f44f7c96
Merge commit 'aa99005004bccc9be506a2a2f162f78bad4bcb41' into ca-drv-exotic
2023-04-01 15:15:32 -04:00
John Ericson
2ef99cd104
Merge pull request #8122 from bjornfor/use-nix-store-l-unless-experimental-enabled
...
Don't recommend 'nix log' unless experimental feature is enabled
2023-04-01 14:50:16 -04:00
John Ericson
f4ab297b31
Ensure all headers have #pragma once
and are in API docs
...
`///@file` makes them show up in the internal API dos. A tiny few were
missing `#pragma once`.
2023-03-31 23:19:44 -04:00
John Ericson
abd5e7dec0
Extend internal API docs, part 2
...
Picking up from #8111 .
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2023-03-31 23:01:40 -04:00
Patrick Jackson
2b905d1d35
Replace unnecessary Sync<uint64_t> with std::atomic<uint64_t>
2023-03-31 17:56:25 -07:00
Eelco Dolstra
936e7c66eb
Indentation
2023-03-31 17:15:03 +02:00
Eelco Dolstra
7ebaf0252a
Add CanonPath::makeRelative()
2023-03-31 17:15:03 +02:00
Théophane Hufschmitt
bb6e1244a3
Merge pull request #7406 from amesgen/gitlab-fetcher
...
Document `gitlab` input scheme
2023-03-31 13:21:55 +02:00
Théophane Hufschmitt
e32ca3cf16
Merge pull request #8018 from tweag/ssh-password-prompt
...
SSH: don't erase password prompt if it is displayed
2023-03-31 12:06:10 +02:00
Patrick Jackson
804180ad52
Only lock once
2023-03-30 18:06:27 -07:00
Patrick Jackson
309753ebb5
Fix data race in copyPaths
2023-03-30 16:59:34 -07:00
John Ericson
c51d554c93
Use "raw pattern" for content address types
...
We weren't because this ancient PR predated it!
This is actually a new version of the pattern which addresses some
issues identified in #7479 .
2023-03-30 17:12:49 -04:00
John Ericson
a6d00a7bfb
Fix warning
2023-03-30 16:29:13 -04:00
John Ericson
aa99005004
Merge remote-tracking branch 'upstream/master' into path-info
...
Also improve content-address.hh API docs.
2023-03-30 16:28:53 -04:00
John Ericson
06d87b95bc
Merge pull request #8111 from obsidiansystems/improve-internal-api-docs
...
Convert a bunch of comments in headers to Doxygen documentation
2023-03-30 09:40:22 -04:00
Valentin Gagarin
368c5b8b9a
Merge pull request #7518 from fricklerhandwerk/doc-commands
...
separate man pages for `nix-store` and `nix-env` subcommands
2023-03-30 15:33:08 +02:00
Eelco Dolstra
1cc5e1d5b6
Merge pull request #8123 from nomeata/import-flake-docs
...
Docs: Explain why `import nixpkgs` works in flakes
2023-03-30 11:20:55 +02:00
Eelco Dolstra
02050bd055
Typo
2023-03-30 10:49:21 +02:00
Joachim Breitner
1b6cfe6fa1
More precise wording
2023-03-30 10:40:04 +02:00