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
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
e740a50b73
nix/assets: Use more descriptive prefix for temp dir
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
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
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
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
81bda9d595
Update deps
2022-08-16 20:16:00 -06:00
Zhaofeng Li
68d0036a2c
Thanks clippy
2022-08-16 20:16:00 -06:00
Zhaofeng Li
62a3d1e6f8
Run rustfmt
2022-07-29 22:13:09 -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
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
ea1e7684f1
hive: Add tests for nodeSpecialArgs
2022-07-01 16:31:13 -07:00
Zhaofeng Li
1b045eb38d
Merge pull request #100 from fooker/pr/specialArgs
...
eval.nix: per-node specialArgs
2022-07-01 16:29:59 -07:00
NeverBehave
dfe55ed461
fix: rename no-substitutes -> no-substitute
...
Fixes #59 .
2022-07-01 16:06:01 -07:00
Zhaofeng Li
432d4212fc
apply: Don't enforce meta.allowApplyAll
for builds
...
Fixes #99 .
2022-06-24 17:34:37 -07:00
Zhaofeng Li
0209b6dc40
Add name of key to key upload errors
...
> example | Key upload failed: Error processing key "meow": I/O Error: No such file or directory (os error 2)
Fixes #101 .
2022-06-24 17:34:37 -07:00
Dustin Frisch
07499a1eaf
eval.nix: per-node specialArgs
2022-06-23 12:09:29 +02:00
NeverBehave
dd7a2924ca
feat(meta): add disallowApplyAll options
...
unify meta access for machinesFile
update release note and config name
2022-06-20 18:47:53 -07:00
Zhaofeng Li
dd3f4b252c
host/local: Upload keys with sudo as well
2022-06-10 11:29:25 -07:00
Zhaofeng Li
d7aa4ab864
hive/tests: Fix editorconfig
2022-06-09 11:35:02 -07:00
Zhaofeng Li
9db25bd914
deployment: Move GC root creation after build
...
Previously GC roots were only created after successful activation.
2022-06-09 11:31:49 -07:00
Zhaofeng Li
2b0bafa155
eval.nix: Restore signature in introspect
...
It was broken in 9bd5e7bb25
.
2022-06-09 11:31:49 -07:00
Zhaofeng Li
b5629dca83
eval.nix: Enable config merging for meta.nixpkgs on 21.11+
...
Ref: #74 #15
2022-06-03 23:51:32 -07:00
Zhaofeng Li
1cd3aa6401
eval.nix: Accept path-likes in meta.nixpkgs as well
...
This fixes usage with Niv.
2022-06-03 23:51:32 -07:00
Zhaofeng Li
b87da69558
Don't import impure overlays if meta.nixpkgs
is a path
...
Also update documentations to recommend specifying `overlays = []`
explicitly.
Fixes #39 .
2022-06-03 23:51:32 -07:00
Zhaofeng Li
ca12be27ed
apply-local: Escalate privileges only during activation
...
Fixes #85 .
2022-06-03 23:51:32 -07:00
Zhaofeng Li
fa07814abf
hive/assets.rs: Use OpenOptions::new() instead
2022-06-03 23:51:32 -07:00
Zhaofeng Li
4037b61a2b
apply: Fix typo in help
2022-06-03 23:51:32 -07:00
Zhaofeng Li
af3247faeb
Update docs after #91
2022-06-03 23:51:32 -07:00
Zhaofeng Li
ed91898e59
Clippy
2022-06-03 23:51:32 -07:00
Zhaofeng Li
ac8852dcdf
hive: Refactor static file creation
2022-06-02 16:39:45 -07:00
Wanja Hentze
6fe48ccd04
nix-eval-jobs: Strip quotes surrounding attribute names
...
Fixes #92 .
2022-06-02 16:39:45 -07:00
Victor Nawothnig
e937eb8faa
Do not use an explicit user for ssh when deploymentUser is null
2022-06-01 12:30:49 +02:00