90 lines
1.9 KiB
Nix
90 lines
1.9 KiB
Nix
{ den, inputs, config, ... }:
|
|
let
|
|
username = config.local.identity.username;
|
|
in {
|
|
den.aspects.dev.nixos = { pkgs, ... }:
|
|
let
|
|
pkgs-unstable = import inputs.nixpkgs-unstable {
|
|
system = pkgs.system;
|
|
config.allowUnfree = true;
|
|
};
|
|
in {
|
|
environment.systemPackages = with pkgs-unstable; [
|
|
# CLI utilities
|
|
gcc
|
|
fzf
|
|
just
|
|
tree-sitter
|
|
ripgrep
|
|
chafa
|
|
forgejo-cli
|
|
awscli2
|
|
|
|
tracy
|
|
|
|
# Infrastructure
|
|
docker-compose
|
|
|
|
# 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}";
|
|
};
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /var/lib/payara41 0755 ${username} users -"
|
|
];
|
|
|
|
system.activationScripts.payaraJava = ''
|
|
asenv=/var/lib/payara41/glassfish/config/asenv.conf
|
|
if [ -f "$asenv" ]; then
|
|
${pkgs.gnused}/bin/sed -i '/^AS_JAVA=/d' "$asenv"
|
|
echo 'AS_JAVA="${pkgs-unstable.openjdk8}"' >> "$asenv"
|
|
fi
|
|
|
|
domain_xml=/var/lib/payara41/glassfish/domains/domain1/config/domain.xml
|
|
if [ -f "$domain_xml" ]; then
|
|
${pkgs.gnused}/bin/sed -i 's|java-home="[^"]*"|java-home="${pkgs-unstable.openjdk8}/lib/openjdk"|' "$domain_xml"
|
|
fi
|
|
'';
|
|
|
|
virtualisation.docker.enable = true;
|
|
users.users.${username}.extraGroups = [ "docker" ];
|
|
};
|
|
}
|