aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nix/common.nix
Commit message (Collapse)AuthorAgeFilesLines
* feat(pkg,nix): migrate 14 leaf tools to nix; drop 6 unused packagesLibravatar sommerfeld12 days1-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Migrated to Home-Manager (nix/common.nix): duf, gdu, nmap, procs, yazi, difftastic, direnv (was duplicated), git-absorb, samply, strace, t-rec, act, pandoc, gdb, lldb lldb stays nix-only (no longer in base.txt) — per user policy, only ever used to debug own builds, so glibc/kernel ABI skew vs the pacman-built system isn't a concern. Same logic could extend to valgrind, but valgrind has tighter glibc compat needs; perf links against kernel ABI and must match the running kernel. Both stay pacman. uv was already in nix; removed pacman duplicate. Kept on pacman (cannot migrate without breaking system builds, per nix/common.nix policy that bans compilers/linkers/build systems on PATH): ccache, clang, cmake, lld, mold, ninja, npm, rustup, sccache, podman-compose, podman-docker (system runtime integration), perf, valgrind (kernel/glibc-coupled), unzip (transitive via base), doxygen (huge nixpkgs closure not worth it). Dropped entirely (unused): android-tools, go, gpg-tui, luarocks (was for Mason-managed nvim plugin deps; Mason is gone), bash-completion (zsh-only setup), pandoc-bin (replaced by nix pandoc). jdk21-openjdk kept — still needed for the groovy/jenkins toolchain paths in nvim. Rewrote the --- dev --- section comment to explain the policy.
* feat(pkg,nix): migrate pass-otp/zsh-completions/wget/gnupg to nix; drop curlLibravatar sommerfeld12 days1-2/+4
| | | | | | | | | | | | | | | | | | | | | | Cleanup pass following p7 review: - pass-otp: wired via pass.withExtensions in nix/common.nix (`pass otp ...` works against the same store). - zsh-completions: added as a separate package next to zsh + plugins (fpath picks it up via HM's nix-profile share/). - wget: already in nix/common.nix; removed pacman duplicate. - gnupg: already in nix/common.nix; removed pacman entry. pcscd still comes from pacman pcsclite (system service needs root + hardware access), nix gnupg's scdaemon dials it via /run/pcscd/pcscd.comm. - curl: removed; pulled transitively by base, base-devel, paru and many others. Kept on pacman: - pcsclite, ccid : pcscd is a system daemon; libs needed by HM scdaemon - man-db, man-pages : distro-specific - base, base-devel : meta-packages - pass-secret-service-bin : AUR-only
* feat(pkg): drop leaf tools migrated to Home-ManagerLibravatar sommerfeld12 days1-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The following are now provisioned by Home-Manager via nix/common.nix and live under ~/.nix-profile/bin (which is first in PATH per phase p3): ripgrep, fd, bat, glow, fzf, lsd, jq, yq (yq-go), zoxide, just, sd, choose, dog, curlie, hyperfine, htop, fastfetch, tldr, rsync, mergiraf, git-delta (delta), tree-sitter-cli (tree-sitter), neovim, zellij, github-cli (gh), pass, openssh, git, zsh, zsh-syntax-highlighting, zsh-autosuggestions, zsh-history-substring-search, basedpyright-bin (basedpyright), rust-analyzer Kept: - pass-otp, zsh-completions: no Home-Manager equivalent yet - pcsclite: still needed by Home-Manager gnupg/scdaemon (see nix/host.nix scdaemon.conf) - curl, wget, man-db, man-pages, gnupg: system-fundamental, fine to keep duplicated. git/openssh/gnupg also come back as transitive deps of paru/sudo/etc. even if dropped here. Added hyperfine to nix/common.nix (missed in the p5 batch). Phase 7 of the nix-on-host migration plan.
* feat(nix): add LSPs/formatters/linters/DAPs to common.nixLibravatar sommerfeld12 days1-0/+50
| | | | | | | | | | | | | | | | | | | | | | Replaces Mason entirely (phase p6 of the nix migration will rip out mason-tool-installer and friends). The set tracks the previous ensure_installed list in nvim's lsp.lua, with five niche tools dropped per the migration plan: - groovy-language-server, npm-groovy-lint - nginx-language-server, nginx-config-formatter - systemdlint systemd-lsp is renamed to systemd-language-server (the nixpkgs attr name). codelldb is replaced by lldb-dap (upstream successor, ships with pkgs.lldb); dap configs switch in phase p6. Drops jre, basedpyright, cargo, rustc from vm.nix — they only existed to work around Mason quirks on Ubuntu 20.04 (uv-python wheel incompatibility, source-build needs). With Mason gone, basedpyright comes from nixpkgs cleanly on both profiles. Phase 5 of the nix-on-host migration plan.
* refactor(nix): promote remote-dev/ to nix/ with common/vm/host splitLibravatar sommerfeld12 days1-0/+160
Restructures the Home-Manager profile to support both the Arch host and the Ubuntu remote-dev VM from the same flake. - remote-dev/ → nix/ (hard rename; .chezmoiignore updated) - home.nix split into common.nix (shared), vm.nix (Mason runtime carve-outs + podman stack), host.nix (gpg scdaemon delegation to system pcscd) - flake.nix exposes homeConfigurations.{vm,host} via a mkProfile helper - rj alias in dot_zshrc updated to ~/.local/share/dotfiles/nix - bootstrap.sh / justfile updated to use #vm against the new path The split is behaviour-preserving for the VM: vm.nix + common.nix together carry the same package set as the previous home.nix. host.nix is provisioned but not yet wired into bootstrap (phase p8). Phase 1 of the nix-on-host migration plan.