* Include user index in the user comment
If they're all called "Nix build user", anywhere that shows up without
the uid / username would make it difficult to diagnose any issues that
may occur.
* Create users 1-32 instead of 0-31
The official install scripts start at 1 as well.
* Update fixtures
Yes, I hand-edited the macos json, sue me.
* fixup: accept a comment, not the index
* fixup: comment, not index
* add some additional vm tests
* Wire things up
* Add further tests
* Fixups
* Add more exhaustive default test check
* Whoops fmt
* Disable a currently breaking test
* Repair notice content in CONTRIBUTING.md
* 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!
* Cure existing systemd units
* ActionError::Exists -> ActionError::DifferentContent
To more accurately reflect its associated error message.
* create_directory: use PathWasNotDir error instead
* check if the service files and an override dir exists in plan and execute
* fixup: target_os guarding
* fixup: check if existing file is a symlink and see if they link to the same place
* abstract systemd unit checking to function
* fixup: logic error
if the link_dest and unit_src were the same, we'd still error that the
file exists
* 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
* Add newline to end of `plan` json output
This causes some shells (like sh) to continue their prompt right after
the closing brace, which is kinda meh.
* Add newline to end of `receipt.json`
`cat /nix/receipt.json` has the same issue as the previous commit, in
that it will bleed into the prompt for some shells that don't insert an
implicit newline.
* Add newline to end of fixture json documents
* Some pre-release tidy and add is_ci to diagnostics
* Bump locks
* Fixup cargo-audit raised issues
* Remove a spare 'I' which we were saving for later
* rename a field
* failure_variant, not error_variant
* Enable deleting users and groups on Mac
* Scaffold user change
* Add a warning if it doesn't work in situations we expect it to not work
* Scaffold out doing group member ship -- maybe we need an AddGroup action
* AddUserToGroup action
* Update plans
* Improve messaging
* Nit in error message
* Repair some review nits
* Set the correct permissions on the zshenv
* Update error to suggest chmod instead of delete
* Missed a formatting option
* 644, not 755
* Get a bit more specific
* Mac specific permissions
* How about a CI API call reduction?
* Not everyone uses Nix with flakes, turns out we are one of them
* Unbreak GHA file
* Purge github actifacts use
* Missed one.
* chmod right path
* chmod right binary name
* Fix steam deck, mac still broken due to containers
* Attempt to use github cache instead of the buildkite action
* See if we get the right artifacts
* Skip a test that Macs dislike
* Write GHA file correctly
* Refine jobs on buildkite and pathes on gha
* Better output
* Even more output!
* Use correct folder structure