2025-12-27 22:22:54 +01:00
|
|
|
{ pkgs, ... }:
|
|
|
|
|
let
|
2020-06-10 17:37:25 +02:00
|
|
|
nixify = pkgs.writers.writeDashBin "nixify" ''
|
|
|
|
|
set -efuC
|
2019-08-25 15:39:41 +02:00
|
|
|
|
2020-06-10 17:37:25 +02:00
|
|
|
if [ ! -e ./.envrc ]; then
|
|
|
|
|
echo use_nix > .envrc
|
|
|
|
|
direnv allow
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -e shell.nix ]; then
|
|
|
|
|
cat > shell.nix <<'EOF'
|
|
|
|
|
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
|
pkgs.mkShell {
|
2023-01-04 20:43:38 +01:00
|
|
|
packages = [];
|
2020-06-10 17:37:25 +02:00
|
|
|
}
|
|
|
|
|
EOF
|
|
|
|
|
''${EDITOR:-vim} shell.nix
|
|
|
|
|
fi
|
|
|
|
|
'';
|
2025-12-27 22:22:54 +01:00
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
environment.systemPackages = [
|
|
|
|
|
pkgs.direnv
|
|
|
|
|
nixify
|
|
|
|
|
];
|
2019-08-24 12:02:38 +02:00
|
|
|
|
|
|
|
|
home-manager.users.me.programs.direnv = {
|
|
|
|
|
enable = true;
|
2022-03-10 21:52:12 +01:00
|
|
|
stdlib = builtins.readFile "${
|
|
|
|
|
pkgs.fetchFromGitHub {
|
|
|
|
|
owner = "Mic92";
|
|
|
|
|
repo = "dotfiles";
|
|
|
|
|
rev = "a0a9b7e358fa70a85cd468f8ca1fbb02ae0a91df";
|
|
|
|
|
sha256 = "1y9h5s1lf59sczsm0ksq2x1yhl98ba9lwk5yil3q53rg7n4574pg";
|
|
|
|
|
}
|
|
|
|
|
}/home/.direnvrc";
|
2019-08-24 12:02:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.zsh.interactiveShellInit = ''
|
|
|
|
|
eval "$(${pkgs.direnv}/bin/direnv hook zsh)"
|
|
|
|
|
'';
|
|
|
|
|
}
|