Commit Graph

323 Commits

Author SHA1 Message Date
zuckerberg 8b92e51ef7 Remove phil machine and aarch64 ISO/kexec 2026-02-21 21:43:12 -08:00
zuckerberg 7798872bbf Disable SMB3 directory leases to fix stale listings from local file changes 2026-02-21 21:43:12 -08:00
zuckerberg 5a0a525f64 Add Attic binary cache and containerize gitea runner
Replace nix-serve-only setup with Attic for managed binary caching with
upstream filtering and GC. Move gitea actions runner from host into an
isolated NixOS container with private networking. nix-serve kept alongside
Attic during migration.
2026-02-21 21:43:08 -08:00
zuckerberg 136f024cf0 Fix tailscale networking when incus is on 2026-02-17 21:28:28 -08:00
zuckerberg 3d08a3e9bc Improve nix settings for sandboxed workspaces
Check Flake / check-flake (push) Successful in 1m15s
2026-02-14 11:29:02 -08:00
zuckerberg 99ef62d31a Fix unused vars
Check Flake / check-flake (push) Successful in 1m21s
2026-02-11 23:12:00 -08:00
zuckerberg 298f473ceb Remove unused vscode-server module 2026-02-11 23:00:48 -08:00
zuckerberg 10f3e3a7bf Remove old stale/unused configuration 2026-02-11 22:47:38 -08:00
zuckerberg 869b6af7f7 Block sandbox access to local network
Add nftables forward rules to prevent sandboxed workspaces from
reaching RFC1918 private addresses while allowing public internet
and the host gateway (for DNS/NAT).
2026-02-09 20:16:02 -08:00
zuckerberg 8293a7dc2a Rework Claude Code config in sandboxed workspaces
Remove credential passing to sandboxes (didn't work well enough).
Move onboarding config init from host-side setup into base.nix so
each workspace initializes its own Claude config on first boot.
Wrap claude command in VM and Incus workspaces to always skip
permission prompts.
2026-02-09 19:56:11 -08:00
zuckerberg cbf2aedcad Add use flake for fresh claude code 2026-02-09 18:04:09 -08:00
zuckerberg 69fc3ad837 Add ZFS/btrfs snapshot support to backups
Creates filesystem snapshots before backup for point-in-time consistency.
Uses mount namespaces to bind mount snapshots over original paths, so
restic records correct paths while reading from frozen snapshot data.

- Auto-detects filesystem type via findmnt
- Deterministic snapshot names using path hash
- Graceful fallback for unsupported filesystems
2026-02-08 20:16:37 -08:00
zuckerberg cf71b74d6f Add Incus container support to sandboxed workspaces
- Add incus.nix module for fully declarative Incus/LXC containers
- Build NixOS LXC images using nixpkgs.lib.nixosSystem
- Ephemeral containers: recreated on each start, cleaned up on stop
- Use flock to serialize concurrent container operations
- Deterministic MAC addresses via lib.mkMac to prevent ARP cache issues
- Add veth* to NetworkManager unmanaged interfaces
- Update CLAUDE.md with coding conventions and shared lib docs
2026-02-08 15:16:40 -08:00
zuckerberg 5178ea6835 Configure Claude Code for sandboxed workspaces
- Add credentials bind mount in container.nix
- Create claude-credentials-dir service to copy credentials for VMs
- Generate .claude.json with onboarding skipped and workspace trusted
- Add allowUnfree to container config
2026-02-08 14:53:31 -08:00
zuckerberg 87db330e5b Add sandboxed-workspace module for isolated dev environments
Provides isolated development environments using either VMs (microvm.nix)
or containers (systemd-nspawn) with a unified configuration interface.

Features:
- Unified options with required type field ("vm" or "container")
- Shared base configuration for networking, SSH, users, packages
- Automatic SSH host key generation and persistence
- Shell aliases for workspace management (start/stop/status/ssh)
- Automatic /etc/hosts entries for workspace hostnames
- restartIfChanged support for both VMs and containers
- Passwordless doas in workspaces

Container backend:
- Uses hostBridge for proper bridge networking with /24 subnet
- systemd-networkd for IP configuration
- systemd-resolved for DNS

VM backend:
- TAP interface with deterministic MAC addresses
- virtiofs shares for workspace directories
- vsock CID generation
2026-02-07 22:43:08 -08:00
zuckerberg c22855175a Add logseq and godot-mono
Check Flake / check-flake (push) Successful in 3m51s
2026-02-06 21:12:18 -08:00
zuckerberg 0a06e3c1ae Move vscodium config to home manager and add vscodium profile 2026-02-06 21:11:59 -08:00
zuckerberg ae2a62515a Enable scanner support
Check Flake / check-flake (push) Successful in 5m46s
2026-01-25 13:11:01 -08:00
zuckerberg e42e30d3cc Fix nix-index autogenerated db comma integration 2026-01-24 15:01:16 -08:00
zuckerberg 83b5d3b8c2 Update nextcloud occ command syntax 2026-01-24 14:59:57 -08:00
zuckerberg bab2df5d7e Use programs.ssh.askPassword
Check Flake / check-flake (push) Successful in 4m56s
2026-01-11 15:24:53 -08:00
zuckerberg adc04d1bc7 Update nixos mailserver
Check Flake / check-flake (push) Successful in 18m38s
2026-01-11 14:25:17 -08:00
zuckerberg da9a8f8c03 Update nixpkgs 2026-01-11 14:25:03 -08:00
zuckerberg 61698aa7e2 Add kde connect 2026-01-10 22:52:17 -08:00
zuckerberg e0af023ac9 barrier was removed from nixpkgs 2026-01-10 22:51:09 -08:00
zuckerberg c0088553ff jellyfin-media-player was removed from nixpkgs 2026-01-10 22:49:04 -08:00
zuckerberg 3d6a759827 Update nixpkgs 2025-10-12 13:33:53 -07:00
zuckerberg be23526c2c Add KeepassXC keys, remove some very old user keys, and rekey
Check Flake / check-flake (push) Successful in 1m50s
2025-07-16 22:01:33 -07:00
zuckerberg 82b67ed566 Add Whiteboard app to Nextcloud
Check Flake / check-flake (push) Successful in 2m17s
2025-07-16 20:49:39 -07:00
zuckerberg 53c2e2222c Move shell aliases 2025-07-16 20:48:26 -07:00
zuckerberg a45125421e Add collabora online and move nextcloud domain 2025-07-16 20:46:51 -07:00
zuckerberg af9e462b27 Allow substituters to be offline
Check Flake / check-flake (push) Has been cancelled
2025-07-13 17:54:32 -07:00
zuckerberg 2faea9d380 Update nixpkgs and other flake inputs 2025-07-13 17:52:08 -07:00
zuckerberg 8571922796 Add new helpful utilities 2025-07-12 11:42:40 -07:00
zuckerberg 8c4dc9cb74 Improve usage of roles. It should be much easier to read and use now. 2025-03-29 22:48:14 -07:00
zuckerberg 1f9fbd87ac Use upstream pykms and Actual Budget. Move Actual to s0. Add automated backups for Actual.
Check Flake / check-flake (push) Successful in 1m37s
2025-03-29 18:36:13 -07:00
zuckerberg 23c8076e4d Pinning system nixpkgs is not needed anymore. nixpkgs already does this automatically for flakes.
Check Flake / check-flake (push) Successful in 1m50s
2025-03-28 21:45:46 -07:00
zuckerberg 75ae399b5a Update nixpkgs. Move to new dashy service 2025-03-28 21:05:37 -07:00
zuckerberg 8dd2a00123 Tauri development extensions 2025-03-28 20:24:33 -07:00
zuckerberg 944a783ff2 Add nix LSPs for development 2025-03-28 20:23:07 -07:00
zuckerberg b43660aaef Clean up very old unused config 2025-03-28 20:17:54 -07:00
zuckerberg 567d755850 If machine role is personal set de.enable = true; automatically 2025-03-28 20:16:26 -07:00
zuckerberg 9181e3bfa3 Update librechat to v0.7.7 2025-03-28 19:38:41 -07:00
zuckerberg 9845270512 Fix gparted 2025-03-28 19:35:35 -07:00
zuckerberg fb1970c316 Upgrade librechat
Check Flake / check-flake (push) Successful in 6m43s
2025-02-17 12:12:46 -08:00
zuckerberg 00d2ccc684 Fix sound in some games running in wine 2025-02-17 12:09:51 -08:00
zuckerberg eb6a50664c Upgrade NixOS. Use upstream libedgetpu, frigate, and gasket kernel module. Fix services broken by upgrade.
Check Flake / check-flake (push) Successful in 17m43s
2024-11-19 21:28:56 -08:00
zuckerberg 5b666a0565 Add nextcloud apps
Check Flake / check-flake (push) Has been cancelled
2024-10-11 21:58:54 -07:00
zuckerberg bdd2d9bef9 Update nextcloud 2024-10-11 21:20:18 -07:00
zuckerberg 5acc8b3fca Block email for ellen@runyan.org
Check Flake / check-flake (push) Successful in 1m5s
2024-10-10 20:04:50 -07:00