# Your user environment. The Nomarchy desktop (Hyprland, Waybar, # Ghostty, theming engine, Stylix) comes from homeModules.nomarchy; # tune it via the nomarchy.* options, add your own packages and # programs below. { pkgs, ... }: { # ── Overrides (the desktop is on by default; tweak or opt out) ────── # nomarchy.terminal = "kitty"; # swap the default terminal # nomarchy.waybar.enable = false; # bring your own bar # nomarchy.stylix.enable = false; # opt out of GTK/Qt theming # nomarchy.keyboard.layout = "de"; # session keyboard (set the matching # # services.xserver.xkb.layout in # # system.nix too; the console + LUKS # # prompt follow it automatically) # ── Opt-in features — uncomment and tweak to enable ───────────────── # nomarchy.nightlight = { # scheduled blue-light filter (hyprsunset) # enable = true; # declarative opt-in (or just enable it from # # the menu: System › Night light) # temperature = 4000; # night warmth in K — lower is warmer # sunset = "20:00"; # sunrise = "07:00"; # }; # # nomarchy.updates = { # passive update-awareness indicator + notification # enable = true; # interval = "daily"; # how often to check (systemd OnCalendar) # flatpak = true; # also count Flatpak updates when flatpak is on # }; # # nomarchy.monitors = [ # declarative per-output layout, hotplug-applied # { name = "eDP-1"; position = "0x0"; } # { name = "HDMI-A-1"; position = "auto-right"; } # ]; # names from `hyprctl devices` # # nomarchy.launchOrFocus = [ # SUPER+ focuses the app's window, # { key = "B"; class = "firefox"; } # or launches it if none is open; # { key = "O"; class = "obsidian"; }# rows appear in the SUPER+? cheatsheet # ]; # (class from `hyprctl clients`) # # nomarchy.displayProfiles = { # named layouts for the SAME outputs — # docked = [ # switch: System › Display › Profiles # { name = "eDP-1"; resolution = "disable"; } # { name = "DP-3"; position = "0x0"; } # { name = "DP-4"; position = "auto-right"; } # ]; # undocked = [ { name = "eDP-1"; position = "0x0"; } ]; # }; # applied instantly + remembered in the # # flake state (settings.displayProfile); # # the menu's Auto-switch row makes dock/ # # undock pick the matching profile # # nomarchy.keyboard.devices = { # a specific keyboard's own layout # "keychron-keychron-k2" = { layout = "de"; }; # }; # # nomarchy.keyboard.layouts = [ "de" "fr" ]; # rofi-prompt for a layout when a new # # keyboard connects + remember it in the # # flake state (graduates to .devices above) # ── Application suite ─────────────────────────────────────────────── # A starter complete-workstation set, installed for your user — yours to # curate. Delete a line to slim the machine; uncomment a suggestion (or # add your own) to extend it. The desktop itself — terminal, editor # keybinds, theming — comes from the modules; these are the heavier # standalone apps the distro doesn't impose by default. # # Apps that need system setup beyond a package (Steam's 32-bit stack, # a daemon, group membership, a kernel module) are NOT here — they're # opt-in service toggles in system.nix instead (nomarchy.services.* — # steam, libvirt, obs, docker, gamemode, kdeconnect, adb, wireshark, # ollama, printing). home.packages = with pkgs; [ libreoffice-fresh # office suite (documents, sheets, slides) vscode # code editor (unfree; allowUnfree is on) gimp # raster image editor inkscape # vector graphics mpv # media player amberol # music player (local library; streaming → spotify below) # ── More apps — uncomment to add ───────────────────────────────── # Web browsers # firefox # chromium # ungoogled-chromium # brave # (unfree) # google-chrome # (unfree) # Communication # signal-desktop # telegram-desktop # element-desktop # Matrix # vesktop # Discord (themeable client) # slack # (unfree) # zoom-us # (unfree) # teams-for-linux # community client (no official Linux app) # thunderbird # email # Office & documents # onlyoffice-desktopeditors # stronger MS-Office fidelity # kdePackages.okular # heavier PDF viewer (zathura ships by default) # xournalpp # PDF annotation # pdfarranger # calibre # ebook library # texliveFull # full LaTeX toolchain — multi-GB (texliveMedium is lighter) # Notes / research # logseq # obsidian # (unfree) # joplin-desktop # anki-bin # flashcards # zotero # reference manager # Code & data # zed-editor # lazygit # dbeaver-bin # database GUI # bruno # API client # distrobox # containerized dev shells # Graphics & design # krita # digital painting # blender # 3D # darktable # RAW photo # Audio / video # audacity # shotcut # video editor # kdePackages.kdenlive # video editor (pulls in KDE libs) # handbrake # transcoder # Webcam tuning (rarely needed — the distro's IR-hide covers the # common dual-sensor problem; these are for genuine tuning cases) # cameractrls # GUI for exposure/focus/zoom, saves per-camera presets # v4l-utils # v4l2-ctl CLI: list formats, poke controls directly # Media # vlc # spotify # (unfree) # newsflash # RSS reader # Gaming (Steam + GameMode are service toggles in system.nix) # lutris # heroic # Epic/GOG launcher # bottles # Wine prefixes # prismlauncher # Minecraft # protonup-qt # Proton-GE manager # mangohud # in-game overlay # Files, sync & torrents # nextcloud-client # localsend # AirDrop-like transfer # qbittorrent # Security # keepassxc # bitwarden-desktop # System # gnome-disk-utility # gparted # baobab # disk usage # wireguard-tools # WireGuard CLI (NetworkManager imports .conf tunnels natively) # Local AI (Ollama is a service toggle in system.nix) # lmstudio # (unfree; large closure) # alpaca # GTK Ollama UI ]; }