dotfiles/hm/dev/common.nix

87 lines
2 KiB
Nix
Raw Permalink Normal View History

2024-01-08 22:59:06 +01:00
{ pkgs, config, ... }: {
# TODO Maybe should be per-directory dotenv
# Or not, for neovim
config = {
# Always on
home.packages = with pkgs; [
# Common
perf-tools
jq
yq
universal-ctags
cloc
2024-01-08 22:59:06 +01:00
# Network
socat
dig
whois
nmap
tcpdump
2024-04-24 13:25:59 +02:00
mtr
traceroute
2024-01-08 22:59:06 +01:00
# nix
lix
nixpkgs-fmt
2024-01-08 22:59:06 +01:00
# Always on (graphical)
] ++ lib.optionals config.frogeye.desktop.xorg [
# Common
2024-07-02 19:53:52 +02:00
# zeal-qt6 # Offline documentation
sqlitebrowser
2024-01-08 22:59:06 +01:00
# Network
wireshark-qt
# Ansible
] ++ lib.optionals config.frogeye.dev.ansible [
ansible
ansible-lint
# Docker
] ++ lib.optionals config.frogeye.dev.docker [
docker
docker-compose
# FPGA
] ++ lib.optionals config.frogeye.dev.fpga [
verilog
] ++ lib.optionals (config.frogeye.dev.fpga && pkgs.stdenv.isx86_64) [
ghdl
# FPGA (graphical)
] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.fpga) [
yosys
gtkwave
2024-10-01 15:17:11 +02:00
# VM (graphical)
] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.vm) [
virt-manager
2024-01-08 22:59:06 +01:00
];
2024-01-12 18:08:11 +01:00
programs.nixvim.plugins.lsp.servers = {
ansiblels.enable = config.frogeye.dev.ansible; # Ansible
bashls.enable = true; # Bash
jsonls.enable = true; # JSON
lua-ls.enable = true; # Lua (for Neovim debugging)
perlpls.enable = config.frogeye.dev.perl; # Perl
phpactor.enable = config.frogeye.dev.php; # PHP
# Nix
nil-ls = {
2024-05-10 11:05:48 +02:00
enable = true;
settings = {
formatting.command = [ "nixpkgs-fmt" ];
nix.flake = {
autoArchive = true;
autoEvalInputs = true;
};
};
2024-05-10 11:05:48 +02:00
};
2024-01-12 18:08:11 +01:00
# TODO Something for SQL. sqls is deprecated, sqlls is not in Nixpkgs. Probably needs a DB connection configured anyways?
yamlls.enable = true; # YAML
# TODO Check out none-ls
};
2024-01-08 22:59:06 +01:00
};
}