[READ-ONLY] Mirror of https://github.com/usrrname/dotfiles. There was an attempt to store my configs
shovelware nix-pkgs nix
0

Configure Feed

Select the types of activity you want to include in your feed.

Remove broken bruno-appimage Nix module

Jen Chan (Jun 22, 2026, 10:58 AM EDT) f4e08f7f 8fad1f17

+75 -8
+8
AGENTS.md
··· 19 19 | Ubuntu (standalone HM) | `home-manager switch --flake .#ubuntu` | 20 20 | Raspberry Pi (standalone HM) | `home-manager switch --flake .#pi-nas` | 21 21 22 + ### Fedora host (`hosts/fedora/`) 22 23 24 + All Fedora-specific details live in [`hosts/fedora/README.md`](hosts/fedora/README.md). Key facts an agent needs to know: 25 + 26 + - **dnf/Nix split**: `wezterm` and `bubblewrap` must come from dnf (system GPU/namespace libs). Everything else comes from Nix. Do NOT move these to Nix — the binaries will fail at runtime. 27 + - **Adding packages to the Fedora host**: edit `hosts/fedora/default.nix` under `home.packages`, not the shared `home/default.nix`, unless the package is common across all Linux hosts. 28 + - **npm workaround**: Nix store is read-only for `npm install -g`. `hosts/fedora/default.nix` sets `NPM_CONFIG_PREFIX=~/.npm-global` and runs a `home.activation` script to install globals (`socket`). If adding a new npm global, add it there. 29 + - **input-remapper preset**: lives at `common/input-remapper/.config/input-remapper-2/presets/Keychron Keychron Q11/mac-mode.json`, deployed by `modules/input-remapper.nix`. The Keychron Q11's physical Alt keys are mapped to Ctrl+Shift shortcuts (macOS muscle memory). 30 + - **Bootstrap**: `./setup.sh` handles the full Fedora bootstrap (dnf pkgs, systemd enable, passwordless sudo, zsh). Running `home-manager switch --flake .#fedora` alone only applies the Nix user config. 23 31 24 32 ## Claude Code Configuration 25 33
+2
README.md
··· 168 168 | **input-remapper** | Nix (`pkgs.input-remapper`) | Config via Nix module | 169 169 | **brave, CLI tools** | Nix (`home.packages`) | Pure user-level, no system deps needed | 170 170 171 + For a full breakdown of Fedora-specific changes (system-level, Nix-managed packages, npm activation, installed modules, and architectural notes), see [`hosts/fedora/README.md`](hosts/fedora/README.md). 172 + 171 173 ## Adding a New Config 172 174 173 175 ### Option 1: Nix (preferred for macOS)
+1
common/sandbox-hermes/sandbox-hermes.sh
··· 49 49 --dev /dev \ 50 50 --ro-bind /etc /etc \ 51 51 --ro-bind /run/systemd/resolve /run/systemd/resolve \ 52 + --ro-bind "$HOME/models" "$HOME/models" \ 52 53 --bind /tmp /tmp \ 53 54 --bind "$SANDBOX_HOME" "$HOME" \ 54 55 --bind "$HOME/.hermes" "$HOME/.hermes" \
-1
home/default.nix
··· 46 46 direnv 47 47 gh 48 48 act # run GitHub Actions locally 49 - bruno # API client 50 49 _1password-cli 51 50 52 51 # Build tools
+63
hosts/fedora/README.md
··· 1 + # Fedora host configuration 2 + Standalone Home Manager configuration for Fedora Workstation. 3 + 4 + See [main README](../../README.md#fedora) for quick start instructions. 5 + 6 + ## System-level changes (via `setup.sh`) 7 + 8 + | Change | What it does | Why | 9 + |---|---|---| 10 + | **dnf packages** | Installs `wezterm` and `bubblewrap` | These need system GPU/namespace libraries that Nix binaries can't provide | 11 + | **systemd services** | Enables `tailscaled` on boot | Tailscale binary is Nix-managed but needs systemd for auto-start | 12 + | **Passwordless sudo** | Writes `/etc/sudoers.d/10-<user>-nopasswd` | Avoids repeated password prompts during bootstrap/update | 13 + | **Default shell** | Sets zsh via `chsh` | Fish is the Fedora default; zsh is managed declaratively via Home Manager | 14 + 15 + ## Nix-managed packages (`default.nix`) 16 + 17 + The Fedora host config manages these via Nix rather than dnf: 18 + 19 + | Package | Purpose | Notes | 20 + |---|---|---| 21 + | **tailscale** | VPN/mesh networking | Binary from Nix; systemd service enabled separately | 22 + | **input-remapper** | Keyboard remapping | Preset config deployed via `modules/input-remapper.nix` | 23 + | **gcc, gnumake, openssl** | Build toolchain | Version-pinned by nixpkgs | 24 + | **libyaml, gmp** | Development libraries | For Ruby/Python builds | 25 + | **nodejs, pnpm, yarn** | JavaScript toolchain | Replaces nvm/fnm; npm prefix set to `~/.npm-global` (Nix store is read-only) | 26 + | **python3, uv** | Python toolchain | uv replaces pip/poetry | 27 + | **go** | Go development | | 28 + | **brave** | Web browser | Pure Nix build, no dnf repo needed | 29 + | **\_1password-cli** | 1Password CLI | `op` for secret management | 30 + | **lsb-release** | LSB info | Used by scripts for distro detection | 31 + 32 + ## Npm activation script 33 + 34 + A `home.activation` script in `default.nix` runs after every `home-manager switch` to: 35 + - Create `~/.npm-global` (writable prefix; Nix store is read-only) 36 + - Install `socket` globally if not present (not packaged in nixpkgs) 37 + 38 + ## Installed modules 39 + 40 + | Module | What it does | 41 + |---|---| 42 + | `../../modules/input-remapper.nix` | Deploys a Keychron Q11 preset (`mac-mode.json`) remapping Alt+ keys to Ctrl+Shift+ shortcuts — matches macOS muscle memory for copy/paste/terminal | 43 + | `../../modules/wezterm.nix` | Symlinks Wezterm config from `common/wezterm/`; binary is installed via dnf | 44 + | `../../modules/sandbox-repo.nix` | Provides `sandbox-repo` command — runs repos in a bubblewrap-isolated namespace with `/home` as tmpfs, network shared, all caps dropped | 45 + | `../../modules/home-manager-gc.nix` | Weekly auto-clean of old Home Manager generations (keeps 7 days) — included via `home/linux.nix` | 46 + 47 + ## Key architectural notes 48 + 49 + - **Standalone Home Manager**: Fedora uses standalone HM (no nix-darwin/NixOS). Home Manager manages user-level configs only; system packages that can't come from Nix are installed via dnf in `setup.sh`. 50 + - **dnf/Nix split boundary**: Packages that need system libraries (EGL, namespace APIs) come from dnf. Everything else comes from Nix for version-pinning and declarative management. 51 + - **Nix-preset configs migrated**: Configs previously managed via GNU Stow (bash, direnv, gh, tmux, nvim, etc.) are now fully Nix-managed through Home Manager modules. 52 + 53 + ## How to apply 54 + 55 + ```bash 56 + # From the dotfiles root: 57 + home-manager switch --flake .#fedora 58 + ``` 59 + 60 + For initial bootstrap (includes dnf packages and system services): 61 + ```bash 62 + ./setup.sh 63 + ```
-1
hosts/fedora/default.nix
··· 54 54 55 55 # Additional tools 56 56 brave # Web browser 57 - bruno # API client 58 57 _1password-cli 59 58 ]; 60 59
-1
hosts/ubuntu/default.nix
··· 44 44 go 45 45 46 46 # Additional tools 47 - bruno # API client 48 47 _1password-cli 49 48 ]; 50 49
+1 -5
modules/opencode.nix
··· 15 15 "${homeDir}/code/ponytail/.opencode/plugins/ponytail.mjs" 16 16 ]; 17 17 mcp = { 18 - secure-llm = { 19 - type = "local"; 20 - command = [ "node" "${homeDir}/code/furret/fetch/dist/index.js" ]; 21 - }; 22 - }; 18 + }; 23 19 }; 24 20 "opencode/tui.json".source = ../common/opencode/.config/opencode/tui.json; 25 21 "opencode/oh-my-openagent.json".source = ../common/opencode/.config/opencode/oh-my-openagent.json;