Basic features:
- installable as package, even on non-nixos
- is named
nixos
- is written in C++ and binds to Nix C++ library (or maybe Haskell? Nodejs? What you think?)
- autocomplete, ncurses, Nix 2.0
- commit to Git by default on each rebuild
First I'll describe existing nixos-rebuild
switches, that should go into new command:
nixos-rebuild switch
->nixos rebuild
,nixos rebuild --boot --activate
nixos-rebuild boot
->nixos rebuild --no-activate
nixos-rebuild test
->nixos rebuild --no-boot
nixos-rebuild build
->nixos build
nixos-rebuild dry-x
->nixos x --dry
,nixos x --test
nixos-rebuild --build-host
->nixos --build-on
nixos-rebuild --target-host
->nixos --deploy-to
nixos-rebuild switch --rollback
->nixos rollback
opens a curses screen so you can select what to rollback to
Then, existing commands should be intergrated. All of those should work on non-NixOS:
nixos-option X
->nixos option X
- show all options ->
nixos options
, the output should be compatible with FZF and fast nixos-generate-config
->nixos config --default
, outputs to stdoutnixos-install
->nixos install
nixos-container XXX
->nixos container XXX
nixos-version
->nixos -v
,nixos --version
.nixos -vv
should be same asnix-info
- lustrate thing ->
nixos lustrate --confirm-lustrate
And finally, some external projects should be merged in:
nixos-infect
->nixos infect --confirm-infect
, alsonixos infect --confirm-infect --deploy-to
Anything missed?
Original nixos-rebuild commands are easier to type, though :)