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
|
2024-01-09 00:12:35 +01:00
|
|
|
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
|
2024-06-02 22:30:18 +02:00
|
|
|
lix
|
2024-09-15 22:34:10 +02:00
|
|
|
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
|
2024-06-23 23:57:03 +02:00
|
|
|
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
|
2024-09-15 22:34:10 +02:00
|
|
|
# Nix
|
|
|
|
nil-ls = {
|
2024-05-10 11:05:48 +02:00
|
|
|
enable = true;
|
2024-09-15 22:34:10 +02:00
|
|
|
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
|
|
|
};
|
|
|
|
}
|