{ 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 # Network socat dig whois nmap tcpdump # nix nix # Always on (graphical) ] ++ lib.optionals config.frogeye.desktop.xorg [ # Common zeal-qt6 # Offline documentation # 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 ]; 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 rnix-lsp.enable = true; # Nix # 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 }; }; }