This repository contains my personal NixOS configuration using flakes and Home Manager for comprehensive system and user environment management.
These dotfiles provide a complete NixOS setup with:
- System Configuration: NixOS system-wide settings via
configuration.nix
- User Environment: Home Manager configuration in
home.nix
- Flake Management: Modern Nix flake setup with pinned inputs
- Custom Modules: Extended functionality through custom Home Manager modules
- Application Integration: Configured applications with seamless integration
configuration.nix
: System-wide NixOS configurationhome.nix
: Home Manager user environment configurationflake.nix
: Nix flake with inputs and system definitionsunstable-packages.nix
: Packages from nixpkgs unstable
config/
- Application configuration files (README)docs/
- Detailed documentation for all components (README)home-modules/
- Custom Home Manager modules (README)hosts/
- Host-specific hardware configurations (README)packages/
- Custom package definitions and Neovim configuration (README)
docs/configuration.md
: Core configuration detailsdocs/installation.md
: Setup and installation guidedocs/applications.md
: Application-specific configurationsdocs/himalaya.md
: Himalaya email client setup and configurationdocs/packages.md
: Package management and custom packagesdocs/unstable-packages.md
: Managing unstable channel packagesdocs/testing.md
: Testing and validation proceduresdocs/development.md
: Development notes and ISO building
For detailed installation instructions, see docs/installation.md
.
- Clone repository:
git clone <repo-url> ~/.dotfiles
- Build system:
sudo nixos-rebuild switch --flake .#hostname
- Apply user config:
home-manager switch --flake .#benjamin
- System changes: Edit
configuration.nix
- User environment: Edit
home.nix
- Package updates: Modify
flake.nix
inputs - Application configs: Update files in
config/
For comprehensive configuration details, see docs/configuration.md
.
Modern CLI email client with Gmail OAuth2 authentication and mbsync synchronization. Complete setup guide at docs/himalaya.md
.
Model Context Protocol integration for AI tools with Neovim. Architecture details in docs/applications.md
.
Custom Zathura and Sioyek configurations with title bar removal. Implementation details in docs/applications.md
.
Comprehensive Neovim setup with language servers and tools. Package details in packages/
.
For complete application configurations and setup instructions, see docs/applications.md
.
sudo nixos-rebuild switch --flake .#hostname
nix flake update
./update.sh
MIT