nh roadmap
Hey all! With nh 4.2.0 on the horizon I'd like to outline future goals of nh. As such I am creating this roadmap to keep track of features I'd like to work on the future and give nh users a place to request new features. This issue will be regularly updated as per user requests and based on maintainers' discretion on what to add next.
Close Future
Before 4.2.0
- [x] There are still a few bugs remaining in NH that need fixing. Recent PRs have managed to mostly address those, but it'd be great to close outstanding issue reports before 4.2
- [x] Alternative privilege escalation utilities (https://github.com/nix-community/nh/pull/92)
After 4.2.0
- [ ] NixOS VM tests & snapshot tests
- [ ] Benchmarks with Criterion or similar
- [ ] Implement
nh home infoandnh darwin infocommands similar tonh os infofor displaying relevant generations - [ ]
nh os editto open flake/configuration directory with$EDITOR. This is a part of the feature-parity section, but it's an easy task so I'd like to get it out of my way when I get the chance. - [ ] An offline search implementation, perhaps even a search TUI featuring something like rippkgs.
I think one of the first issues we'd like to focus on is feaure-parity with nixos-rebuild and the new nixos-rebuild-ng. I don't believe the latter is very different, but worth considering nevertheless if we strive for mass adoption of nh
nixos-rebuild- [x]
switch - [x]
boot - [x]
test - [x]
build - [ ]
dry-build - [ ]
dry-activate - [ ]
edit - [ ]
build-image - [x]
build-vm(#208) - [x]
build-vm-with-bootloader(#208) - [x]
--upgrade(flakes) - [ ]
--upgrade(channels) - [x]
--install-bootloader - [x]
--no-build-nix,--fast(only this is supported) - [x]
--rollbackhttps://github.com/nix-community/nh/pull/265 - [x]
--builders(via passthrough of options) - [ ]
--profile-name - [x]
--build-host,--target-host#276- [ ]
--use-substitutes,--use-remote-sudo(nh as a deployment tool)
- [ ]
- [x]
--flake - [ ]
-I nixos-config=...
- [x]
Distant Future
While not exactly a priority, there are some features I'd like to implement to extend nh's position to something beyond just a structured bash script. Namely I want to consolidate relevant NixOS-adjecent tooling into nh as subcommands.
Critical
- [ ]
nh {os,home,darwin} generate-configto replacenixos-generate-configand similar HM/Nix-Darwin counterparts (are there any? Can we use flake templates instead here?) - [ ]
nh os enterto replacenixos-enter
@NotAShelf I've set you as the admin of the repo, let me know if it was configured properly.
Seeems to have worked, thanks. Are you quitting working on nh entirely?
I see myself doing some PR for a minor feature, but NH as I envisioned it years ago is feature complete. For this reason I think it would be better to put someone else in the spotlight :shipit:
Thanks for the work everyone! I hope to be able to use it for deployment in the near future! I already use to test changes in merge requests!