* 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
* Improve messaging around version incompatability, suggesting how the user may address the situation
* Even better messaging
* Improve plan versioning messaging
* Remove note about /nix/nix-installer since it may not exist
* 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
* Handle the APFS volume not existing but the Service and Fstab being present
* Add handling if we need to bootout the service
* Spelling
* Rename enum
* Uninstall shouldn't fail fast
* wip
* wip
* No longer fails fast
* Tidy up error handling
* Touchup post merge
* Refactor nix tests
* Some minor fixes
* Uninstall fail tests
* Fiddle with messaging
* nixfmt
* Tweak display a bit
* fix docs
* Fix Mac
* Revert setting I was testing
* Reflect feedback about a log level
* Update both zshenv and zshrc
* Update only zshrc
* Add troubleshooting section
* Correct diagnostics note in readme
* Quirks!
* Remove a period
* Improve wording
* Tidy readme a bit
* Unforget a period
* Add ssl-cert-file option
* Add reqwest support for ssl cert
* Fix build
* Include in install differences
* Handle weird paths, include ENV setting in instructions
* Add install script cure tests
* Add missing stuff from commit
* Fix installer-test-fedora-v36-install-script-multi-broken-daemon-disabled
* Do some renaming
* Speeling
* Tweak permissions since Mac apparently has no root group
* Make `nix-installer plan invalid-plan` fail
Prior to this change, the `invalid-plan` would unexpectedly be
interpreted as the output path. Now there is a flag to specify where the
plan should be written to.
* use `out-file` and `NIX_INSTALLER_PLAN_OUT_FILE`
* 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
* 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
* Better support existing files with CreateFile and CreateorInsertIntoFile
* Skip instead of complete if found
* Fixup some permissions
* Fixup nix version used
* Use unix module instead of linux one
* Use unix module instead of linux one in other spot
* Also cover CreateDirectory
* Add some more tests
* Fixup messaging
* Corect some logic inversions
* Better support users/groups existing before install
* Skip instead of complete if found
* Prod CI
* Add debuging messages
* Mark completed instead of skipped
* 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