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 --activatenixos-rebuild boot->nixos rebuild --no-activatenixos-rebuild test->nixos rebuild --no-bootnixos-rebuild build->nixos buildnixos-rebuild dry-x->nixos x --dry,nixos x --testnixos-rebuild --build-host->nixos --build-onnixos-rebuild --target-host->nixos --deploy-tonixos-rebuild switch --rollback->nixos rollbackopens 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 installnixos-container XXX->nixos container XXXnixos-version->nixos -v,nixos --version.nixos -vvshould 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 :)