{ pkgs ? import { } }: 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 ''; }