Commit Graph

34 Commits

Author SHA1 Message Date
zuckerberg 99ef62d31a Fix unused vars
Check Flake / check-flake (push) Successful in 1m21s
2026-02-11 23:12:00 -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 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 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 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 800a95d431 Update to nixos 23.11
Check Flake / check-flake (push) Successful in 1m24s
2024-02-01 21:42:33 -07:00
zuckerberg 330c801e43 Fix issue where wg vpn starts slightly too early for internet access 2023-10-16 20:19:34 -06:00
zuckerberg 71baa09bd2 Refactor imports and secrets. Add per system properties and role based secret access.
Highlights
- No need to update flake for every machine anymore, just add a properties.nix file.
- Roles are automatically generated from all machine configurations.
- Roles and their secrets automatically are grouped and show up in agenix secrets.nix
- Machines and their service configs may now query the properties of all machines.
- Machine configuration and secrets are now competely isolated into each machine's directory.
- Safety checks to ensure no mixing of luks unlocking secrets and hosts with primary ones.
- SSH pubkeys no longer centrally stored but instead per machine where the private key lies for better cleanup.
2023-04-21 12:58:11 -06:00
zuckerberg 40f0e5d2ac Add Phil 2023-04-19 18:12:42 -06:00
zuckerberg 378cf47683 restic backups 2023-04-08 21:25:55 -06:00
zuckerberg f68a4f4431 nixpkgs-fmt everything 2023-04-04 23:30:28 -06:00
zuckerberg c48b1995f8 Remove zerotier 2023-03-18 20:41:09 -06:00
zuckerberg 820cd392f1 Choose random PIA server in a specified region instead of hardcoded. And more TODOs addressed. 2023-03-12 22:55:46 -06:00
zuckerberg 759fe04185 with lib; 2023-03-12 21:50:46 -06:00
zuckerberg db441fcf98 Add ability to refuse PIA ports 2023-03-12 21:46:36 -06:00
zuckerberg 83e9280bb4 Use the NixOS firewall instead to block unwanted PIA VPN traffic 2023-03-12 20:49:39 -06:00
zuckerberg 478235fe32 Enable firewall for PIA VPN wireguard interface 2023-03-12 20:29:20 -06:00
zuckerberg 42c0dcae2d Port forwarding for transmission 2023-03-12 19:50:29 -06:00
zuckerberg 7159868b57 update todo's 2023-03-12 19:46:51 -06:00
zuckerberg 5ed02e924d Remove liza 2023-03-12 00:15:06 -07:00
zuckerberg 1d620372b8 Remove leftovers of removed compute nodes 2023-03-12 00:14:49 -07:00
zuckerberg ecb6d1ef63 Migrate mailserver to ponyo 2023-03-11 23:40:36 -07:00
zuckerberg a5f7bb8a22 Fix vpn systemd service restart issues 2023-03-09 13:07:20 -07:00
zuckerberg cea9b9452b Initial prototype for Wireguard based PIA VPN - not quite 'ready' yet 2023-03-08 23:49:02 -07:00
zuckerberg b53f03bb7d Fix typo 2023-03-08 23:45:49 -07:00
zuckerberg dee0243268 Peer to peer connection keepalive task 2023-03-07 22:55:37 -07:00
zuckerberg 8b6bc354bd Peer to peer connection keepalive task 2023-03-07 22:54:26 -07:00
zuckerberg 3e0cde40b8 Cleanup remote LUKS unlock 2023-02-11 18:40:08 -07:00
zuckerberg 9bcf7cc50d VPN using its own DNS resolver is unstable 2023-02-11 16:09:02 -07:00
zuckerberg c649b04bdd Update ssh keys and allow easy ssh LUKS unlocking 2023-02-11 15:05:20 -07:00
zuckerberg ec2b248ed8 Don't use tailscale in containers 2022-06-23 22:37:14 -04:00
zuckerberg aa7bbc5932 Use Tailscale 2022-06-23 22:30:07 -04:00
zuckerberg 7e615f814d Rewrite VPN container 2022-05-28 18:54:41 -04:00