Age | Commit message (Collapse) | Author |
|
This was a latent bug that just appeared because of the tests that were
added. Remember to wait for CI! :)
|
|
Remove `addToStore` variant as requested by `FIXME`
|
|
|
|
Co-authored-by: James Lee <jbit@jbit.net>
|
|
Improve ref validity checking in fetchgit
|
|
|
|
As `git fetch` may chose to interpret refspec to it's liking, ensure that we
only pass refs that begin with `refs/` as is, otherwise, prepend them with
`refs/heads`. Otherwise, branches named `heads/foo` (I know it's bad, but it's
allowed), would be fetched as `foo`, instead of `heads/foo`.
|
|
The previous regex was too strict and did not match what git was allowing. It
could lead to `fetchGit` not accepting valid branch names, even though they
exist in a repository (for example, branch names containing `/`, which are
pretty standard, like `release/1.0` branches).
The new regex defines what a branch name should **NOT** contain. It takes the
definitions from `refs.c` in https://github.com/git/git and `git help
check-ref-format` pages.
This change also introduces a test for ref name validity checking, which
compares the result from Nix with the result of `git check-ref-format --branch`.
|
|
The idea is it's always more flexible to consumer a `Source` than a
plain string, and it might even reduce memory consumption.
I also looked at `addToStoreFromDump` with its `// FIXME: remove?`, but
the worked needed for that is far more up for interpretation, so I
punted for now.
|
|
Add unit tests for config.cc
|
|
Replace some `bool recursive` with a new `FileIngestionMethod` enum
|
|
installer: don't require xz on darwin
|
|
There was an enum there that matched in perfectly.
|
|
On macOS the system tar has builtin support for lzma while xz isn't
available as a separate binary. There's no builtin package manager
there available either so having to install lzma (without nix) would be
rather painful.
|
|
This is much less confusing since recursive is no longer a boolean.
|
|
This is a different recursive than used in makeFixedOutputPath.
|
|
Provides some general overview on the mechanics of Config/Setting and
comments for the public methods of Config.
|
|
|
|
This moves the actual parsing of configuration contents into applyConfig
which applyConfigFile is then going to call. By changing this we can now
test the configuration file parsing without actually create a file on
disk.
|
|
|
|
Use /etc/zshenv instead of /etc/zshrc for profile
|
|
Add unit tests for "json.hh"
|
|
Add unit tests for xml-writer
|
|
Add unit tests for hashing functions
|
|
|
|
|
|
|
|
- --no-channel-add didn't have effect on multi-user installation
- some new flags didn't work at all
- document all installer flags
|
|
|
|
install-multi-user: allow overriding user count
|
|
Allow passing extra nix.conf to installer
|
|
|
|
|
|
|
|
|
|
Manpages: Do not refer to nixpkgs-channels
|
|
fix hydra build products
|
|
Unless I am misinformed, using the `nixpkgs` repository directly is now
preferred?
|
|
Since the binary tarball was replaced none of the hydra builds include
the manual. The dist phase isn't enabled by default the manual build
products where not written.
|
|
install: configure and bootstrap synthetic.conf on darwin
|
|
|
|
documentation: avoid unquoted URLs
|
|
As noted in https://github.com/NixOS/nix/issues/3456 the `/etc/zshenv` file provides a better place for sourcing the nix environment.
|
|
|
|
This should handle installation scenarios we can handle with
anything resembling confidence. Goal is approximating the existing
setup--not enforcing a best-practice...
Approaches (+ installer-handled, - manual) and configs each covers:
+ no change needed; /nix OK on boot volume:
All pre-Catalina (regardless of T2 or FileVault use)
+ create new unencrypted volume:
Catalina, pre-T2, no FileVault
+ create new encrypted-at-rest volume:
Catalina, pre-T2, FileVault
Catalina, T2, no FileVault
- require user to pre-create encrypted volume
Catalina, T2, FileVault
|
|
|
|
|
|
|
|
|
|
|