Commit graph

319 commits

Author SHA1 Message Date
Ana Hobden 5bad0ec1f5
Harmonic stores itself during install (#94)
* Harmonic stores itself during install

* Use provisioned harmonic to do uninstall in CI

* Steam deck is a special case

* Fix mac hanging
2022-12-06 07:13:13 -08:00
Ana Hobden ec0071d28f
Fix missing indicator for successful install (#93)
* Add successful install message

* No extra newline

* Use new wording
2022-12-05 20:21:11 +00:00
Ana Hobden 32dcfe73e7
Planner explain output fix (#92) 2022-12-05 12:10:28 -08:00
Ana Hobden 4ce8d94ac7
Create ActionError (#79)
* wip

* Fixes

* Fix a comment
2022-12-05 08:55:30 -08:00
Ana Hobden ae37842a0d
Add Steam Deck Support (#34)
* Init Steam Deck support

* Improve systemd units

* Handle stopping nix-daemon.service before stopping mount

* Better handle being in a sysext

* Add some install directions

* Add a KDE autostart script

* Tidy up uninstall

* Use stop/disable instead of disable --now

* Fixup a double-disable

* Repair some defaults

* Tidy up services

* Make ci test steam deck planner

* Delete bonus line

* Use newer image

* Get steam-deck working hopefully

* Create steamos-readonly mock

* Make stub of steamos-readonly

* Use sudo for chmod

* Attempt CI fix

* Don't add deck group

* A more clever method

* We have a new method and the CI can be cleaned a bit

* Brazenly disable sandbox on the deck ci

* Extra-conf takes vec

* Dump lsblk mount

* An even more clever method

* More debugging symbols

* More debugging symbols

* Even more debugging

* probe for issues

* Get specific with permissions and ownership (for ci)

* We are now way overboard on debugging symbols

* Specify permissions on created home stub

* Allow specifying persistence

* Cleanup debugging bits

* Fixup persistence path

* Work out some better linking in units

* units don't need executable

* Tidy

* Delint

* Remove a note from readme

* Github actions seems to have build the wrong checkout?

* Doctest repair

* Don't create directory twice

* Restore missing doc comments

Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2022-12-02 07:31:15 -08:00
Ana Hobden 017bcaf1f6
Add skipped option to ActionState (#74)
* Make plans versioned

* Delint

* speeeeeeeeling

* remove file that was dead

* Flesh out docs and improve public API

* Speeling

* Fixups

* Fix doctests

* Do a better job with actionstate

* Add some more docs

* Fix doctest

* Make CLI stuff optional

* Touchup

* Speeling

* add skipped to ActionState
2022-12-02 06:58:25 -08:00
Ana Hobden c39bf0a510
Flesh out docs and tidy up public API substantially (#67)
* Make plans versioned

* Delint

* speeeeeeeeling

* remove file that was dead

* Flesh out docs and improve public API

* Speeling

* Fixups

* Fix doctests

* Do a better job with actionstate

* Add some more docs

* Fix doctest

* Make CLI stuff optional

* Touchup

* Speeling
2022-11-28 22:57:35 +00:00
Ana Hobden f1d12149de
improve the output of some errors and plans (#66)
* improve the output of some errors and plans

* speeling
2022-11-25 11:50:21 -08:00
Ana Hobden 7cc71f1ccd
Make plans versioned (#62)
* Make plans versioned

* Delint

* speeeeeeeeling

* remove file that was dead
2022-11-25 11:46:38 -08:00
Ana Hobden ad44b85c97
Use process groups with tokio (also crate bump) (#63)
* Use process groups with tokio (also flake/crate bump)

* Use pgid0

* Maybe this checkout has a non-broken curl on mac

* Don't update flake at all
2022-11-25 08:02:00 -08:00
Ana Hobden 38ac180052
Tidy tracing (#57)
* Tidy tracing

* Forgot a few changes

* Remove more boilerplate

* Repair Plan::describe_revert

* More valid default settings

* fmt

* Use correct execute/revert calls

* Split up Linux Daemon disable and stop

* Detect state and act on it

* Fixup pathes

* Add a missing step to the mac bits

* Unload instead of disable

* Prune out again

* Squelch some stdout

* Clean lint

* Better log for no-delete-directory case

* Even more verbose messages on CreateDirectory

* Less broken code

* Use try_execute where it should be used

* Final tweaks

* Add some docs
2022-11-23 09:18:38 -08:00
Ana Hobden 7255c7e5a1
Split up Linux Daemon disable and stop (#60)
* Split up Linux Daemon disable and stop

* Detect state and act on it

* Fixup pathes

* Handle linked
2022-11-21 12:54:32 -08:00
Ana Hobden b06ad289fc
More valid default settings (#59) 2022-11-21 10:50:12 -08:00
Ana Hobden d5757e68bd
Update flake/cargo deps (#56) 2022-11-16 21:11:14 +00:00
Ana Hobden 6f64bb0092
Detect if nix is installed (#51)
* Add Nix installed detection

* Call nix-env --version instead
2022-11-15 08:22:51 -08:00
Ana Hobden 2dcda0a801
Merge pull request #46 from DeterminateSystems/hoverbear/ds-431-ctrlc-should-be-handled-and-terminate-us
Handle signals and user stdin more gracefully
2022-11-14 13:37:52 -08:00
Ana Hobden 021dfaf92b Remove unused 2022-11-14 09:47:00 -08:00
Ana Hobden 15f44b34b3 Note about why this method is valid 2022-11-14 08:33:10 -08:00
Ana Hobden ffaee2669d Merge branch 'main' into hoverbear/ds-441-detect-nixos 2022-11-10 11:04:43 -08:00
Ana Hobden b61e16faed Merge branch 'main' into hoverbear/ds-431-ctrlc-should-be-handled-and-terminate-us 2022-11-10 11:04:29 -08:00
Ana Hobden 91f286a37f Planner error if on NixOS 2022-11-10 10:46:48 -08:00
Ana Hobden c94fad6c3c Use a github token in extra-conf 2022-11-10 10:23:00 -08:00
Ana Hobden 6123d778fe Merge branch 'main' into hoverbear/ds-431-ctrlc-should-be-handled-and-terminate-us 2022-11-10 09:43:38 -08:00
Ana Hobden 673464ede7
Merge pull request #31 from DeterminateSystems/nix-mac-encrypted-volume
Nix Mac encrypted volume support
2022-11-10 09:08:07 -08:00
Ana Hobden 835b8f82a0 Speeling 2022-11-10 09:04:41 -08:00
Ana Hobden 8c77b6eb38 Merge branch 'main' into hoverbear/ds-431-ctrlc-should-be-handled-and-terminate-us 2022-11-10 08:55:44 -08:00
Ana Hobden fb70f9d21b Merge branch 'main' into hoverbear/ds-436-tidy-up-plan-install-ux 2022-11-10 08:49:32 -08:00
Ana Hobden b81ec5f11f Include warning messages on noops for mac 2022-11-10 08:46:31 -08:00
Ana Hobden 1e518cab9f Merge branch 'main' into nix-mac-encrypted-volume 2022-11-10 08:40:55 -08:00
Ana Hobden a77cfc6d0c Include bare harmonic install command 2022-11-10 08:36:07 -08:00
Ana Hobden 5c1be32a08 Merge branch 'main' into hoverbear/ds-436-tidy-up-plan-install-ux 2022-11-10 08:32:20 -08:00
Ana Hobden 0c6102d96f Merge branch 'main' into hoverbear/ds-435-check-if-running-as-root 2022-11-10 08:25:35 -08:00
Katharina Fey 24a38ff454 cargo fmt 2022-11-10 16:08:47 +01:00
Katharina Fey e98827d5ae Restructure common actions into common and base
Base actions are those that don't depend on another action to execute.
They mostly map to "very simple" OS operations like creating a
directory or user.  Base actions MUST be multi-platform compatible.
Common actions may then use any set of base actions or other common
actions.  Base actions MUST NOT depend on other base actions.
2022-11-10 15:54:12 +01:00
Ana Hobden 6ff452420b Merge branch 'main' into hoverbear/ds-411-install-should-detect-existing 2022-11-09 15:23:45 -08:00
Ana Hobden 942c652fc2 Handle signals and user stdin more gracefully 2022-11-09 15:19:32 -08:00
Ana Hobden 8b3205e944
Merge pull request #42 from DeterminateSystems/hoverbear/ds-427-add-ci-jobs-to-do-install-uninstall
Add new CI jobs that test install/uninstall
2022-11-09 13:37:59 -08:00
Ana Hobden 9fa8d0e948 Remove dead code 2022-11-09 10:13:49 -08:00
Ana Hobden c22f92aee4 Tidy up plan / install UX 2022-11-09 10:09:20 -08:00
Ana Hobden 9c0dd087c3 Check if running as root during install and uninstall 2022-11-09 09:56:28 -08:00
Ana Hobden a7ab480eea Get repeated install working in CI 2022-11-09 09:25:29 -08:00
Ana Hobden 83dde40db9 Use const in error messages 2022-11-09 08:45:13 -08:00
Ana Hobden 71e63da4e4 undo change 2022-11-08 14:11:45 -08:00
Ana Hobden 4ea3cd221d Actually try to build working code 2022-11-08 13:53:56 -08:00
Ana Hobden 6ef10ff50e Use systemctl disable not enable, don't auto revert in no-confirm 2022-11-08 13:43:06 -08:00
Ana Hobden 47ae6398f8 Use sudo and don't try to prompt on no-confirm 2022-11-08 12:21:02 -08:00
Ana Hobden 658c3ddde7 fmt 2022-11-08 10:31:11 -08:00
Ana Hobden 00ffe96aae Refine plan subcommand UX 2022-11-08 10:20:48 -08:00
Ana Hobden 72d3fcd942 Detect if plan already done 2022-11-08 10:18:05 -08:00
Ana Hobden e57311a807 Install can detect existing /nix/receipt.json 2022-11-08 09:58:53 -08:00
Ana Hobden 80b7c2c1fa Workaround user deletion issues
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-11-04 12:24:38 -07:00
Ana Hobden c230ea65f6 Revert accidental name_with_qoutes that broke unencrypted 2022-11-02 09:47:40 -07:00
Ana Hobden 7b8c62e4d5 When user sets encrypted, detect it, else heuristic 2022-11-02 09:32:06 -07:00
Ana Hobden 67efbedae9 Make it so --encrypt false works 2022-11-02 09:29:37 -07:00
Ana Hobden 5cf3ce93b9 Rename volume-encrypt to encrypt 2022-11-02 09:16:21 -07:00
Ana Hobden e079f3ade0 Use the right magic sauce in the mount command 2022-11-02 09:10:44 -07:00
Ana Hobden 997364ad41 Get key provisioning working better 2022-11-01 15:31:31 -07:00
Ana Hobden 7c4f3206f9 Scaffold 2022-11-01 11:33:54 -07:00
Ana Hobden 914e2e2c13 Various bumps 2022-11-01 09:32:14 -07:00
Ana Hobden 67a67111e6 Improve documentation structure 2022-10-28 14:15:33 -07:00
Ana Hobden eb1d8215f3 Improve planner and plan output 2022-10-28 12:44:07 -07:00
Ana Hobden 615b8b502c Fixup a mistaken move of actions and make configure_nix_daemon_service cross platform 2022-10-28 10:54:33 -07:00
Ana Hobden a61045f5a8 Move actions into OS-specific 2022-10-28 09:29:15 -07:00
Ana Hobden d71827515a Resolve Linux issue with repeated installs not working
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-27 08:42:03 -07:00
Ana Hobden 92f6a4e2b7 Cleanup BoxableError location
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-27 08:38:21 -07:00
Ana Hobden ed039bf1dd Cargo updates
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-27 06:42:00 -07:00
Ana Hobden f49c155117 Ensure Planners and Actions can be created externally
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-26 15:13:42 -07:00
Ana Hobden cc1cbe109a Box up errors, dyn Actionables
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-26 14:14:53 -07:00
Ana Hobden 706af47714 Tidy up some planner api
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-10-26 09:27:50 -07:00
Ana Hobden 16acc1fe6c Rework planners to support custom args 2022-10-25 11:57:09 -07:00
Ana Hobden b920b384d3 No long sleep, busy poll instead 2022-10-25 09:06:04 -07:00
Ana Hobden 8924bf5cb7 Hobbling along 2022-10-24 16:16:18 -07:00
Ana Hobden 86a518f2fe Even more mac progress, can plan and start runs 2022-10-20 11:36:44 -07:00
Ana Hobden c75a4ed511 Hammer out a bunch of Mac support 2022-10-19 15:12:50 -07:00
Ana Hobden fcc200b9d0 More fleshing out 2022-10-19 13:32:15 -07:00
Ana Hobden da0219deb0 Find xpath crate, scaffold more 2022-10-18 11:03:19 -07:00
Ana Hobden a29baa2b33 wip mac work 2022-10-17 16:00:16 -07:00
Ana Hobden 64e7423a0a Explore planner pattern using steam deck example 2022-10-17 12:19:07 -07:00
Ana Hobden 144af153f6 Support different planners 2022-10-14 15:14:03 -07:00
Ana Hobden 33879821c3 Tidy up arguments 2022-10-13 12:03:42 -07:00
Ana Hobden 42dd62452a Tidy up command structure somewhat 2022-10-13 11:26:43 -07:00
Ana Hobden 2bd6cf1e65 Use a vec for the plan instead of specifics 2022-10-13 10:34:19 -07:00
Ana Hobden cdec8549ff Rejigger the explain flag 2022-10-13 09:11:23 -07:00
Ana Hobden d35edb976f Tidy and flesh out README 2022-10-06 12:21:49 -07:00
Ana Hobden d675647fc9 Trim up some output/timings for logs and joins
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-29 11:02:37 -07:00
Ana Hobden 08f1410f6a fixups 2022-09-28 13:49:07 -07:00
Ana Hobden 72a4356a8b fmt 2022-09-28 13:32:54 -07:00
Ana Hobden 878a071183 Prompt for revert on failure 2022-09-28 13:20:11 -07:00
Ana Hobden 0272bacfb0 Update some logs 2022-09-28 10:12:43 -07:00
Ana Hobden db1d794cad Fixup some errors 2022-09-27 12:12:08 -07:00
Ana Hobden b34a352753 Logging and error tidying 2022-09-27 12:05:24 -07:00
Ana Hobden 47018ad00c Tidy more logs 2022-09-27 09:29:37 -07:00
Ana Hobden 257d82b3b4 Cleanup logging 2022-09-26 16:14:25 -07:00
Ana Hobden 625404665b Tidy wranings 2022-09-26 14:23:01 -07:00
Ana Hobden f6d90695f6 fix & fmt 2022-09-26 14:07:53 -07:00
Ana Hobden 48646c7cad Uninstall works 2022-09-26 14:05:28 -07:00
Ana Hobden 63a08acdea Fixup env settings 2022-09-26 08:43:10 -07:00
Ana Hobden 199ca7f911 It buildsgit add src/git add src/
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-23 16:22:50 -07:00
Ana Hobden aa069cedf7 other revert attempt
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-23 12:26:59 -07:00
Ana Hobden a44c9eb45f It's working meme
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-21 15:20:31 -07:00
Ana Hobden 3c1a8fdcc8 A bunch of fleshing out
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-21 13:26:45 -07:00
Ana Hobden 4fdba83039 Bonus fleshing 2022-09-20 13:16:01 -07:00
Ana Hobden 2ef7951994 Further fleshing out 2022-09-20 13:11:30 -07:00
Ana Hobden 8addef670d More scaffolding
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-20 11:42:20 -07:00
Ana Hobden 38cc094381 Create all actions 2022-09-15 12:11:46 -07:00
Ana Hobden 0e843d3e5d Get plan/execute working 2022-09-15 10:29:22 -07:00
Ana Hobden b04d26abf1 Ponder plan/revert 2022-09-14 15:18:13 -07:00
Ana Hobden 3fccbef2da Change some log levels 2022-09-12 10:39:16 -07:00
Ana Hobden a499951a16 Tidy out subcmd 2022-09-12 10:28:33 -07:00
Ana Hobden b4913579f0 Further flagging 2022-09-09 14:36:19 -07:00
Ana Hobden 9873c864ef More aggressive target flag off 2022-09-09 14:04:08 -07:00
Ana Hobden 9cc78c5416 target flag off 2022-09-09 13:35:02 -07:00
Ana Hobden 82523e43a6 Prod at CI with a stick
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-09 12:26:53 -07:00
Ana Hobden 3a3a7af3f3 Trim up speelcheek 2022-09-09 12:07:34 -07:00
Ana Hobden 4082260d5a Add more instrumentation 2022-09-09 11:50:08 -07:00
Ana Hobden fddc0dd302 Working spike out 2022-09-09 11:43:35 -07:00
Ana Hobden fe966932ed More bones, trimming deps 2022-09-07 17:13:06 -07:00
Ana Hobden 609ed3563f Expand codebase
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-06 12:48:37 -07:00
Ana Hobden bca0549c30 init 2022-09-02 16:04:02 -07:00