Commit graph

49 commits

Author SHA1 Message Date
Ana Hobden 232789ed1c
Fixup fdesetup isactive outputting when it should not (#163) 2023-01-09 09:24:24 -08:00
Ana Hobden e27d01f221
Correctly expected error in default planner if nix installed (#151)
* Correctly expected error in default planner if nix installed

* fixup
2023-01-04 09:32:45 -08:00
Ana Hobden d510fa812f
Resolve a system unit ordering bug after update (#144) 2023-01-03 10:31:17 -08:00
Ana Hobden deee222ad2
Fix ubuntu 16.04 support (#140)
* Fix ubuntu 16.04 support

* Format

* Correct env settings

* Rearrange plan a bit
2022-12-23 13:24:06 -08:00
Ana Hobden d299dbf0f2
Rename harmonic to nix-installer (#125)
* Rename harmonic to nix-installer

* Fix build

* handle nix-install.sh rename

* Forgot some things

* Fix a mistype

* Fix env var

* Fix merge change that popped up
2022-12-19 18:26:58 +00:00
Ana Hobden 1e6d7d75c9
Do SELinux checks (#123)
* Do SELinux checks

* Add improved error message with issue link

* Improve SELinux error message

* Correct lint
2022-12-19 07:30:45 -08:00
Ana Hobden c4274c93fb
Add action & Tune Tracing (#119)
* Add action

* Checkout so we have actions.yml

* yaml poking

* Handle GITHUB_TOKEN

* Don't ask github to do templating, use directives for logging

* Missing changes

* Fix build error

* Fix yaml even more

* Add shell command

* Add a wait on the socket again

* Print some debugging

* Use more correct env vars

* Correct install url logic

* Use different style for inputs

* Fix yaml errror

* Tweak around local-root

* provision nix-install.sh as well

* Use nix-install.sh path directory in NIX_INSTALL_URL

* Tweak variables to hopefully work

* Call it BINARY_ROOT instead

* Add exec output

* Set no-confirm

* no echo

* Add token to workflow

* Set no-confirm properly

* Add no-confirm back for uninstall

* Correct some env and vars

* CreateDirectory respects existing symlink

* Add a few more checks to the CI

* pass valid yaml...

* Slightly more aggressive cleanup of /nix

* Ensure steam-deck cleans /home/nix

* Add steam-deck check for persistence

* Canonicalize steam-deck persistence

* Ensure absolute path

* Inverted logic sad

* python3 on mac

* Add readme info and fix a extra-conf mistype

* Add unsaved changes

* More fine grained trace logging

* Restore spans we lost in refactor

* BuiltinPlanner can accept settings

* Reflect feedback

* Push actually working code hopefully this time

* Speeling
2022-12-16 18:55:28 +00:00
Ana Hobden 51a2d0bbae
Fix --no-default-features build (#114)
* Fix --no-default-features build

* Correct yaml for gha

* gha yaml sure is a thing

* Fix yaml yet again

* Fix nix develop invocation

* Fix --all-features pass
2022-12-12 12:21:10 -08:00
Ana Hobden dad8180985
Allow expected errors (#116)
* Move binary out of /nix if it is there during uninstall

* Add tracing

* Sorta working...

* Have expected() return an err

* Better handle expected errors during install

* Hello trailing whitespace
2022-12-12 12:20:50 -08:00
Ana Hobden ac5660b3e0
Fix the nix-directory.service possibly erroring and preventing nix from working (#101) 2022-12-09 07:36:35 -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 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 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 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 15f44b34b3 Note about why this method is valid 2022-11-14 08:33:10 -08:00
Ana Hobden 91f286a37f Planner error if on NixOS 2022-11-10 10:46:48 -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 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 1e518cab9f Merge branch 'main' into nix-mac-encrypted-volume 2022-11-10 08:40:55 -08: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 9fa8d0e948 Remove dead code 2022-11-09 10:13:49 -08:00
Ana Hobden a7ab480eea Get repeated install working in CI 2022-11-09 09:25:29 -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 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 7c4f3206f9 Scaffold 2022-11-01 11:33:54 -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 a61045f5a8 Move actions into OS-specific 2022-10-28 09:29:15 -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 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 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