* Add metadata do Cargo.toml
* Add docs link
* wip
* Get it mostly working
* Handle empty channels, local files, offline mode
* Get them working
* Expand CONTRIBUTING.md
* Expand more
* Correct some formatting/mistypes
* More notes about steps
* Correct speeling
* Improve ubuntu naming
* Add note about specific branch/checkout testing
* Review corrections
* Change match to if
* 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
* 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
* 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
* 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 fish support
* Add shell tests
* Add login shell tests
* Improve provisioning behavior of shell profiles
* Make created shell profiles executable
* Bump nix
* Try interactive shell
* Fixup merge
* Bad yaml, bad
* Tweak ci
* Set GITHUB_PATH
* Do github runner automatically
* Use GITHUB_PATH more
* use login shells again
* Ouytput github path in ci
* Okay so GITHUB_PATH is a UNIX socket?
* Okay yup they are UNIX sockets
* Have the macs dump their github path
* YAML stuff
* Pass github path in invocation
* Bump plans
* Okay it is not a socket
* Remove debugging
* Review fixes
* Pass correct shell arg to mac
* Echo github path
* Echo the path, then...
* Join GITHUB_PATH writes
* 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>
* 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
* 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
* 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
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.