Commit graph

560 commits

Author SHA1 Message Date
Zhaofeng Li
3e8ec98a26 ssh: Support using the experimental nix copy command to copy
The new SSH store protocol (ssh-ng://) provides better performance.
This is now enabled for flake deployments.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
695ec0c36f Use --extra-experimental-features as opposed to --experimental-features 2022-09-18 17:27:46 -06:00
Zhaofeng Li
d4dcf1c6e9 Add support for using an already-evaluated hive
Note that the interface hasn't been finalized yet.
After this commit, the discovery order is:

1. flake.nix `colmenaHive` output (prepared hive)
2. flake.nix `colmena` output (raw hive)
3. hive.nix (raw hive)
2022-09-18 17:27:46 -06:00
Zhaofeng Li
bd048e98d8 flake.nix: Add lib.makeHive
Ground work to make the evaluation logic more clearly separated from
the deployment logic.

The `colmenaHive` output will be the integration point between the two
halves.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
95be6686ae flake.nix: Reindent 2022-09-18 17:27:46 -06:00
Zhaofeng Li
4e828171d8 manual/keys: Add note about flake-copying behavior in Nix
Ref: #78
2022-09-18 17:27:46 -06:00
Zhaofeng Li
c171a43328 Cargo.lock: Update 2022-09-18 17:27:46 -06:00
Zhaofeng Li
52b594a167 apply: Run rustfmt 2022-09-01 18:49:11 -06:00
Zhaofeng Li
f01f6ac197 deployment: Move post-activation key upload after reboot
Ref: #113
2022-09-01 18:42:37 -06:00
Zhaofeng Li
3af3751d8e apply: Default to the "boot" goal if --reboot is passed
Fixes #113.
2022-09-01 18:42:37 -06:00
Zhaofeng Li
e7356e2c5c .github: Upgrade runner to macOS 12 2022-08-28 00:45:23 -06:00
Zhaofeng Li
e740a50b73 nix/assets: Use more descriptive prefix for temp dir 2022-08-28 00:45:23 -06:00
Zhaofeng Li
1a97f8d207 manual/release-notes: Update 0.3.1 release date
It's a month late :/
2022-08-28 00:45:23 -06:00
Zhaofeng Li
9d1beeadb3 manual: Add 0.3.1 release notes 2022-08-28 00:45:23 -06:00
Zhaofeng Li
3fbc5eeb11 repl: Add arguments depending on Nix version 2022-08-17 11:56:30 -06:00
Zhaofeng Li
741d5c4fbb repl: Use a temporary file for the expression
This makes it compatible with Nix 2.3+.
2022-08-17 11:56:30 -06:00
Zhaofeng Li
797297b609 integration-tests/flakes: Check pure evaluation 2022-08-17 01:09:43 -06:00
Zhaofeng Li
4cdb21be0b integration-tests/flakes: Eliminate slow nixpkgs copy 2022-08-17 01:09:43 -06:00
Zhaofeng Li
7aa1607a3c nix_eval_jobs: Pass the expression on the command line
This gets rid of the temporary file.
2022-08-17 01:09:43 -06:00
Zhaofeng Li
976849028b flake.nix: Add patched nix-eval-jobs with pure-eval fixes 2022-08-17 01:09:43 -06:00
Zhaofeng Li
06168dabf3 nix_eval_jobs: Remove --impure
Note that this still does not make flake evaluation pure in
nix-eval-jobs yet, since it forcibly resets `evalSettings.pureEval`
prior to starting the evaluation.
2022-08-16 20:38:42 -06:00
Zhaofeng Li
c540e00861 Add repl subcommand
Fixes #115.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
11add6501e exec: Set label width in output 2022-08-16 20:16:00 -06:00
Zhaofeng Li
247d5754db integration-tests/flakes: Fix impure use of <nixpkgs>
Caught by pure eval :)
2022-08-16 20:16:00 -06:00
Zhaofeng Li
80426aa814 cli: Support passing --impure 2022-08-16 20:16:00 -06:00
Zhaofeng Li
8aca525788 Make flake evaluation pure
This seems to be the easiest way to get pure-eval working with
existing evaluation mechinery (nix-instantiate, nix-eval-jobs).

Now `--pure-eval` is forced for flakes with user being able to
add `--impure` as needed.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
092e5848ab Directly serialize Nix expressions as quoted strings 2022-08-16 20:16:00 -06:00
Zhaofeng Li
271d9ae576 nix/assets: Make assets a flake
Groundwork to make flake evaluation pure. `pure-eval` works when
the git workspace is clean.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
a98d1f8963 nix/flake: Always resolve flake metadata 2022-08-16 20:16:00 -06:00
Zhaofeng Li
5e76e8ab26 .github: Restructure workflows 2022-08-16 20:16:00 -06:00
Zhaofeng Li
c99a8246c2 .github/manual: Remove github-pages-deploy-action for now
Does not work well with `matrix` et al which causes the actual
job name to change.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
49eacdc31f flake.nix: Add cargo-audit to devShell 2022-08-16 20:16:00 -06:00
Zhaofeng Li
81bda9d595 Update deps 2022-08-16 20:16:00 -06:00
Zhaofeng Li
63a981a6cb flake.lock: Update 2022-08-16 20:16:00 -06:00
Zhaofeng Li
68d0036a2c Thanks clippy 2022-08-16 20:16:00 -06:00
Zhaofeng Li
34bb2e4674 .github/linters: Add rustfmt check 2022-07-29 22:13:09 -07:00
Zhaofeng Li
62a3d1e6f8 Run rustfmt 2022-07-29 22:13:09 -07:00
Zhaofeng Li
e82993a83e .github/manual: Fix github-pages-deploy-action version tag 2022-07-29 22:13:09 -07:00
Zhaofeng Li
5d2f128515 .github: Bump versions 2022-07-17 14:42:34 -07:00
Zhaofeng Li
7d0a6eed90 Apply quit::main to main function
This makes `quit::with_code` actually work with the correct exit code.

Fixes #111.
2022-07-17 14:42:34 -07:00
Zhaofeng Li
16381e9213 .envrc: Bump bundled nix-direnv to 2.1.1 2022-07-17 14:42:34 -07:00
Zhaofeng Li
07efd5818d
Merge pull request #89 from blaggacao/ref/reduce-eval-nix-interface
ref/reduce eval nix interface
2022-07-13 08:45:43 +00:00
David Arnold
b3ca4b1c4d
ref: transparent eval.nix contract
- at least to my eyes, this code formatting gives a better view about
  the gist of the eval.nix interface
2022-07-09 16:04:23 -05:00
David Arnold
e309b2d4b2
ref: reduce eval.nix contract even further
- meta and evalAll contracts are found to be not consumed
2022-07-09 15:41:17 -05:00
David Arnold
83a919bdb0
ref: reduce eval.nix contract forther
- module export contratcts can now bypass the eval.nix iface
- enabled by:9bd5e7bb2540664fe1c728c85f80375fe0cbf9fa
2022-07-09 15:41:17 -05:00
David Arnold
c82517fc12
ref: reduce eval.nix contract
- documentation contratcts can now bypass the eval.nix iface
- enabled by:9bd5e7bb2540664fe1c728c85f80375fe0cbf9fa
2022-07-09 15:41:15 -05:00
Zhaofeng Li
b8bdf5824c hive: Use absolute paths for non-flake hives
Fixes #107.
2022-07-04 14:05:50 -07:00
Zhaofeng Li
fbf25faa24 .github: Don't build manual on macOS
The following doesn't build on macOS:

```nix
pkgs.python3Minimal.override {
  inherit self;
  includeSiteCustomize = true;
}
```

Same error as in
<https://github.com/NixOS/nixpkgs/issues/101229#issuecomment-1086295309>.
2022-07-01 17:41:09 -07:00
Zhaofeng Li
926d6a395b manual/release-notes: Add issue link to allowApplyAll entry 2022-07-01 16:31:13 -07:00
Zhaofeng Li
005bfba5e2 manual/release-notes: Mention nodeSpecialArgs 2022-07-01 16:31:13 -07:00