aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/meta
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-20 13:56:10 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-20 13:56:10 +0100
commit52fe0b813d3081d7bcb394a35806d13258827453 (patch)
treed7e80b35f52cb504afbcbe1f1bda7c4a9c99f346 /meta
parent0d96fd6e2b375c127ab80d7170343fc44d4630f7 (diff)
downloaddotfiles-52fe0b813d3081d7bcb394a35806d13258827453.tar.gz
dotfiles-52fe0b813d3081d7bcb394a35806d13258827453.tar.bz2
dotfiles-52fe0b813d3081d7bcb394a35806d13258827453.zip
feat(pkg,nix): migrate build orchestrators + debuggers to nix; drop toolchains
Migrated to Home-Manager (nix/common.nix): cmake, ninja, ccache, sccache (build orchestrators — they only delegate to whatever compiler is on PATH, don't ship one themselves, so no ABI shadowing risk) valgrind (instruments at syscall/library boundary; works fine with pacman-built target binaries) doxygen (source-only documentation tool; was accidentally dropped in the previous sweep — restored here) Dropped entirely (per-project flake.nix + direnv .envrc instead): clang, lld, mold, rustup, npm Rationale: these are language/toolchain-specific compilers and linkers; when a project needs them, the project's own flake provides the version it wants, pinned in flake.lock. base-devel still ships gcc/ld/as/make for general-purpose system builds and one-offs. npm is also dropped from pacman; nodejs_24 in nix/common.nix already ships npm for the editor/AI-agent path. Project-side npm comes via per-project flake when needed. Updated nix/common.nix policy comment to match: only ban the actual compilers/linkers (cc/gcc/clang/ld) and forbidden runtimes (cargo, rustc, go, python3) — build orchestrators and instrumentation tools are explicitly allowed. The --- dev --- section in base.txt is now just perf and podman-* (kernel-coupled / system-runtime-coupled).
Diffstat (limited to 'meta')
-rw-r--r--meta/base.txt23
1 files changed, 7 insertions, 16 deletions
diff --git a/meta/base.txt b/meta/base.txt
index 19407f5..2fa95f8 100644
--- a/meta/base.txt
+++ b/meta/base.txt
@@ -58,24 +58,15 @@ ell
# direnv's source_url with a content hash, so no extra package needed.) ---
nix
-# --- dev (compiler / linker / build-system / language toolchains — these
-# MUST stay on pacman: nix/common.nix is forbidden from shipping them
-# because nix-store paths on PATH would shadow the system ones and
-# silently link projects against nixpkgs glibc instead of the system
-# sysroot. See policy comment at the top of nix/common.nix.) ---
-ccache
-clang
-cmake
-lld
-mold
-ninja
-npm
-perf
+# --- dev (system-coupled runtimes only — base-devel ships gcc/ld/as/make
+# for general-purpose builds; the orchestrators (cmake/ninja/ccache/
+# sccache), debuggers and toolchain-specific compilers/linkers live in
+# nix instead. clang/lld/mold/rustup/go are intentionally absent — when
+# a project needs them, the project's flake.nix + direnv `.envrc`
+# provide them.) ---
+perf # links against running kernel ABI; must match kernel pkg
podman-compose
podman-docker
-rustup
-sccache
-valgrind
# --- sound ---
alsa-utils