From d9de00e6653288e72874c1d42064dc0d24ddaed1 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Tue, 18 Aug 2020 16:38:34 +0200 Subject: [PATCH] zsh: Add (nix-)direnv --- .gitmodules | 3 +++ home/.gitignore | 1 + home/.nix-direnv | 1 + home/.zshrc.local | 21 +++++++++++++++++++++ nix-direnv | 1 + 5 files changed, 27 insertions(+) create mode 120000 home/.nix-direnv create mode 160000 nix-direnv diff --git a/.gitmodules b/.gitmodules index 0a00328..2077c3d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,6 @@ [submodule "zsh-nix-shell"] path = zsh-nix-shell url = https://github.com/chisui/zsh-nix-shell +[submodule "nix-direnv"] + path = nix-direnv + url = https://github.com/nix-community/nix-direnv diff --git a/home/.gitignore b/home/.gitignore index caf7c60..3f55075 100644 --- a/home/.gitignore +++ b/home/.gitignore @@ -1,2 +1,3 @@ *.swp +.direnv Session.vim diff --git a/home/.nix-direnv b/home/.nix-direnv new file mode 120000 index 0000000..c4c72d5 --- /dev/null +++ b/home/.nix-direnv @@ -0,0 +1 @@ +../nix-direnv \ No newline at end of file diff --git a/home/.zshrc.local b/home/.zshrc.local index 5385b53..cc8565e 100644 --- a/home/.zshrc.local +++ b/home/.zshrc.local @@ -52,6 +52,27 @@ alias dynamic-colors="~/.dynamic-colors/bin/dynamic-colors" ## Support for nix-shell source $HOME/.zsh/zsh-nix-shell/nix-shell.plugin.zsh +# Per-directory environment +command -v direnv >/dev/null && eval "$(direnv hook zsh)" + +nixify() { + if [ ! -e ./.envrc ]; then + echo "use nix" > .envrc + direnv allow + fi + if [[ ! -e shell.nix ]] && [[ ! -e default.nix ]]; then + cat > default.nix << EOF +{ pkgs ? import {} }: + +pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + ]; +} +EOF + ${EDITOR:-vim} default.nix + fi +} + ## Timer function timer() ( if [ -z "$1" ] || [ -z "$2" ]; then diff --git a/nix-direnv b/nix-direnv new file mode 160000 index 0000000..300258e --- /dev/null +++ b/nix-direnv @@ -0,0 +1 @@ +Subproject commit 300258e2bded28c284451f4fac8475b2240b46f6