Addons Branch

The addons branch collects optional tooling that is useful on many systems but should remain switchable.

Up: branches

Down: profile options

What this branch does

The branch reads my.profile.addons and conditionally contributes packages and aliases.

config.my.branches.addons = {
  description = "Operational and quality-of-life add-ons.";
 
  nixosModules = lib.flatten [
    (lib.optional addonCfg.ergonomics.enable ({ pkgs, ... }: {
      environment.systemPackages = [ pkgs.nh ];
    }))
  ];
};

Why it exists

Some tools are not part of the base operating system. nh, nvd, deployment tooling, and binary cache clients are operational conveniences. Making them add-ons keeps the profile explicit.

Home Manager side

The branch also adds aliases when relevant.

home.shellAliases = {
  ns = "nh os switch";
  nt = "nh os test";
  ndiff = "nvd diff /run/current-system result";
};