* Switch to flakehub
* Diagnostics: support user-defined attribution.
Allows a user to specify an additional value to associate their diagnostics with that value. nix-installer doesn't generate or store these values, and most users have no need for it.
* Respond to feedback
* Make nix.conf changes deterministic
* Add mac fixture
* Warn/error if user settings don't match our needs
* Repair mac fixture
* fmt
* clipster
* Tidy up some feedback
* fmt
* resolve some nits
* Add support for ostree-based Linux distributions
Fixes#389
I've tested this planner on Fedora Silverblue and Endless OS
* Stop duplicating check functions
* Remove `init` cli flag
* Add pre install/uninstall checks to planners
* Refine checks
* fmt
* Make sure checks run before install/uninstall described as well
* Make nix-darwin error expected
* Fix import
* Fix import
* Report expected errors properly
* format
* Use ssl-cert-file config
* Include mac change
* Use canonical ssl cert file
* Don't set ssl-cert-file in shell profiles
* Canonicalize in diagnostics
* Optionally read cert file
* Document how to handle different branches and buildIDs of the steam deck OS
* Changes required for SteamOS 20230522.1000
* Speeling
* Handle steamos upgrades better
* Speeling
* Tidy
* Add time machine exclusions for Mac
* Prod CI
* Stub out mac test for a remote build
* Add plan changes
* wip
* Move the exclusions to be later
* Fixups
* Use pathbufs
* Import pathbuf
* Update test plans
* Add SELinux support
* Nits
* Fix spellcheck
* Don't store mod, use locked shell
* Unwhoops a stale comment
* Speeling: Myy aarch neemesis
* Fix lost code:
* Add method note
* wip
* Do main editing portion
* Some more curing on fstab entries
* Overwrite fstab instead of append
* Add newline
* Improve --explain output for CreateNixVolume
* Tweak some permissions
* Fixup a few more permissions spots
* Improve encrypted volume handling
* Handle APFS volumes existing already to some degree
* Correct speeling
* More tweaking preparing for bootstrap/kickstart work
* Most of volume curing works
* Make kickstart use domain/service too
* Fixup nits
* Fix a missing format!
* Curing existing /nix
* Fixup macs
* Suggest an uninstall command if the binary is not present
* Fixup some nits
* Skip a not great suggestion
* Suggest a nice url
* wip: add more context to errors
* Add a bunch fo context
* Repair source handling
* Add remaining contexts
* Add some context, but some of it is not right...
* Tidy up contexts properly
* Get command errors working how I want
* Remove some debug statements
* Repair mac build
* Move typetag to Action
* newtypes!
* Fix doctest
* Detect WSL1 and error
WSL1 is not supported because some things Nix relies on to work are not
available.
* Update linux.rs
* Add link to MS docs on WSL1 -> WSL2 upgrade
* wip
* Add dockerfile
* Add readme bits
* Fix logic inversion
* Relax init detection error
* Tidying heuristics
* Fix doc tests
* Mac supports start-daemon false
* Get VM tests working
* Add instructions
* Some target_os flagging
* More target flagging
* Fix lints
* Fixup more mac-only stuff
* cfg flag examples too
* Fix planner wording
* More os specific lint fixing
* More refinement on mac and the README
* Add new CI jobs to test no-daemon
* Use nix-installer-pr to point at branch
* Tests with no-init
* init/no-daemon are linux only
* nix tests support a per-distro all attribute
* Add working podman test
* Expand docker tests
* Add contributing notes
* format
* Support both podman and docker
* Update contributing
* Add Windows WSL test script for Ubuntu
* format nix tests
* More ignores to check-spelling
* Add systemd based wsl test
* We don't have root-only darwin
* Reflect review nits
* Reenable tests
* Restore mac plan
* Flag off os specific tests
* Better cfg flagging
* Remove dead comments
* Rework readme to look better with new sections
* Correct codeblock language
* Remove some warnings
* 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
* 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