Commit graph

448 commits

Author SHA1 Message Date
Zhaofeng Li
052c6795f2 .github: Fix substitution in manual deployment 2021-11-18 13:23:56 -08:00
Zhaofeng Li
2957b31e4e manual: Fix manualFast 2021-11-18 13:18:38 -08:00
Zhaofeng Li
ee8ae7dd21 Move closer to release 2021-11-18 13:15:20 -08:00
Zhaofeng Li
c271780b63 Improve error reporting 2021-11-18 13:15:20 -08:00
Zhaofeng Li
fae58994e4 Prepare for 0.2.0 release 2021-11-18 13:15:20 -08:00
Zhaofeng Li
e5665775b2 Preserve elapsed time in store path listing after build
Fixes #36.
2021-11-18 01:38:58 -08:00
Zhaofeng Li
b751209f60 .gitattribute: Don't count the vendored highlight.js in language stats
It made Colmena appear as if it's a JavaScript project :P
2021-11-18 01:10:44 -08:00
Zhaofeng Li
0eca2c3571 [ci skip] manual: s/Documentation/Manual 2021-11-17 22:40:02 -08:00
Zhaofeng Li
50300dc0e7 default.nix: Fix CI failure 2021-11-17 22:33:30 -08:00
Zhaofeng Li
810885af81 README.md: Point at unstable manual 2021-11-17 22:26:24 -08:00
Zhaofeng Li
e25c40c84f .gitignore: How come this wasn't ignored 2021-11-17 22:26:07 -08:00
Zhaofeng Li
80a71d9023 cli.rs: Point user at manual 2021-11-17 22:21:00 -08:00
Zhaofeng Li
1ac5fd0f9b default.nix: Exclude manual from source 2021-11-17 22:21:00 -08:00
Zhaofeng Li
1f738c8014 .github: Add Cachix cache 2021-11-17 22:21:00 -08:00
Zhaofeng Li
b891094b39 .github: Add workflow to build and deploy manual 2021-11-17 22:21:00 -08:00
Zhaofeng Li
4497ef296e Add manual
We finally have some real documentation :)
2021-11-17 22:21:00 -08:00
Zhaofeng Li
c42c97d2f6 Add internal command to render CLI usage text for manual 2021-11-17 22:21:00 -08:00
Zhaofeng Li
1535857acc Also disallow pinning to a Nixpkgs lambda in Flakes
Somehow missed this one *shrugs*
2021-11-17 22:21:00 -08:00
Zhaofeng Li
0828bc3025 .github: Update test matrix 2021-11-16 22:11:57 -08:00
Zhaofeng Li
006cb2c5ee eval.nix: Make the uninitialized nixpkgs error more informative 2021-11-16 21:01:40 -08:00
Zhaofeng Li
f716daa3a1 Migrate to indicatif 0.7 beta
Now there is no need for the ugly hack where we drove the spinner
in a separate thread :)
2021-11-16 21:01:33 -08:00
Zhaofeng Li
7d15d08d6d Add test command for progress spinners 2021-11-16 21:01:33 -08:00
Zhaofeng Li
86eeeece3c command: Rename introspect to eval 2021-10-28 17:27:30 -07:00
Zhaofeng Li
f7eb121260 Disallow uninitialized meta.nixpkgs in Flakes 2021-10-28 17:10:58 -07:00
Zhaofeng Li
765f42fa24 introspect: Support actually instantiating the expression 2021-10-28 14:09:35 -07:00
Zhaofeng Li
fac91c524b Cargo.lock: Update 2021-10-28 14:09:35 -07:00
Zhaofeng Li
6991c91943 .github: Bump actions 2021-10-28 14:09:35 -07:00
Zhaofeng Li
58f2bf391f src/util.rs: No need to list 2021-10-28 14:09:35 -07:00
Zhaofeng Li
0e0a1e84f0 Make flake resolution (slightly) less terrible
Instead of using `path:` which always copies the entire directory,
we now try to resolve the Flake URI using `nix flake metadata` which
may give us a `git+file:`.
2021-10-25 23:38:10 -07:00
Zhaofeng Li
b48753239a hive.rs: Canonicalize flake path
Relative paths are no longer allowed in newer Nix versions.
2021-10-25 21:53:38 -07:00
Zhaofeng Li
f8feb40cbd flake.lock: Update nixpkgs 2021-10-25 21:47:43 -07:00
Zhaofeng Li
6d6e33fcd4 nix: Remove unneeded ok() 2021-10-23 20:49:14 -07:00
Zhaofeng Li
d5f5ed6abb
Merge pull request #35 from bjornfor/dynamically-select-user
Allow selecting ssh user dynamically
2021-10-23 20:47:56 -07:00
Bjørn Forsman
4106a73e75 Allow selecting ssh user dynamically
...by setting `deployment.targetUser = null`.

This allows sharing a deployment file (hive.nix/flake.nix) between
multiple admins, without having to use a shared root account.
2021-10-23 15:06:56 +02:00
Zhaofeng Li
d0c89302be .github: Fix job :/ 2021-09-19 22:05:51 -07:00
Zhaofeng Li
1d6ec530ca .github: Add job to test flake-compat build 2021-09-19 22:03:39 -07:00
Zhaofeng Li
6f5d7aa29b flake.nix: Clean up and add overlay 2021-09-19 22:03:39 -07:00
Zhaofeng Li
37b43cd6d7 eval.nix: Support autocall for hive configuration 2021-08-26 19:59:22 -07:00
Zhaofeng Li
7cc6552ee3 hive.rs: Remove unwrap in builder_args() 2021-08-26 19:59:22 -07:00
Zhaofeng Li
886b4c9dea default.nix: Use cargoLock.lockFile
Support for directly passing the Cargo.lock was added in
<https://github.com/NixOS/nixpkgs/pull/122158>.
2021-08-26 13:21:18 -07:00
Zhaofeng Li
db563caad9 .envrc: Use nix-direnv with use flake 2021-08-26 13:15:04 -07:00
Zhaofeng Li
7b69946d98 Ensure key ownerships are set correctly
Depending on when keys are uploaded (`deployment.keys.<name>.uploadAt`):

`pre-activation`:
We set the ownerships in the uploader script opportunistically and
continue if the user/group does not exist. Then, in the activation
script, we set the ownerships of all pre-activation keys.

`post-activation`:
We set the ownerships in the uploader script and fail if the
user/group does not exist.

The ownerships will be correct regardless of which mode is in use.

Fixes #23. Also a more complete solution to #10.
2021-08-26 12:54:41 -07:00
Zhaofeng Li
e98a66bc2e Cargo.lock: Update 2021-08-25 09:51:48 -07:00
Zhaofeng Li
24339bcca7 Add deployment.keys.<name>.uploadAt
This mirrors the functionality recently added in morph and allows
for the uploading of keys after system profile activation.

Fixes #10.
2021-08-24 23:25:46 -07:00
Zhaofeng Li
e788fb02d0 LICENSE: Add contributors 2021-08-01 14:20:14 -07:00
Zhaofeng Li
36fd513740 flake.lock: Update
A properly-licensed version of flake-compat is now included:

https://github.com/edolstra/flake-compat/pull/23
2021-08-01 14:18:08 -07:00
Zhaofeng Li
135a42b20f eval.nix: Add meta.specialArgs 2021-07-16 22:52:23 -07:00
Zhaofeng Li
671cf38796 hive.rs: Pass --builders to nix-instantiate as well 2021-07-13 01:38:52 -07:00
Zhaofeng Li
56aa6bf3ce README.md: Mention that colmena apply also builds 2021-06-29 15:09:52 -07:00
Zhaofeng Li
3c86de06d9 README.md: Add deployment.tags to example 2021-06-29 11:31:51 -07:00