Ok, as a nix noob. I find a given package, say `nixpkgs/3276b62e6639096014652132f4824ac2b4f2a2c4#nodejs`
Then what? How do I throw that in a configuration.nix or flake.nix file?
Then what? How do I throw that in a configuration.nix or flake.nix file?
1. Install in your global profile with the CLI:
nix profile install nixpkgs/3276b62e6639096014652132f4824ac2b4f2a2c4#nodejs
2. In a flake.nix, you can set an input with the nixpkgs commit hash, like: inputs = {
node-nixpkgs.url = "nixpkgs/3276b62e6639096014652132f4824ac2b4f2a2c4";
};
...and then use nodejs from that `node-nixpkgs` input to get the exact version you wanted`nixpkgs-old.legacyPacakges.linux-x86_64.node`, or something like below
let pkgs = import nixpkgs-old {
system = "linux-x86_64";
} in pkgs.mkShell {
packages = [ pkgs.node ];
} let
pkgs = import nixpkgs-old { system = "linux-x86_64"; }
in
pkgs.mkShell { packages = [ pkgs.node ]; }
Combine this with the input statement in the comment below to get a decent flake. You can mix and match multiple inputs if you want to install different versions of packages