# Nomarchy — Home Manager entry point. # Consume this via homeModules.nomarchy (flake.nix), which also pulls in # the stylix home module that stylix.nix configures. { config, lib, pkgs, ... }: { imports = [ ./options.nix # the nomarchy.* option surface ./theme.nix # ingests theme-state.json, owns the live-sync hooks ./stylix.nix # GTK/Qt/cursor/fonts from the same JSON ./hyprland.nix ./waybar.nix ./ghostty.nix ./btop.nix ./rofi.nix # launcher theming + the nomarchy-menu dispatcher ./swaync.nix # notification daemon, themed from the same JSON ./idle.nix # hyprlock + hypridle, themed from the same JSON ./yazi.nix # flagship TUI file manager, themed + plugins ./osd.nix # swayosd volume/brightness OSD, themed ./nightlight.nix # scheduled blue-light filter (hyprsunset), opt-in ./timezone.nix # keep the Waybar clock in step with auto-timezone changes ./updates.nix # passive update-awareness indicator + notification, opt-in ./shell.nix # zsh + starship + bat/eza/zoxide, themed ./keys.nix # gpg-agent (fronts SSH) + pinentry-qt ./fastfetch.nix # system info with the themed Nomarchy logo ./viewers.nix # zathura (Stylix-themed) + imv — PDF/image viewing ./mime.nix # default applications (mimeapps.list), degrades with the suite ./recording.nix # nomarchy-record: screen recording behind Capture + the bar ⏺ ./battery-notify.nix # low-battery toasts at the bar's 25/10% thresholds ./satty.nix # satty screenshot annotation tool, themed ]; # Clipboard history (wl-paste watcher); browsed via the SUPER+CTRL+V # menu module. services.cliphist.enable = true; # Automount removable media (USB drives) and provide safe-removal notifications. services.udiskie.enable = true; # Microphone noise cancellation (rnnoise) and audio EQ. services.easyeffects.enable = true; # Wifi from the bar: nm-applet lives in waybar's tray (SNI flag via # preferStatusNotifierItems — without it there is no tray icon). services.network-manager-applet.enable = true; xsession.preferStatusNotifierItems = true; # Standard XDG user directories (Downloads, Documents, Pictures, Music, # Videos, Desktop, Public, Templates): written to user-dirs.dirs so file # pickers/browsers resolve them, and created on activation so a fresh # install lands with them present (not just on first app use). mkDefault # so a downstream home.nix can flip it off or remap individual paths. xdg.userDirs = { enable = lib.mkDefault true; createDirectories = lib.mkDefault true; }; home.stateVersion = lib.mkDefault "26.05"; home.packages = with pkgs; [ awww # wallpaper daemon with animated transitions (the swww fork) libnotify hyprpicker ]; home.sessionVariables = { TERMINAL = config.nomarchy.terminal; NIXOS_OZONE_WL = "1"; # Electron/Chromium native Wayland # Where the Nomarchy flake (and therefore theme-state.json) lives on # disk. nomarchy-theme-sync writes its state here; rebuilds read from # here. Clone/symlink your flake to this path. NOMARCHY_PATH = "$HOME/.nomarchy"; }; programs.home-manager.enable = true; }