bsamiee/parametric_forge
My Nix based repo for NixOS/Darwin configuration, dotfiles, and more
2 stars0 forksUpdated Jan 12, 2026
npx skills add bsamiee/parametric_forgeREADME
Parametric Forge
Parametric Forge is a deterministic macOS workspace built with Nix flakes, nix-darwin, and Home Manager. It targets computational design (Rhino/Grasshopper/BIM), heavy media, and modern development stacks with reproducible tooling, tuned defaults, and strict XDG hygiene.
At a glance
- Scope: One flake drives macOS defaults, GUI apps, CLI tools, fonts, overlays (Yazi + sqlean), and cache policy.
- Secrets: 1Password-backed secrets + SSH keep credentials out of the repo; GitHub CLI stays writable.
- Terminal mesh: WezTerm → Zellij → Yazi with Neovim remote control, Starship, Atuin, fzf-tab, and carapace.
- Toolchains: Python 3.13 (uv/ruff/mypy), Node (fnm + pnpm), Lua + LSPs, SQLite/duckdb with sqlean/spatialite/vec, dotnet 8 for Rhino.
- Assets: CAD/BIM/media formats stay versionable via LFS defaults; ffmpeg/imagemagick tuned for previews.
Layout
.
├── flake.nix / flake.lock # Inputs/outputs, overlay export, devshell, formatter
├── hosts/
│ └── darwin/default.nix # MacBook host: nix-darwin + nix-homebrew + Home Manager
├── modules/
│ ├── common/ # Nix daemon perf/cache + Cachix post-build hook
│ ├── darwin/ # macOS defaults, fonts, homebrew taps/brews/casks/whalebrew
│ └── home/ # Home Manager: XDG, env, aliases, programs, scripts, assets
│ ├── assets/ # ASCII + carbon sources/renders
│ ├── environments/ # Session vars for shell/languages/media/secrets/containers
│ ├── programs/ # Apps (wezterm/zellij/yazi), shell-tools, git-tools, nix-tools, zsh
│ ├── scripts/ # Integration wrappers (nvim/zellij/yazi)
│ └── xdg.nix # XDG base dirs + scaffolding
├── overlays/ # Upstream Yazi overlay passthrough + custom sqlean
└── .archive/ # Retired configs kept for reference
Quick Start
- Install Nix (Determinate):
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install - Sign into 1Password CLI:
op signin <account> - Clone:
git clone https://github.com/bsamiee/Parametric_Forge.git ~/Parametric_Forge - Apply mac host:
nix run nix-darwin -- switch --flake ~/Parametric_Forge#macbook - Rebuild after edits:
darwin-rebuild switch --flake ~/Parametric_Forge#macbook
Secrets + SSH
- Secret references:
modules/home/environments/secrets.nix; template written bymodules/home/xdg.nixto~/.config/op/env.template. - Invocation:
op run --env-file ~/.config/op/env.template -- <command>keeps secrets out of git. - SSH agent:
modules/home/programs/shell-tools/ssh.nixpoints to~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock. - GitHub CLI: stays writable because
~/.config/ghis unmanaged by Home Manager.
Terminal Mesh (WezTerm ↔ Zellij ↔ Yazi ↔ Neovim)
- WezTerm: Lua modules (
modules/home/programs/apps/wezterm) split appearance/keys/mouse/behavior/integration; auto-attaches to Zellij sessions. - Zellij:
modules/home/programs/apps/zellijships Dracula palette, layouts, andzjstatus; one color map reused by theme and plugins. - Yazi:
modules/home/programs/apps/yazithemed to match; wrapper scripts (modules/home/scripts/integration/zellij) setEDITOR=forge-edit.shso Yazi hands edits to Neovim.forge-edit.shuses per-session nvr sockets; WezTerm focuses the adjacent pane before sending files.
- Shell:
...
Publisher
Statistics
Stars2
Forks0
Open Issues0
CreatedAug 25, 2025