ryoppippi/dotfiles

ryoppippi's dotfiles

262

stars

8,518

commits

Nix

primary language

Sep 10, 2026

updated

Browse cluster: Neovim Plugin Development & LuaRocks

README

dotfiles

DeepWiki

ryoppippi's dotfiles, managed as a Nix flake: nix-darwin plus Home Manager on macOS, standalone Home Manager on Linux.

Layout

  • flake.nix — inputs, apps, treefmt, and the darwin/home configurations
  • nix/modules/home/ — cross-platform Home Manager modules (packages, programs, dotfile symlinks)
  • nix/modules/darwin/ — macOS system settings, Homebrew, OmniWM
  • nix/modules/linux/ — Linux-only modules
  • nix/overlays/ — custom packages, also exposed as flake packages
  • nix/packages/node/ — Node packages built with Nix
  • fish/, nvim/ — plain config, symlinked into place by Home Manager
  • agents/skills/, agents/shared/ — skills and instruction fragments shared by Claude Code and Codex
  • registry/sources/ — pinned external skill repositories

Setup

macOS

  1. Install Nix:

    curl -sSfL https://artifacts.nixos.org/nix-installer | sh -s -- install --enable-flakes
    
  2. 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"
    
  3. Sign in to the Mac App Store (open -a "App Store") so masApps can install.

  4. Apply the configuration. This also installs Homebrew:

    sudo xcodebuild -license accept
    nix --accept-flake-config run .#switch
    exec fish
    

Linux

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

GitHub API rate limit

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

Daily Usage

Flakes only see tracked, staged files, so git add changed paths before switching.

CommandWhat it does
nix run .#switchBuild and apply the darwin (macOS) or Home Manager (Linux) config
nix run .#buildBuild without applying
nix run .#fmtRun treefmt (-- --fail-on-change is what CI runs)
nix run .#updateUpdate every flake input
nix run .#update-ai-toolsUpdate only the llm-agents input
nix run .#update-node-packagesRefresh nix/packages/node/
nix run .#skills-sources-lockRe-resolve the external skill pins in registry/sources/
nix run .#lazy2nixRegenerate Nix-served lazy.nvim plugin sources from the lock
nix run .#nvim-restoreRestore Neovim plugins from nvim/lazy-lock.json

Scheduled GitHub Actions open PRs for flake inputs, overlays, node packages, and skill pins.

Window Management

See the OmniWM configuration and keyboard workflow.

Stats

Alt

Contributors

ryoppippi

3,306 commits

renovate[bot]

3,074 commits

ryoppippi/dotfiles

ryoppippi's dotfiles

262

stars

8,518

commits

Nix

primary language

Sep 10, 2026

updated

Browse cluster: Neovim Plugin Development & LuaRocks

README

dotfiles

DeepWiki

ryoppippi's dotfiles, managed as a Nix flake: nix-darwin plus Home Manager on macOS, standalone Home Manager on Linux.

Layout

  • flake.nix — inputs, apps, treefmt, and the darwin/home configurations
  • nix/modules/home/ — cross-platform Home Manager modules (packages, programs, dotfile symlinks)
  • nix/modules/darwin/ — macOS system settings, Homebrew, OmniWM
  • nix/modules/linux/ — Linux-only modules
  • nix/overlays/ — custom packages, also exposed as flake packages
  • nix/packages/node/ — Node packages built with Nix
  • fish/, nvim/ — plain config, symlinked into place by Home Manager
  • agents/skills/, agents/shared/ — skills and instruction fragments shared by Claude Code and Codex
  • registry/sources/ — pinned external skill repositories

Setup

macOS

  1. Install Nix:

    curl -sSfL https://artifacts.nixos.org/nix-installer | sh -s -- install --enable-flakes
    
  2. 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"
    
  3. Sign in to the Mac App Store (open -a "App Store") so masApps can install.

  4. Apply the configuration. This also installs Homebrew:

    sudo xcodebuild -license accept
    nix --accept-flake-config run .#switch
    exec fish
    

Linux

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

GitHub API rate limit

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

Daily Usage

Flakes only see tracked, staged files, so git add changed paths before switching.

CommandWhat it does
nix run .#switchBuild and apply the darwin (macOS) or Home Manager (Linux) config
nix run .#buildBuild without applying
nix run .#fmtRun treefmt (-- --fail-on-change is what CI runs)
nix run .#updateUpdate every flake input
nix run .#update-ai-toolsUpdate only the llm-agents input
nix run .#update-node-packagesRefresh nix/packages/node/
nix run .#skills-sources-lockRe-resolve the external skill pins in registry/sources/
nix run .#lazy2nixRegenerate Nix-served lazy.nvim plugin sources from the lock
nix run .#nvim-restoreRestore Neovim plugins from nvim/lazy-lock.json

Scheduled GitHub Actions open PRs for flake inputs, overlays, node packages, and skill pins.

Window Management

See the OmniWM configuration and keyboard workflow.

Stats

Alt

Contributors

ryoppippi

3,306 commits

renovate[bot]

3,074 commits

Languages

Nix

34.4%

Lua

33.2%

Shell

13.8%

Nushell

13.1%

TypeScript

5.4%