infrastructure/dev-shells/default.nix
Fabian Hauser 15ece3585e
All checks were successful
CI / build (push) Successful in 2m46s
Migrate packages to use callPackage pattern
2024-10-19 20:00:52 +03:00

56 lines
1.4 KiB
Nix

{
pkgs,
system,
self,
...
}:
{
${system}.default = pkgs.mkShell {
name = "qois-infrastructure-shell";
buildInputs =
let
vscodium-with-extensions = pkgs.vscode-with-extensions.override {
vscodeExtensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
vscode = pkgs.vscodium;
};
in
[ vscodium-with-extensions ]
++ (with self.packages.${system}; [
cache
deploy-qois
sops
sops-rekey
])
++ (with pkgs; [
attic-client
deploy-rs
nixd
nixfmt-rfc-style
nixos-anywhere
ssh-to-age
pssh
yq
jq
]);
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
'';
};
}