{ inputs, lib, config, pkgs, ... }: { options.nirihome = { enable = lib.mkEnableOption "Enable niri home config"; homePackages = lib.mkOption { default = []; description = "Add any additional packages desired. Merged with niri defaults."; }; }; config = lib.mkIf config.nirihome.enable { # Note: We don't use wayland.windowManager.niri in home-manager # because we manage the niri config through dotfiles. # The system-level module enables niri via programs.niri.enable # Import systemd variables for niri systemd.user.sessionVariables = { WAYLAND_DISPLAY = "wayland-1"; XDG_CURRENT_DESKTOP = "niri"; }; home.pointerCursor = { gtk.enable = true; x11.enable = true; name = "Bibata-Modern-Classic"; package = pkgs.bibata-cursors; size = 32; }; home.packages = with pkgs; lib.lists.flatten [ [ ### niri packages swaybg swaylock-effects waybar wofi # Etc gopsuinfo # For system stats in panel wl-clipboard # System clipboard brightnessctl wev wdisplays # Notifs libnotify swaynotificationcenter # Tray Applets networkmanagerapplet pavucontrol syncthingtray tailscale-systray # include portals here for flatpak xdg-desktop-portal-gnome xdg-desktop-portal-gtk ] config.nirihome.homePackages ]; programs.cava = { enable = true; settings = { smoothing.noise_reduction = 55; }; }; }; }