A comprehensive NixOS/nix-darwin dotfiles configuration providing a consistent and optimized development experience across macOS and Linux systems using Nix flakes.
- 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)
- NixOS Desktop (
nixos-desktop): x86_64-linux gaming/development setup - MacBook Pro (
macbook-pro): aarch64-darwin mobile development environment
- Nix Flakes: Reproducible package management and system configuration
- Home Manager: User environment management
- Stylix: System-wide color scheme and styling
- Hyprland: Dynamic tiling Wayland compositor
- Ultrashell: Feature-rich status bar
- SDDM: Display manager (NixOS)
- Ghostty: Fast, GPU-accelerated terminal emulator
- 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
- Volta: JavaScript toolchain manager
- Bat: Enhanced
catwith syntax highlighting - Fuzzel: Application launcher for Wayland
- Karabiner Elements: Keyboard customization (macOS)
- Catppuccin: Consistent soothing pastel theme across all applications
- Custom wallpapers: Curated collection in
wallpapers/directory - System-wide styling: Managed through Stylix for consistent appearance
-
Clone the repository:
git clone https://github.com/fveracoechea/dotfiles.git ~/.config/dotfiles cd ~/.config/nixos
-
Apply configuration:
For NixOS:
sudo nixos-rebuild switch --flake .#nixos-desktopFor macOS:
darwin-rebuild switch --flake .#macbook-pro -
Test configuration (optional):
# NixOS sudo nixos-rebuild test --flake .#nixos-desktop # macOS darwin-rebuild check --flake .#macbook-pro
├── 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
This configuration is provided as-is for educational and personal use.

