ryoppippi's dotfiles
262
stars
8,518
commits
Nix
primary language
Sep 10, 2026
updated
ryoppippi's dotfiles, managed as a Nix flake: nix-darwin plus Home Manager on macOS, standalone Home Manager on Linux.
flake.nix — inputs, apps, treefmt, and the darwin/home configurationsnix/modules/home/ — cross-platform Home Manager modules (packages, programs, dotfile symlinks)nix/modules/darwin/ — macOS system settings, Homebrew, OmniWMnix/modules/linux/ — Linux-only modulesnix/overlays/ — custom packages, also exposed as flake packagesnix/packages/node/ — Node packages built with Nixfish/, nvim/ — plain config, symlinked into place by Home Manageragents/skills/, agents/shared/ — skills and instruction fragments shared by Claude Code and Codexregistry/sources/ — pinned external skill repositoriesInstall Nix:
curl -sSfL https://artifacts.nixos.org/nix-installer | sh -s -- install --enable-flakes
Clone with ghq:
nix shell nixpkgs#ghq nixpkgs#git --command ghq get github.com/ryoppippi/dotfiles
cd "$(nix shell nixpkgs#ghq --command ghq root)/github.com/ryoppippi/dotfiles"
Sign in to the Mac App Store (open -a "App Store") so masApps can install.
Apply the configuration. This also installs Homebrew:
sudo xcodebuild -license accept
nix --accept-flake-config run .#switch
exec fish
curl --proto '=https' --tlsv1.2 -sSf -L https://install.nixos.org | sh -s -- install
nix shell nixpkgs#ghq nixpkgs#git --command ghq get github.com/ryoppippi/dotfiles
cd "$(nix shell nixpkgs#ghq --command ghq root)/github.com/ryoppippi/dotfiles"
nix run .#switch
If Nix hits the GitHub API rate limit, load a token into GITHUB_TOKEN from a
credential helper or password manager, then retry. Never paste the token into
the command line or commit it.
NIX_CONFIG="access-tokens = github.com=$GITHUB_TOKEN" \
nix --accept-flake-config run .#switch
Flakes only see tracked, staged files, so git add changed paths before switching.
| Command | What it does |
|---|---|
nix run .#switch | Build and apply the darwin (macOS) or Home Manager (Linux) config |
nix run .#build | Build without applying |
nix run .#fmt | Run treefmt (-- --fail-on-change is what CI runs) |
nix run .#update | Update every flake input |
nix run .#update-ai-tools | Update only the llm-agents input |
nix run .#update-node-packages | Refresh nix/packages/node/ |
nix run .#skills-sources-lock | Re-resolve the external skill pins in registry/sources/ |
nix run .#lazy2nix | Regenerate Nix-served lazy.nvim plugin sources from the lock |
nix run .#nvim-restore | Restore Neovim plugins from nvim/lazy-lock.json |
Scheduled GitHub Actions open PRs for flake inputs, overlays, node packages, and skill pins.
See the OmniWM configuration and keyboard workflow.
3,306 commits
3,074 commits
2,134 commits
4 commits
Nix
34.4%
Lua
33.2%
Shell
13.8%
Nushell
13.1%
TypeScript
5.4%
ryoppippi's dotfiles
262
stars
8,518
commits
Nix
primary language
Sep 10, 2026
updated
ryoppippi's dotfiles, managed as a Nix flake: nix-darwin plus Home Manager on macOS, standalone Home Manager on Linux.
flake.nix — inputs, apps, treefmt, and the darwin/home configurationsnix/modules/home/ — cross-platform Home Manager modules (packages, programs, dotfile symlinks)nix/modules/darwin/ — macOS system settings, Homebrew, OmniWMnix/modules/linux/ — Linux-only modulesnix/overlays/ — custom packages, also exposed as flake packagesnix/packages/node/ — Node packages built with Nixfish/, nvim/ — plain config, symlinked into place by Home Manageragents/skills/, agents/shared/ — skills and instruction fragments shared by Claude Code and Codexregistry/sources/ — pinned external skill repositoriesInstall Nix:
curl -sSfL https://artifacts.nixos.org/nix-installer | sh -s -- install --enable-flakes
Clone with ghq:
nix shell nixpkgs#ghq nixpkgs#git --command ghq get github.com/ryoppippi/dotfiles
cd "$(nix shell nixpkgs#ghq --command ghq root)/github.com/ryoppippi/dotfiles"
Sign in to the Mac App Store (open -a "App Store") so masApps can install.
Apply the configuration. This also installs Homebrew:
sudo xcodebuild -license accept
nix --accept-flake-config run .#switch
exec fish
curl --proto '=https' --tlsv1.2 -sSf -L https://install.nixos.org | sh -s -- install
nix shell nixpkgs#ghq nixpkgs#git --command ghq get github.com/ryoppippi/dotfiles
cd "$(nix shell nixpkgs#ghq --command ghq root)/github.com/ryoppippi/dotfiles"
nix run .#switch
If Nix hits the GitHub API rate limit, load a token into GITHUB_TOKEN from a
credential helper or password manager, then retry. Never paste the token into
the command line or commit it.
NIX_CONFIG="access-tokens = github.com=$GITHUB_TOKEN" \
nix --accept-flake-config run .#switch
Flakes only see tracked, staged files, so git add changed paths before switching.
| Command | What it does |
|---|---|
nix run .#switch | Build and apply the darwin (macOS) or Home Manager (Linux) config |
nix run .#build | Build without applying |
nix run .#fmt | Run treefmt (-- --fail-on-change is what CI runs) |
nix run .#update | Update every flake input |
nix run .#update-ai-tools | Update only the llm-agents input |
nix run .#update-node-packages | Refresh nix/packages/node/ |
nix run .#skills-sources-lock | Re-resolve the external skill pins in registry/sources/ |
nix run .#lazy2nix | Regenerate Nix-served lazy.nvim plugin sources from the lock |
nix run .#nvim-restore | Restore Neovim plugins from nvim/lazy-lock.json |
Scheduled GitHub Actions open PRs for flake inputs, overlays, node packages, and skill pins.
See the OmniWM configuration and keyboard workflow.
3,306 commits
3,074 commits
2,134 commits
4 commits
Nix
34.4%
Lua
33.2%
Shell
13.8%
Nushell
13.1%
TypeScript
5.4%