nixos-config/modules/devtools.nix

48 lines
1.1 KiB
Nix
Raw Normal View History

2024-10-26 06:16:31 +00:00
{ config, pkgs, lib, ... }:
let
cfg = config.sconfig.devtools;
in
{
options.sconfig.devtools.enable = lib.mkEnableOption "Development Tools";
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs;
[
2024-10-26 06:27:35 +00:00
black
cargo
efm-langserver
errcheck
go
gopls
2024-10-26 06:30:38 +00:00
kubectl
kubernetes-helm
2024-10-26 06:27:35 +00:00
lua-language-server
nil
nodePackages.prettier
nodePackages.typescript-language-server
pyright
rust-analyzer
rustc
2024-10-26 06:16:31 +00:00
rustc.llvmPackages.lld
2024-10-26 06:27:35 +00:00
rustfmt
2024-10-26 06:30:38 +00:00
stern
2024-10-29 05:23:53 +00:00
terraform
terraform-ls
2024-10-26 06:27:35 +00:00
vscode-langservers-extracted
yaml-language-server
2024-10-26 06:30:38 +00:00
# dedicated script, because bash aliases dont work with `watch`
(writeShellScriptBin "k" "exec kubectl \"$@\"")
(google-cloud-sdk.withExtraComponents
[ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
2024-10-26 06:16:31 +00:00
];
2024-10-26 06:30:38 +00:00
programs.bash.interactiveShellInit = ''
2024-10-29 05:23:53 +00:00
alias t=terraform
complete -C terraform t
2024-10-26 06:30:38 +00:00
source <(kubectl completion bash)
complete -F __start_kubectl k
'';
2024-10-26 06:16:31 +00:00
};
}