Zanoni's Desktop Configs
Welcome to my dotfiles! This repository contains my desktop environment setup for both NixOS and Ubuntu. It's built with Nix Flakes and Home Manager.
showcase-desktop-cut-compressed.mp4
Got NixOS from the installer? Perfect. Here's how to deploy this flake:
Quick Start for: ❄️ NixOS Users
cd ~
git clone https://github.com/castrozan/.dotfiles.git
cd .dotfilesReplace your_host with your machine's identifier (e.g., dellg15):
sudo nixos-generate-config --dir hosts/your_host/configs- Copy and modify a user directory from
users/(usezanonias template) - Update
flake.nixto add your configuration innixosConfigurations
sudo nixos-rebuild switch --flake .#your_user- Restart your system (recommended)
- Enjoy your new setup! 🎉
Don't wanna go full NixOS for now? No worries! You can still use the flake with Home Manager to manage your dotfiles:
Quick Start for: 🐧 Ubuntu/Non-NixOS systems
cd ~
git clone https://github.com/castrozan/.dotfiles.git
cd .dotfilescurl -L https://nixos.org/nix/install | sh -s -- --daemon# For the lucas.zanoni configuration (adjust username as needed)
nix run home-manager/release-25.11 -- --flake .#lucas.zanoni@x86_64-linux switch -b "backup-$(date +%Y-%m-%d-%H-%M-%S)"📦 mermaid
Here's how everything fits together:
graph TD
subgraph "flake.nix"
Flake["Entry Point<br/>defines configs"]
end
subgraph "NixOS Configuration"
NixOS["nixosConfigurations.zanoni"]
Host["hosts/dellg15<br/>hardware config"]
UserNixOS["users/zanoni/nixos.nix"]
end
subgraph "Home Manager Configuration"
HomeStandalone["homeConfigurations<br/>lucas.zanoni@x86_64-linux"]
UserHome["users/*/home.nix"]
Modules["home/modules/*<br/>app configs"]
end
subgraph "External Inputs"
Nixpkgs["nixpkgs-25.11"]
Unstable["nixpkgs-unstable"]
HM["home-manager"]
end
Flake --> NixOS
Flake --> HomeStandalone
NixOS --> Host
NixOS --> UserNixOS
NixOS --> HM
HomeStandalone --> UserHome
UserHome --> Modules
Flake --> Nixpkgs
Flake --> Unstable
style Flake fill:#f38ba8,color:#1e1e2e
style NixOS fill:#a6e3a1,color:#1e1e2e
style HomeStandalone fill:#89b4fa,color:#1e1e2e
style Nixpkgs fill:#f9e2af,color:#1e1e2e
style HM fill:#cba6f7,color:#1e1e2e
📂 Structure
.dotfiles/
├── .bashrc # Main shell configuration (i'm using fish with bass)
├── .config/ # Application configs (hypr, kitty, tmux, nvim, etc.)
├── bin/ # Custom shell scripts & utilities
├── home/ # Home Manager shared modules
├── hosts/ # NixOS hosts configuration
├── nixos/ # NixOS shared system modules
├── users/ # User-specific configurations
│ ├── lucas.zanoni/ # Home Manager standalone config (Ubuntu/non-NixOS)
│ └── zanoni/ # Full NixOS system config
├── flake.nix # Nix Flakes entry point
├── Makefile # Helper commands
└── README.md # This file!
Explore options for configurations directly from the repl so it is up to date with the rebuild command.
nix replThen in the REPL:
:lf .#homeConfigurations.lucas.zanoni@x86_64-linux
builtins.attrNames config.options.xdg.desktopEntries.type.getSubOptionsOr to see option descriptions:
config.options.xdg.desktopEntries.descriptionPre-generated, AI-consumable codebase documentation lives in docs/ai-context/. These docs are designed for AI agents to quickly understand the repository without reading all source files.
# Full regeneration (all doc types)
~/openclaw/monster/projects/codewiki/generate.sh ~/.dotfiles
# Partial — only specific areas
~/openclaw/monster/projects/codewiki/generate.sh --focus architecture,modules ~/.dotfiles
# Auto-detect from git diff
~/openclaw/monster/projects/codewiki/generate.sh --diff ~/.dotfilesRegenerate after large refactors, new modules, or directory reorganization. Minor changes don't need regeneration.
This setup is inspired by and borrows from:
- ryan4yin/nix-config - Excellent complex Nix configurations
- OfflineBot/nixos - Clean NixOS setup
- The amazing NixOS and Home Manager communities
- And countless other dotfiles repos I've stumbled upon at 3 AM 🌙
- NixOS Manual - Official documentation
- Home Manager Manual - Home Manager docs
- Nix Pills - Learn Nix the fun way
- NixOS & Flakes Book - Comprehensive guide
Enjoy ricing and happy hacking! If you like this setup, consider giving it a ⭐





