Thanks to visit codestin.com
Credit goes to github.com

Skip to content

9999years/npingler

Repository files navigation

npingler

npingler is a Nix profile manager intended for use with npins. A non-trivial implementation of @lf-'s flakey-profile, split off of my earlier (Flake-based) home-mangler.

npingler is configured with a Nix expression in ~/.config/npingler/default.nix:

let
  npins-sources = import ./npins;
  pkgs = import npins-sources.nixpkgs {
    overlays = [
      (final: prev: {
        inherit npins-sources;

        npingler-lib = final.callPackage "${npins-sources.npingler}/lib" { };
      })
    ];
  };
in
{
  npingler = {
    # By default, npingler uses the attr matching your hostname.
    grandiflora = pkgs.npingler-lib.makeProfile {
      pins = {
        # A map of names to `source` derivations. These get pinned in the `nix
        # registry` so that (e.g.) `nix repl nixpkgs` uses the same version of
        # `nixpkgs` as your profile, and also in your Nix channels, so that
        # `nix-shell -p hello` uses the same version as well.
        nixpkgs = npins-sources.nixpkgs;
      };

      # Install `git` in your profile:
      paths = [
        pkgs.git
      ];
    };
  };
}

Switch to the new configuration with npingler switch. Use --dry-run for a preview.

Note that with flake-compat, you can use npingler with a Flake-based setup (although the npingler update command won't do anything).

About

npins-based Nix profile manager

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •