summaryrefslogtreecommitdiffstatshomepage
path: root/nix
Commit message (Collapse)AuthorAgeFilesLines
* Fetch Rust crates from the static archive serversommerfeld10 hours2-1/+37
|
* Add the Canonical laptop profile and setup workflowssommerfeld10 hours6-23/+90
|
* Use GitHub credentials for Nix when availablesommerfeld10 hours1-0/+11
|
* Manage AI agent releases and shared settingssommerfeld10 hours4-7/+436
|
* Update Nix and Neovim lockfilessommerfeld10 hours1-9/+9
|
* Run Keybase desktop services through Home Managersommerfeld10 hours2-0/+62
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-3/+3
|
* Replace dog with BIND DNS toolssommerfeld2026-08-141-1/+1
|
* Update nix lockfilesommerfeld2026-08-141-3/+3
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-6/+6
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-6/+6
|
* Remove former work environment configurationsommerfeld2026-08-142-8/+7
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-9/+9
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-6/+6
|
* Update Home Manager lockfilesommerfeld2026-08-141-3/+3
|
* Use ruifm tuicr forksommerfeld2026-08-142-6/+6
|
* Add aibox to Nix profilesommerfeld2026-07-023-3/+33
|
* Update nix and Neovim lockfilessommerfeld2026-07-021-3/+3
|
* Prune stale dotfiles commentarysommerfeld2026-07-023-184/+58
|
* Add repo validation dev shellsommerfeld2026-07-022-12/+37
|
* Update nix and Neovim lockfilessommerfeld2026-07-021-9/+9
|
* Update nix lockfilesommerfeld2026-07-021-6/+6
|
* Migrate VM dotfiles to chezmoisommerfeld2026-06-196-182/+178
| | | | | | | | Move VM dotfile deployment out of Home Manager and into chezmoi with a machineRole guard. Add VM recipes for applying chezmoi state and restarting the Nix GnuPG agent. Make host-only hooks no-op on the VM and render container storage per role.
* Mirror GnuPG config on VMsommerfeld2026-06-193-16/+19
|
* Update nix lockfilesommerfeld2026-06-191-6/+6
|
* Use local gpg-agent on VMsommerfeld2026-06-192-36/+33
|
* Update nix lockfilesommerfeld2026-06-181-6/+6
|
* Reduce Arch package surfacesommerfeld2026-06-182-6/+52
|
* Update Nix flake lockfilesommerfeld2026-06-171-9/+9
|
* Update Nix flake lockfilesommerfeld2026-06-171-3/+3
|
* Restore AUR pass secret servicesommerfeld2026-06-171-6/+0
|
* Update Nix flake lockfilesommerfeld2026-06-151-9/+9
|
* Reduce AUR package surfacesommerfeld2026-06-151-2/+19
| | | | | | | | Move pass-secret-service, snx-rs, and Sparrow under Nix/Home Manager. Track the snx-rs system unit, pass-secret-service user unit, and pacman cache cleanup hook in the repo. Drop the mkinitcpio firmware metapackage, overdue, pacman-cleanup-hook, and the standalone btc package group.
* Update nix tools and system unitssommerfeld2026-06-052-6/+7
|
* Move more host tooling to Nixsommerfeld2026-06-054-17/+34
|
* refactor(mail): migrate protonmail-bridge from pacman to nixsommerfeld2026-06-051-0/+9
| | | | | | | | | | | | | | | Move the ProtonMail Bridge off the AUR protonmail-bridge-core package and onto nix/host.nix, consistent with the other migrated user-leaf tools. Since the AUR package previously supplied the systemd user unit (customized via a drop-in), ship a repo-owned dot_config/systemd/user/protonmail-bridge.service instead: it runs the nix binary by absolute %h/.nix-profile/bin path with --noninteractive and folds the former drop-in's PASSWORD_STORE_DIR into the unit, so the now-redundant protonmail-bridge.service.d/override.conf is removed. Drop protonmail-bridge-core from meta/base.txt (the git send-email Perl prereqs stay). No vm.nix change: the bridge is host-only and user units are not symlinked on the headless VM.
* fix(systemd): use absolute %h/.nix-profile/bin paths in user unitssommerfeld2026-06-051-2/+6
| | | | | | | | | | | | | | The previous environment.d fix was insufficient: even with the nix profile on the --user manager's PATH (confirmed via `systemctl --user show-environment`), bare-name ExecStart= still fails 203/EXEC. systemd's --user manager does not resolve a bare ExecStart binary against the imported/environment.d PATH. Invoke each unit's main binary by absolute path %h/.nix-profile/bin/<name> (waybar, swayidle, swayrd, inhibridge, wl-paste, wob). %h expands to $HOME at unit load. Secondary lookups those binaries/scripts perform (cliphist, swaymsg, playerctl) still rely on PATH, which environment.d provides — so that file stays, with its comment corrected to reflect this split.
* fix(nix,meta): keep imv/wl-mirror/sparrow on pacman (OpenGL context)sommerfeld2026-06-051-13/+6
| | | | | | | | Same root cause as ghostty: imv (OpenGL), wl-mirror (EGL) and sparrow (JavaFX/OpenGL) are GL/EGL apps that can't find the system Mesa/DRI driver when built by nix on a non-NixOS host. Remove them from nix/host.nix; add imv + wl-mirror to meta/base.txt (sparrow already lives in meta/btc.txt as sparrow-wallet). Refresh the stale base.txt media comment accordingly.
* fix(nix,meta): keep ghostty on pacman to fix missing OpenGL contextsommerfeld2026-06-051-2/+6
| | | | | | | | ghostty is a GPU/OpenGL terminal. Nix-built GL apps on a non-NixOS host can't locate the system Mesa/DRI driver (FHS /usr/lib drivers don't match nix's search paths), so the nix-migrated ghostty failed to start with "missing OpenGL context". Move it back to meta/base.txt (pacman) so it links against system Mesa. Same caveat flagged for imv/wl-mirror/sparrow.
* fix(nix): replace nonexistent podman-docker attr with writeShellScriptBin shimsommerfeld2026-06-051-1/+5
| | | | | | | nixpkgs has no top-level `podman-docker` attribute — that's an Arch convenience pkg. NixOS exposes it via the `virtualisation.podman. dockerCompat` option but that's not reachable from home-manager. Ship a one-line writeShellScriptBin instead; same result, no module rewire.
* feat(nix): migrate user-leaf tools to host profilesommerfeld2026-06-051-10/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull every pacman/AUR entry that is (1) packaged in nixpkgs and (2) free of tight system coupling out of meta/base.txt and into nix/host.nix. System coupling = setuid, /usr/lib/systemd/system unit, udev rule, /usr/share/dbus-1/services file, /usr/share/wayland-sessions entry, shared lib other pacman pkgs link, /etc/makepkg.conf reference, system fontconfig path, PAM, Qt plugin search path, or kernel/ firmware/bootloader touchpoint. User-scope systemd units are NOT coupling — nix drops them in ~/.nix-profile/share/systemd/user/ and systemd picks them up; the chezmoi-owned unit files that referenced /usr/bin/<tool> paths are fixed in a follow-up commit. Wayland session: waybar, mako, fuzzel, wofi, swayidle, swayr, inhibridge, bemoji, wob, poweralertd, grim, slurp, wf-recorder, wtype, wl-clipboard, cliphist, imv, wl-mirror, playerctl, pulsemixer, ghostty. General CLIs: qrencode, torsocks, lshw, yt-dlp, streamlink, chezmoi, paru. GUI: sparrow. OCR: tesseract collapsed with .override { enableLanguages = [eng por] } — replaces tesseract + tesseract-data-eng + tesseract-data-por. STT: whisper-cpp.override { vulkanSupport = true; } plus an inline whisper-cpp-model-base derivation that fetches ggml-base.bin from the upstream huggingface mirror into ~/.nix-profile/share/whisper-cpp-models/.
* feat(nix): unify rootless podman across host and VMsommerfeld2026-06-052-40/+43
| | | | | | | | | | | | | | | Move the podman stack (podman, crun, conmon, netavark, aardvark-dns, slirp4netns, passt, podman-compose, podman-docker) from a vm-only block into common.nix so the Arch host and the Ubuntu remote-dev VM run the same nix-pinned versions. This drops podman-compose + podman-docker from pacman as well — they were the only podman-stack pieces still sourced from there on the host. Relocate registries.conf + policy.json into the chezmoi tree at dot_config/containers/ so both flavors share them; vm.nix now picks them up via the existing link helper. storage.conf stays inline in vm.nix because the VM needs the overlay driver while the Arch host uses the btrfs driver (root fs is btrfs there).
* chore(nix): flake.lock update (home-manager)sommerfeld2026-06-051-7/+7
| | | | | | home-manager: 7d8127d3 (master, 26.11) → b179bde2 (release-26.05) Follow-up to the release-branch pin in the previous commit.
* chore(nix): pin home-manager to release-26.05 (match nixpkgs)sommerfeld2026-06-051-1/+6
| | | | | | | | | HM master had rolled to the 26.11 development cycle while the nixos-unstable nixpkgs snapshot we follow is still on 26.05. Activation emitted the 'mismatched versions' warning at every nix-switch. Pin HM to its release-26.05 branch so the two stay in lockstep; bump the branch name when nixpkgs lib.version rolls over.
* chore(nix): flake.lock update (home-manager, tuicr)sommerfeld2026-05-291-6/+6
|
* feat(nix/common): expose run-clang-tidy missing from nixpkgs clang-toolssommerfeld2026-05-291-1/+21
| | | | | | | | | nixpkgs' clang-tools derivation symlinks scripts from clang-unwrapped only when they're executable; run-clang-tidy loses the +x bit during the multi-output split and gets skipped. Re-expose it ourselves by probing clang-unwrapped's main and python outputs (bin/ first, then the legacy share/clang/ layout) and installing the first hit at $out/bin/run-clang-tidy.
* refactor(eer): install external-editor-revived via nix on the hostsommerfeld2026-05-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AUR `external-editor-revived` PKGBUILD declares a hard `thunderbird` dependency, which blocks removing the unused system Thunderbird binary alongside the org.mozilla.thunderbird flatpak (and pacman's `AssumeInstalled` is a CLI flag, not a pacman.conf directive, so the previous workaround was nonfunctional). Nixpkgs' `external-editor-revived` is just `rustPlatform.buildRustPackage` plus a relocatable native-messaging manifest — zero mailer dep — so the host gets it from nix instead. * nix/host.nix: add `external-editor-revived` to `home.packages`. Kept out of `common.nix` so the remote-dev VM (which has no Thunderbird) doesn't carry the build closure. * run_onchange_after_deploy-tb-eer.sh.tmpl: search `~/.nix-profile/{bin,lib/mozilla/native-messaging-hosts}` first and fall through to the legacy pacman paths. The chezmoi manifest-hash probe now checks the nix path too, so the hook re-runs cleanly when nix bumps the EER version. * meta/base.txt: drop the `external-editor-revived` AUR entry and rewrite the comment to point at the nix declaration. * etc/pacman.conf: revert the bogus `AssumeInstalled` directive (CLI-only, not pacman.conf). On-host migration: home-manager switch --flake ~/dotfiles/nix#host # picks up EER sudo pacman -Rns external-editor-revived thunderbird mpv chezmoi apply -v # re-runs tb-eer hook
* chore(nix): flake.lock update (tuicr)sommerfeld2026-05-291-3/+3
|
* chore(nix): flake.lock update (home-manager, nixpkgs, tuicr)sommerfeld2026-05-291-9/+9
|
* fix(nix): tuicr switched to packages.${system}.default schemasommerfeld2026-05-291-3/+1
| | | | | | | | Upstream tuicr commit 5b19712 migrated from the legacy `defaultPackage.<system>` flake output to the standard `packages.<system>.default`, which broke `nix-update` with: error: attribute 'defaultPackage' missing