feat(packs): opt-in package packs — media/office/dev/gaming/containers/compat

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-06-28 06:48:37 +02:00
commit 095f2ccf29
8 changed files with 449 additions and 0 deletions

View file

@ -0,0 +1,109 @@
# Development pack — editors, language servers, compilers, build tools,
# container CLIs, DB clients, cloud tooling, plus git/npm programs and dev
# manpages.
#
# Migrated from packages.nix `development` category + the coding-gated
# bits of core.nix (programs.git/npm, documentation.dev, gcc/gnumake).
# The richer dev module (modules/development.nix: shells, services,
# helper scripts) is re-gated onto omni.packs.development.enable.
{ config, lib, pkgs, ... }:
let
cfg = config.omni.packs.development;
in
{
options.omni.packs.development.enable =
lib.mkEnableOption "Development pack (editors, LSPs, compilers, build tools, container CLIs)";
config = lib.mkIf cfg.enable {
documentation.dev.enable = true;
programs.git = {
enable = true;
lfs.enable = true;
};
programs.npm.enable = true;
environment.systemPackages = config.omni.lib.filterPackages (
with pkgs;
[
# Editors and IDEs
# neovim (configured via home-manager programs.neovim)
emacs
vscode
jetbrains.idea-oss
# Language servers
typescript-language-server
vscode-langservers-extracted
rust-analyzer
gopls
pyright
lua-language-server
clang-tools
# Debuggers
gdb
lldb
delve
# Build tools
gnumake
cmake
meson
ninja
autoconf
automake
libtool
pkg-config
# Compilers and interpreters
gcc
clang
rustc
cargo
go
python3
nodejs
deno
bun
# Container tools
docker
docker-compose
podman
buildah
skopeo
kind
kubectl
kubernetes-helm
k9s
# Database clients
postgresql
mariadb
sqlite
redis
mongodb-tools
dbeaver-bin
# API testing
httpie
curl
postman
insomnia
# Cloud tools
awscli2
google-cloud-sdk
azure-cli
terraform
ansible
# Documentation
mdbook
hugo
zola
]
);
};
}