Your order · Coming from Arch

You already like control. Now keep it.

Everything you’ve hand-tuned in Arch, written down as code you can push to git and rebuild on any machine.

You already know Linux, so there’s little new to learn about what to configure. The change is in how: you stop editing the live system and describe it in a file. NixOS rebuilds the system from that file every time, so it can’t drift.

Arch habits, translated

On ArchOn NixOSWhat changes
pacman -S fooAdd foo to environment.systemPackages, rebuildInstalled software is part of your config, not your history.
The AURnixpkgs (it probably has it), overlays, or a flake inputnixpkgs is very large. For anything missing, you write a small package.
Editing files in /etcNixOS options, e.g. services.openssh.settings/etc is generated. Your edits live in one place and survive rebuilds.
systemctl enable fooservices.foo.enable = true;Services, users and firewall rules are all declared.
Dotfiles with stow or a bare repoHome ManagerYour user config gets generations and rollbacks too.
Rolling releaseThe nixos-unstable channelStill rolling, but any update can be rolled back from the boot menu.
The Arch Wikisearch.nixos.org options + the NixOS WikiThe Arch Wiki is still great for concepts.

Hyprland, as an example

Your Hyprland setup becomes part of the config, so it survives reinstalls:

{ pkgs, ... }: {
  programs.hyprland.enable = true;
  environment.systemPackages = with pkgs; [
    waybar wofi kitty swaynotificationcenter
  ];
}

Put the Hyprland, Waybar and terminal settings in Home Manager and the whole desktop can be rebuilt from the repo.

Where to go next