Skip to content

fveracoechea/nix-dotfiles

Repository files navigation

💻 Development Environment Configuration

A comprehensive NixOS/nix-darwin dotfiles configuration providing a consistent and optimized development experience across macOS and Linux systems using Nix flakes.

image

image

🎯 Main Features

  • Keyboard Focused: Efficient tiling window management with Hyprland
  • Minimal Distractions: Clean, focused interface design
  • Configuration as Code: Everything managed through Nix flakes
  • Highly Customizable: Modular configuration with easy customization
  • Reproducible: Identical environments across multiple machines
  • Cross-Platform: Supports both NixOS and macOS (nix-darwin)

🖥️ Supported Systems

  • NixOS Desktop (nixos-desktop): x86_64-linux gaming/development setup
  • MacBook Pro (macbook-pro): aarch64-darwin mobile development environment

🛠️ Core Tooling

System & Package Management

  • Nix Flakes: Reproducible package management and system configuration
  • Home Manager: User environment management
  • Stylix: System-wide color scheme and styling

Window Management & Desktop

  • Hyprland: Dynamic tiling Wayland compositor
  • Ultrashell: Feature-rich status bar
  • SDDM: Display manager (NixOS)
  • Ghostty: Fast, GPU-accelerated terminal emulator

Development Environment

  • Neovim: Extensible text editor with custom configuration
  • TMUX: Terminal multiplexer with custom scripts
  • Zsh + Oh My Posh: Enhanced shell experience
  • LazyGit: Terminal UI for Git operations
  • Yazi: Blazing fast terminal file manager

Additional Tools

  • Volta: JavaScript toolchain manager
  • Bat: Enhanced cat with syntax highlighting
  • Fuzzel: Application launcher for Wayland
  • Karabiner Elements: Keyboard customization (macOS)

🎨 Theming

  • Catppuccin: Consistent soothing pastel theme across all applications
  • Custom wallpapers: Curated collection in wallpapers/ directory
  • System-wide styling: Managed through Stylix for consistent appearance

🚀 Installation

  1. Clone the repository:

    git clone https://github.com/fveracoechea/dotfiles.git ~/.config/dotfiles
    cd ~/.config/nixos
  2. Apply configuration:

    For NixOS:

    sudo nixos-rebuild switch --flake .#nixos-desktop

    For macOS:

    darwin-rebuild switch --flake .#macbook-pro
  3. Test configuration (optional):

    # NixOS
    sudo nixos-rebuild test --flake .#nixos-desktop
    
    # macOS
    darwin-rebuild check --flake .#macbook-pro

📁 Repository Structure

├── hosts/                    # Host-specific configurations
│   ├── nixos-desktop/       # NixOS desktop configuration
│   └── macbook-pro/         # macOS configuration
├── modules/                  # Reusable configuration modules
│   ├── nixos/               # NixOS-specific modules
│   ├── darwin/              # macOS-specific modules
│   └── home-manager/        # User environment modules
├── packages/                # Custom packages and scripts
│   └── scripts/             # TypeScript utility scripts
├── utils/                   # Utility functions
├── wallpapers/              # Wallpaper collection
└── flake.nix               # Main flake configuration

📄 License

This configuration is provided as-is for educational and personal use.

About

Dotfiles configuration using Nix and Home-manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages