Commit Graph

54 Commits

Author SHA1 Message Date
0xWheatyz 5c14b05c16 feat(claude): broaden allowed tool permissions in settings
Replace restrictive bash-only permissions with full tool access
including Read, Glob, Grep, WebFetch, WebSearch, Agent, and
NotebookEdit for a more capable Claude Code experience.
2026-04-21 18:59:14 -04:00
0xWheatyz f613917d4c chore: add gitignore for omc state and wireguard config
Ignore .omc/ directory (OMC internal state) and wg1.conf
(WireGuard config containing secrets).
2026-04-21 18:58:22 -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 36dd8b8c34 feat(claude): add nodejs and OMC_PLUGIN_ROOT for oh-my-claudecode support
Adds nodejs to home packages (required by claude-code and OMC HUD/npm
plugins) and sets OMC_PLUGIN_ROOT env var pointing to the flake input.
2026-04-21 18:52:40 -04:00
0xWheatyz 977c15a57f feat(claude): deploy OMC agents and CLAUDE.md config via nix
Add agents directory from oh-my-claudecode flake input, include the
upstream OMC CLAUDE.md configuration block via builtins.readFile, and
add statusLine/env/teammateMode to the declarative settings.json.
2026-04-21 16:28:47 -04:00
0xWheatyz c348c97ea0 fix(claude): correct oh-my-claudecode skill path to avoid extra nesting
Skills were installed at ~/.claude/skills/oh-my-claudecode/<name>/SKILL.md
but Claude Code expects ~/.claude/skills/<name>/SKILL.md. Link the source
directly into the skills directory.
2026-04-20 23:53:04 -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 5da4d36d25 feat(claude): add caveman and oh-my-claudecode skills via flake inputs
Declaratively manage Claude Code skills through home-manager by fetching
plugin repos as non-flake inputs and symlinking their skills directories.
2026-04-20 22:51:37 -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 8eee1ab82f fix(home): add gtk3 to resolve freecad save-as crash
FreeCAD's file chooser requires the org.gtk.Settings.FileChooser
GSettings schema from GTK3, which was missing from XDG_DATA_DIRS.
2026-04-05 13:57:37 -04:00
0xWheatyz c133ff306e fix(flake): unpin nixpkgs-unstable to resolve broken claude-code package
Revert the nixpkgs-unstable pin to follow the branch again, as the
pinned revision shipped a broken package.
2026-04-04 02:12:42 -04:00
0xWheatyz 5a53ce36e9 feat(home): add freecad package 2026-04-04 02:12:36 -04:00
0xWheatyz 7c25228bc5 feat(yubikey): configure GPG signing key and disable GCR ssh-agent
Set actual GPG key ID for git commit signing, disable GCR ssh-agent
socket so gpg-agent handles SSH auth, and trim redundant setup steps
from yubikey guide.
2026-04-04 02:12:02 -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 1ad1614509 docs(yubikey): add post-rebuild YubiKey setup guide
Step-by-step guide covering GPG key generation, subkey creation,
moving keys to YubiKey, SSH key deployment, and git signing setup.
2026-03-31 21:22:11 -04:00
0xWheatyz fa2ae3b86e chore(git): set pull strategy to merge by default 2026-03-28 11:57:03 -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 8a091acccc chore(deps): update nixpkgs-unstable flake input 2026-03-16 18:58:26 -04:00
0xWheatyz 85b7d25486 feat(claude): add CLAUDE.md, commit command, and update permissions
Add home-manager managed CLAUDE.md with commit behavior instructions,
a /commit slash command for conventional commits workflow, and expand
allowed Bash permissions to include nix commands. Remove inline
customInstructions in favor of CLAUDE.md file.
2026-03-16 18:58:12 -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 ea03f7d998 feat(claude): disable commit signature and fix permission syntax
- Add includeCoAuthoredBy option set to false
- Update customInstructions to exclude signature from commits
- Fix Bash permission syntax from "git *" to "git:*"
2026-03-15 12:22:12 -04:00
0xWheatyz b14299e94e feat(claude): enable always thinking mode and force settings file
Add alwaysThinkingEnabled option and force flag to overwrite existing
settings.json file managed outside of home-manager.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-15 12:20:02 -04:00
0xWheatyz 23897093b2 feat(claude): add Claude Code settings for auto-permissions and conventional commits
Configure Claude Code to allow Edit, Write, and git commands without prompting,
and instruct it to use conventional commit format in git repositories.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-15 12:08:49 -04:00
0xWheatyz 9d420e7bb9 docs: add comprehensive README documenting system configuration
Added detailed documentation covering NixOS configuration, installed software,
features, and usage instructions for both system and user-level management.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 22:17:02 -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 e1cd081e45 feat(terminal): replace zellij with tmux as terminal multiplexer
Switch from zellij to tmux for terminal multiplexing with mouse support, improved window numbering, and 256-color terminal configuration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 22:09:18 -04:00
0xWheatyz c42fa715ae Merge pull request 'cursor_fix' (#1) from cursor_fix into master
Reviewed-on: #1
2026-03-11 02:35:25 +00: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 cb725d9f1a feat: more software 2026-01-17 16:51:33 -05:00
0xWheatyz e4863b1b3d feat: docker now works.. kinda, root use only 2025-11-24 01:02:37 +00:00
0xWheatyz 50aa7ca367 feat: flakes and shells are now appeneded to the front of the zsh prompt, provided NIX_PROJECT_SHELL 2025-11-24 01:01:51 +00:00
0xWheatyz 86a5a36783 fix: git push.autoUpstreamRemote is now true in home.nix 2025-11-15 22:07:39 -05:00
0xWheatyz cab9d1e7f9 fix: removed vm configurations 2025-11-15 22:02:59 -05:00