-
-
Notifications
You must be signed in to change notification settings - Fork 93
Description
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.
4.2.0
4.2.0 has been released, and is available in NixOS 25.11 and 26.05
- 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
- Alternative privilege escalation utilities (fix: support to other privilege elevation programs. #92)
4.3.0
4.3.0 has been released, and is available in NixOS 26.05
- NixOS VM tests & snapshot tests
- Benchmarks with Criterion or similar (treewide: add
hotpathfor profiling allocations and timings #451) - Implement
nh home infoandnh darwin infocommands similar tonh os infofor displaying relevant generations - Finish treewide: refactor
--build-hostto use remote build semantics #497 and bring remote building capabilities on par wit nixos-rebuild/similar tools - Various minor improvements or bugfixes
-
nh cleancheck if gcroots are opened before deleting them #60 - DOCS: document Nix Build Passthrough flags #426
- nh does not try to elevate privileges when called with --bypass-root-check #439
- Recognized environment variable
NIX_CONFIGwrong and called failure #440 - --commit-lock-file flag doesn't work #512
- Implement
--profile-nameinstead of hardcoding/nix/var/nix/profiles/system, use/nix/var/nix/profiles/system-profiles/<name>
-
After 4.3.0 (4.3.1? 4.4?)
-
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.
Long Term
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-
switch -
boot -
test -
build -
dry-build(nh os build --dry) -
dry-activate -
edit -
build-image -
build-vm(Add build-vm subcommand tonh os buildto build a VM start script. #208) -
build-vm-with-bootloader(Add build-vm subcommand tonh os buildto build a VM start script. #208) - Upgrade
-
--upgrade(flakes) -
--upgrade(channels) -
--upgrade-all
-
-
--install-bootloader -
--no-build-nix,--fast(only this is supported) -
--rollbacknixos: implement rollbacks #265 -
--builders(via passthrough of options) -
--profile-name -
--build-host,--target-hostnixos: add--target-hostand--build-hostoptions #276-
--use-substitutes,--use-remote-sudo(nh as a deployment tool)
-
-
--flake -
-I nixos-config=...
-
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