Skip to content

Commit 3b40426

Browse files
committed
simple direnv suppport, fix #199
1 parent c685045 commit 3b40426

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

nix/modules/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
imports = [
1010
./environment.nix
1111
./etc.nix
12+
./direnv.nix
1213
./systemd.nix
1314
./tmpfiles.nix
1415
./upstream/nixpkgs

nix/modules/direnv.nix

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
config,
3+
lib,
4+
pkgs,
5+
...
6+
}:
7+
let
8+
cfg = config.programs.direnv;
9+
in
10+
{
11+
options.programs.direnv = {
12+
enable = lib.mkEnableOption "direnv integration";
13+
package = lib.mkPackageOption pkgs "direnv" { };
14+
nix-direnv = {
15+
enable = lib.mkEnableOption "nix-direnv integration";
16+
package = lib.mkPackageOption pkgs "nix-direnv" { };
17+
};
18+
};
19+
config = lib.mkIf cfg.enable {
20+
environment = {
21+
etc = {
22+
"profile.d/direnv.sh".source = pkgs.writeText "direnv.sh" ''
23+
eval "$(${lib.getExe cfg.package} hook bash)"
24+
'';
25+
};
26+
systemPackages =
27+
[
28+
cfg.package
29+
]
30+
++ lib.optionals cfg.nix-direnv.enable [
31+
cfg.nix-direnv.package
32+
];
33+
};
34+
};
35+
}

0 commit comments

Comments
 (0)