# DESKTOP FEATURES (home-manager) **Wayland/Hyprland environment with color-coordinated tooling** ## OVERVIEW 12 modular desktop features with nix-colors (Dracula) integration across all components. ## STRUCTURE ``` desktop/ ├── default.nix # Imports + XDG + Kitty config ├── coding.nix # Development tools (VSCode, etc.) ├── crypto.nix # Crypto wallets/tools ├── fonts.nix # Font packages ├── gaming.nix # Gaming tools/Steam ├── hyprland.nix # Hyprland WM configuration ├── media.nix # Media players/editors ├── office.nix # LibreOffice, document tools ├── rofi.nix # Application launcher ├── theme.nix # GTK/Qt theming ├── wayland.nix # Wayland utilities └── webapps.nix # Browser-based apps ``` ## WHERE TO LOOK | Task | Location | Notes | |------|----------|-------| | Add desktop app | Relevant feature .nix | Update home.packages | | Configure Hyprland | hyprland.nix | Window manager settings | | Fix colors | Check colorScheme references | Uses config.colorScheme.palette.base* | | Add font | fonts.nix | Increases system closure size | ## CONVENTIONS ### Color Scheme Integration All color-aware tools reference `config.colorScheme.palette.base00` through `base0F`: - **base00-07**: Grayscale (dark to light) - **base08**: Red/errors - **base09**: Orange - **base0A**: Yellow/strings - **base0B**: Green/functions - **base0C**: Cyan - **base0D**: Blue/types - **base0E**: Purple/constants - **base0F**: Brown Template: ```nix foreground = "#${config.colorScheme.palette.base05}"; background = "#${config.colorScheme.palette.base00}"; ``` ### Session Variables Set in default.nix for Wayland/Hyprland: ```nix NIXOS_OZONE_WL = "1"; QT_QPA_PLATFORM = "wayland"; XDG_CURRENT_DESKTOP = "Hyprland"; ``` ### XDG Defaults - **PDF**: okular - **Text**: nvim - **Browser**: Zen (io.github.zen_browser.zen) - **Archive**: file-roller ## ANTI-PATTERNS - **DON'T** hardcode hex colors - use colorScheme palette - **DON'T** install fonts globally - keep in user packages - **DON'T** bypass XDG defaults - set in mimeApps ## NOTES - Kitty terminal configured in default.nix (not separate file) - Bibata-Modern-Ice cursor theme hardcoded - Session path includes cargo, npm-global, bun - Desktop features are always-enabled (no feature flags in this dir)