Want to use specific packages when you cd
into a directory? Handy for ensuring consistent build environments across multiple machines…
flake.nix
:
{
description = "example devshell environment";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
pkgs = import nixpkgs { system = "x86_64-linux"; };
in
{
devShells.x86_64-linux.default = pkgs.mkShell {
packages = with pkgs; [
package1
package2
package4
];
shellHook = ''
unset SOURCE_DATE_EPOCH # don't set image build dates to 1980
source .env
'';
};
};
}
.envrc
:
#!/usr/bin/env direnv
use flake .
note Be sure to
git add
andgit commit
your flake file!
direnv allow