Files
roam/azos.org
T
2026-10-14 09:41:44 +03:00

2.5 KiB

azos

  • azos-core is a git submodule — git add must be run inside it separately from the outer repo
  • Nix flakes only evaluate git-tracked files; new files must be staged (git add) before nix build will see them
  • import-tree auto-discovers features but only sees tracked files — same constraint
  • The machine name is lauretta; machine config is at _machines/lauretta.nix
  • postPatch in Nix derivations: alejandra reformats indentation of multiline strings, which can change effective shell script content
  • A systemd (user) unit's Service.Environment = "PATH…";= REPLACES the default PATH rather than appending to it — any bare command (e.g. sleep) in the associated script will 127 under that restricted PATH even though it works fine run manually from an interactive shell. Every command needs an absolute ${pkgs.X}/bin/... reference, not just the ones the override was written for. Hit this in features/nextcloud/default.nix (see azos/nextcloud).
  • Same PATH override gotcha has a second trap: several NixOS tools (fusermount3, sudo, etc.) only work from their setuid-root wrapper at /run/wrappers/bin/, not from the plain package's /nix/store/.../bin/ (not setuid, lacks the needed capability). A restricted PATH… override must include /run/wrappers/bin or any FUSE/setuid-dependent command will fail with "Operation not permitted" (not 127 — a different failure mode, easy to misdiagnose as unrelated/environmental). See azos/nextcloud for the fusermount3 instance of this.

Subnodes

  • azos/emacs — Emacs-specific gotchas (async-shell-command/pty, org-babel lexical binding)
  • azos/mail — mu4e/mbsync/msmtp accounts, contexts, bookmarks
  • azos/hardware-auth — YubiKey U2F login/sudo setup; lauretta's fingerprint reader is unsupported, why, and what would unblock it
  • azos/todos — open project TODOs
  • azos/dav — DAV (phone reminders) todo sync via vdirsyncer/todoman; recurring/alarm limitations
  • azos/nextcloud — Nextcloud webdav mount via rclone, YubiKey-gated; the PATH-override crash-loop fix