Add develop shell

This commit is contained in:
Fabian Hauser 2022-04-11 15:05:27 +02:00
parent b2f0797b01
commit d7b828f79f
2 changed files with 31 additions and 0 deletions

View file

@ -68,5 +68,6 @@
stateVersion = "21.11"; stateVersion = "21.11";
}; };
}; };
devShell.${system} = import ./shell.nix { pkgs = pkgsUnstable; };
}; };
} }

30
shell.nix Normal file
View file

@ -0,0 +1,30 @@
{ pkgs ? import <nixpkgs-unstable> { } }:
pkgs.mkShell rec {
name = "qois-infrastructure-shell";
buildInputs = let
extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
vscode-with-extensions =
pkgs.vscode-with-extensions.override { vscodeExtensions = extensions; };
in with pkgs; [ vscode-with-extensions nixfmt rnix-lsp ];
LANG = "C.UTF-8";
LC_ALL = "C.UTF-8";
shellHook = ''
# Bring xdg data dirs of dependencies and current program into the
# environment. This will allow us to get shell completion if any
# and there might be other benefits as well.
xdg_inputs=( "''${buildInputs[@]}" )
for p in "''${xdg_inputs[@]}"; do
if [[ -d "$p/share" ]]; then
XDG_DATA_DIRS="''${XDG_DATA_DIRS}''${XDG_DATA_DIRS+:}$p/share"
fi
done
export XDG_DATA_DIRS
# Make sure we support the pure case as well as non nixos cases
# where dynamic bash completions were not sourced.
#if ! type _completion_loader > /dev/null; then
# . ${pkgs.bash-completion}/etc/profile.d/bash_completion.sh
#fi
'';
}