rofi 2.0 landed in nixpkgs 26.05 with native Wayland (mainline upstreamed the lbonn rofi-wayland fork — `wayland enabled`), so the original reason to prefer fuzzel (rofi being X11-only / needing a community fork) is gone. rofi's `.rasi` is far more expressive than fuzzel's flat INI, which lets the launcher be a proper themed hero surface and revives the legacy per-theme launcher designs. - modules/home/rofi.nix replaces fuzzel.nix: per-element theme generated from theme-state.json (accent border, highlighted selection, rounded inputbar) via lib.formats.rasi.mkLiteral; themes/<slug>/rofi.rasi whole-swap; the nomarchy-menu dispatcher re-pointed to `rofi -dmenu` (power/theme/clipboard/calc with -mesg/files/web + root picker). - SUPER+D is now `rofi -show drun`; the menu binds are unchanged. - nomarchy.fuzzel.enable → nomarchy.rofi.enable; fuzzel dropped from home.packages. Pango handles nf-glyph fallback (no explicit font list needed as fuzzel's fcft did). show-icons off until an icon theme ships. Verified: flake check green, HM generation builds, the generated theme.rasi parses under `rofi -dump-theme`, Hyprland config verifies. Not verified: rofi's on-screen rendering needs a real session. Docs: README menu/override/roadmap sections and the module tree updated; the per-theme launcher roadmap item now points at porting the legacy rofi.rasi designs (the whole-swap mechanism is in place). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
49 lines
1.6 KiB
Nix
49 lines
1.6 KiB
Nix
# 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
|
|
./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
|
|
];
|
|
|
|
# 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)
|
|
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;
|
|
}
|