Skip to content

Latest commit

Β 

History

History
83 lines (64 loc) Β· 2.4 KB

File metadata and controls

83 lines (64 loc) Β· 2.4 KB

πŸš€ Diego's Nix Configuration

Welcome to my personal Nix configuration! This repository contains my system configuration using Nix, nix-darwin, and Home Manager. It's designed to make my development environment reproducible, maintainable, and delightful to use.

✨ Features

  • 🍎 macOS Integration via nix-darwin
  • 🏠 Home Manager for user environment configuration
  • πŸ–₯️ Window Management with Aerospace
  • 🧰 Development Tools
    • Neovim configuration
    • Docker setup
    • Kubernetes tools
    • Bun runtime
  • 🎨 Desktop Environment
    • Raycast for productivity
    • Ghostty terminal
    • Brave browser
    • Cursor IDE

πŸ—οΈ Structure

.
β”œβ”€β”€ flake.nix           # Flake configuration
β”œβ”€β”€ home/               # Home Manager configurations
β”‚   └── diegocaspi/    # Personal configurations
β”œβ”€β”€ hosts/             # Host-specific configurations
β”‚   └── nyxal/        # MacBook configuration
β”œβ”€β”€ lib/               # Custom Nix functions
└── modules/           # Shared Nix modules

πŸš€ Getting Started

  1. Install Nix:

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

    mkdir -p ~/.config/nix
    echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
  3. Clone and build:

    git clone https://github.com/diegocaspi/nix-config.git
    cd nix-config
    nix run nix-darwin -- switch --flake .#nyxal

⚑ Quick Tips

  • Rebuild system: darwin-rebuild switch --flake .#nyxal
  • Update flake: nix flake update
  • Clean old generations: nix-collect-garbage -d

πŸ› οΈ Customization

The configuration is organized into feature modules under home/diegocaspi/features/:

  • cli/: Command-line tools and utilities
  • desktop/: GUI applications and window management
  • global/: System-wide settings

πŸ“¦ Key Components

  • Window Management: Aerospace for efficient window management
  • Terminal: Ghostty for a modern terminal experience
  • Development:
    • Neovim as the primary editor
    • Docker for containerization
    • Kubernetes tools for container orchestration
    • Bun for JavaScript/TypeScript runtime

πŸ“ License

This project is licensed under the MIT License - feel free to use it as inspiration for your own Nix configuration!


Built with ❀️ using Nix