{ den, pkgs-unstable, config, ... }: let username = config.local.identity.username; in { den.aspects.dev.nixos = { pkgs, ... }: { environment.systemPackages = with pkgs-unstable; [ # CLI utilities gcc python3 uv fzf just tree-sitter ripgrep chafa forgejo-cli awscli2 tracy # Infrastructure docker-compose jq # IDE jetbrains.idea # Neovim vimPlugins.blink-cmp # LSPs bash-language-server lua-language-server nixd vscode-langservers-extracted yaml-language-server dockerfile-language-server marksman clang-tools jdt-language-server typescript-language-server pyright taplo sqls astro-language-server angular-language-server vue-language-server tailwindcss-language-server qt6Packages.qtdeclarative wgsl-analyzer # Tools drawio # Java openjdk8 openjdk11 openjdk17 openjdk21 maven ]; environment.variables = { JAVA_HOME = "${pkgs-unstable.openjdk8}"; }; virtualisation.docker = { enable = true; enableOnBoot = false; package = pkgs-unstable.docker_29; }; users.users.${username}.extraGroups = [ "docker" ]; }; }