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:
parent
e0f2a3951f
commit
095f2ccf29
8 changed files with 449 additions and 0 deletions
109
modules/packs/development.nix
Normal file
109
modules/packs/development.nix
Normal 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
|
||||
]
|
||||
);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue