Skip to content

ryoppippi/dotfiles

Repository files navigation

dotfiles

DeepWiki

Nix Configuration

This repository uses Nix with a modular structure for managing system configuration and dotfiles across macOS and Linux.

Module Structure

The configuration is organised into modular files:

  • flake.nix - Main entry point with inputs/outputs
  • nix/home.nix - Home Manager configuration (cross-platform)
    • Dotfiles symlinks using home.file
    • User package list
    • Platform-specific packages via pkgs.stdenv.isDarwin
  • nix/darwin.nix - macOS system configuration (nix-darwin)
    • System settings and user configuration
    • Homebrew packages (taps, brews, casks, masApps)
  • nix/overlays.nix - Package overlays for AI tools

Initial Setup

macOS

  1. Install Determinate Nix:

    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
  2. Clone this repository:

    git clone https://github.com/ryoppippi/dotfiles.git ~/ghq/github.com/ryoppippi/dotfiles
    cd ~/ghq/github.com/ryoppippi/dotfiles
  3. Apply the nix-darwin configuration (this will also install Homebrew automatically):

    sudo nix run nix-darwin -- switch --flake .#ryoppippi
  4. Reload your shell:

    exec fish

Linux

  1. Install Nix (if not already installed):

    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
  2. Clone this repository:

    git clone https://github.com/ryoppippi/dotfiles.git ~/ghq/github.com/ryoppippi/dotfiles
    cd ~/ghq/github.com/ryoppippi/dotfiles
  3. Apply Home Manager configuration:

    nix run .#switch

Daily Usage

After modifying configuration files (flake.nix, nix/home.nix, nix/darwin.nix):

# Apply changes (macOS or Linux)
nix run .#switch

# Update dependencies (macOS only)
nix run .#update

# Test build without applying
nix run .#build

Available Nix Apps

macOS

  • nix run .#switch - Build and apply darwin + Home Manager configuration
  • nix run .#update - Update flake.lock dependencies
  • nix run .#update-ai-tools - Update llm-agents and claude-code-overlay inputs
  • nix run .#build - Build configuration (dry run)

Linux

  • nix run .#switch - Build and apply Home Manager configuration
  • nix run .#build - Build configuration (dry run)

Dotfiles Management

All dotfiles are managed via Home Manager's home.file with symlinks to the repository:

  • Symlinks are automatically created on nix run .#switch
  • Dotfiles remain mutable in the repository
  • No separate dotfiles CLI needed

Managed by Nix

  • AI Development Tools: claude-code, codex, cursor-agent, opencode, copilot-cli, coderabbit-cli
  • Core Tools: git, neovim, fish, tmux, ripgrep, fd, fzf, bat, eza, and more
  • Development: Go, Node.js, Bun, Deno, language servers
  • System Configuration (macOS): Touch ID for sudo, Homebrew integration

Stats

Alt

About

ryoppippi's dotfiles

Resources

License

Stars

Watchers

Forks

Packages

No packages published