Commit Graph

29 Commits

Author SHA1 Message Date
0xWheatyz f566267663 chore: remove kicad package and environment variables 2026-04-22 17:32:49 -04:00
0xWheatyz a765ea2844 fix(wireguard): resolve routing loop and update VPN endpoint
- Disable firewall to allow VPN traffic
- Switch DNS from VPN server (10.0.1.65) to Cloudflare (1.1.1.1)
- Use direct IP endpoint (69.48.243.22) instead of DNS hostname to
  prevent resolution failures when DNS routes through the tunnel
- Add pre/post routing rules to avoid routing loop by sending VPN
  endpoint traffic via the local gateway

Constraint: endpoint must be an IP, not hostname, to avoid DNS chicken-and-egg
Rejected: keep DNS hostname endpoint | fails when DNS resolves through tunnel
Confidence: high
Scope-risk: moderate
2026-04-21 18:52:53 -04:00
0xWheatyz 9d6017432d fix(kicad): use correct nixpkgs attribute path for footprint libraries
pkgs.kicad-libraries doesn't exist; the correct path is
pkgs.kicad-small.libraries.footprints.
2026-04-20 23:44:57 -04:00
0xWheatyz 9c9935b550 feat(kicad): add KICAD9_FOOTPRINT_DIR session variable for footprint libraries 2026-04-20 23:04:50 -04:00
0xWheatyz d83b03bbd8 fix(wireguard): exclude local 10.0.0.0/24 from tunnel to preserve LAN access
Replace 0.0.0.0/0 allowedIPs with CIDR blocks covering everything except
10.0.0.0/24, which conflicts with the building's local network. Also switch
endpoint back to hostname and remove unused tailscale service block.
2026-04-20 19:50:44 -04:00
0xWheatyz c371552dfd fix(wireguard): use static endpoint IP and drop manual route hooks
Replace hostname endpoint with resolved IP (69.48.243.22) so
wg-quick's native fwmark-based routing handles 0.0.0.0/0 correctly.
Remove preUp/postDown hooks that conflicted with wg-quick's own
policy routing.
2026-04-15 19:19:22 -04:00
0xWheatyz 8b5111e9a1 fix(wireguard): move endpoint route to preUp/postDown hooks
postUp runs after wg-quick has already rerouted all traffic through
the tunnel, making external DNS unreachable. Use preUp to add the
host route before routing changes, and postDown to clean up after.
2026-04-15 19:12:34 -04:00
0xWheatyz cca5c48725 fix(wireguard): use public DNS to resolve endpoint before tunnel is up
Query @1.1.1.1 explicitly in postUp/preDown hooks since the VPN DNS
(10.0.1.65) is unreachable before the tunnel establishes.
2026-04-15 19:08:13 -04:00
0xWheatyz b4e4036c41 fix(wireguard): resolve endpoint hostname to IP before adding route
ip route does not accept hostnames. Use dig to resolve
vpn.leeworks.dev to an IP address in postUp/preDown hooks.
2026-04-15 19:00:00 -04:00
0xWheatyz 3aab755e37 fix(wireguard): add endpoint host route and trust wg0 interface
Add postUp/preDown hooks to create a host route for the VPN endpoint
via the real gateway, preventing a routing loop when allowedIPs is
0.0.0.0/0. Also add wg0 to firewall trustedInterfaces.
2026-04-15 18:45:03 -04:00
0xWheatyz 6e361b197c feat(wireguard): update wg0 config to match ClusterVPN-Nixos.conf
- Address: 10.0.1.66/28 -> 10.0.1.67/32
- Add DNS 10.0.1.65
- AllowedIPs: restricted subnets -> 0.0.0.0/0 (full tunnel)
2026-04-15 18:40:53 -04:00
0xWheatyz 6fd0b18746 fix(home): move gtk3 to home.packages for FreeCAD GSettings schema
FreeCAD is a home-manager package, so its GSettings schema dependency
(org.gtk.Settings.FileChooser) must also be in home.packages for
home-manager to include it in XDG_DATA_DIRS. Having gtk3 only in
system packages left it invisible to the user session.
2026-04-05 19:36:33 -04:00
0xWheatyz 0c15063a58 fix(system): add gtk3 to system packages for GSettings file chooser schema
FreeCAD crashes with 'org.gtk.Settings.FileChooser is not installed'
because home-manager packages don't get their GSettings schemas compiled
into the system profile. Moving gtk3 to environment.systemPackages fixes this.
2026-04-05 19:28:53 -04:00
0xWheatyz 9056237e8a fix(portal): add xdg-desktop-portal-gtk for freecad file chooser
FreeCAD's save/open dialogs require the GTK portal backend for the
file chooser D-Bus service. The bare gtk3 package doesn't provide this,
so replace it with the portal package in the system config.
2026-04-05 18:54:03 -04:00
0xWheatyz 64b450bbe7 feat(wireguard): expand allowedIPs to include home network subnets
Add 192.168.1.0/24, 10.0.0.0/24, and 10.0.1.0/26 to route traffic
for the full home LAN through the WireGuard tunnel.
2026-04-05 14:09:16 -04:00
0xWheatyz 1ca8cc8c57 feat(wireguard): add wg-quick VPN client configuration
Connect to home network VPN via vpn.leeworks.dev with wg0 interface
on the 10.0.1.64/28 subnet. Private key loaded from /etc/wireguard/private.key.
2026-04-04 01:53:45 -04:00
0xWheatyz 014216de6b feat(yubikey): add GPG agent, pcscd, and YubiKey support
Enable gpg-agent with SSH support and pinentry-gnome3, add
yubikey-manager and pcscd service, configure GPG with hardened
preferences and scdaemon, disable gnome-keyring SSH agent, and
prepare git signing configuration.
2026-03-31 21:25:35 -04:00
0xWheatyz 91faab704c fix(gnome): remove xwayland-native-scaling to prevent KiCad crashes
The experimental xwayland-native-scaling feature causes XWayland
connection loss when KiCad fullscreens on the second monitor,
crashing the application. Fractional scaling is retained via
scale-monitor-framebuffer.
2026-03-28 11:56:42 -04:00
0xWheatyz 1226603c7f chore(cleanup): removed some old software that is not used often 2026-03-15 23:31:46 -04:00
0xWheatyz bdbf892ea1 feat: auto-update Claude Code from nixpkgs-unstable
- Add nixpkgs-unstable input for latest Claude Code versions
- Remove duplicate home-manager config from configuration.nix (handled by flake)
- Remove fetchTarball/fetchGit calls incompatible with pure flake mode
- Add shell function to auto-update unstable on nixos-rebuild
2026-03-15 23:16:00 -04:00
0xWheatyz c7a6827bdc feat(terminal): replace GNOME Console with Ghostty
Replace the default GNOME Console terminal with Ghostty by adding it to home packages, configuring it as the default terminal application via dconf settings, and excluding GNOME Console from installed packages.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 22:14:40 -04:00
0xWheatyz 576cf0dc98 feat(nvim): applied kickstart nvim from github 2026-03-10 22:32:31 -04:00
0xWheatyz 22d0e34139 fix: docker rootless now works due to /etc/hosts permissions change 2026-03-07 15:46:09 -05:00
0xWheatyz 068eba7c26 feat: working neovim 2026-02-19 22:12:45 -05:00
0xWheatyz 9329547aab feat: attempt to configure gnome 2026-02-02 19:50:39 -05:00
0xWheatyz c19ff6e778 fix(?): rootless docker 2026-01-17 16:52:13 -05:00
0xWheatyz e4863b1b3d feat: docker now works.. kinda, root use only 2025-11-24 01:02:37 +00:00
0xWheatyz 524eb6ac9f someone elses config? 2025-11-11 20:47:50 -05:00
0xWheatyz c900fa4e59 refactor: moved all configs to one place 2025-11-11 18:00:52 -05:00