# 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, 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 ./fuzzel.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 ]; # Clipboard history (wl-paste watcher); browsed via the SUPER+CTRL+V # menu module. services.cliphist.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; home.stateVersion = "26.05"; home.packages = with pkgs; [ awww # wallpaper daemon with animated transitions (the swww fork) fuzzel # launcher / dmenu (used by the theme picker bind) libnotify ]; 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; }