{ inputs, ... }: { flake.modules.nixos.scrolling-desktop = { pkgs, ... }: { programs.niri.enable = true; security.polkit.enable = true; services.gnome.gnome-keyring.enable = true; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gnome ]; }; services.gvfs.enable = true; services.displayManager = { enable = true; ly = { enable = true; settings = { asterisk = "0x2022"; bigclock = "en"; default_input = "password"; doom_fire_height = 1; doom_top_color = "0x00c57faf"; doom_middle_color = "0x00d369af"; doom_bottom_color = "0x00572454"; session_log = ".local/share/ly-session.log"; vi_mode = true; vi_default_mode = "insert"; bg = "0x000f0b15"; border_fg = "0x00807c9f"; box-title = "dnsc-machine"; }; }; }; environment.systemPackages = with pkgs; [ xwayland-satellite bibata-cursors gimp darktable reversal-icon-theme nerd-fonts.victor-mono adwaita-fonts bodoni-moda nautilus nautilus-open-any-terminal noto-fonts-color-emoji adw-gtk3 kdePackages.qt6ct usbutils ]; home-manager.sharedModules = [ inputs.self.modules.homeManager.scrolling-desktop ]; }; flake.modules.homeManager.scrolling-desktop = { pkgs, config, ... }: { services.polkit-gnome.enable = true; services.mpris-proxy.enable = true; services.udiskie = { enable = true; settings = { program_options = { file_manager = "${pkgs.nautilus}/bin/nautilus"; }; }; }; xdg.desktopEntries = { screenshot = { type = "Application"; name = "Screenshot"; exec = "niri msg action screenshot"; icon = "screenie"; }; screenshot-screen = { type = "Application"; name = "Screenshot Screen"; exec = "niri msg action screenshot-screen"; icon = "screenie"; }; color-pickers = { type = "Application"; name = "Color Picker"; exec = "hyprpicker -a -f=hex -n -l -q"; icon = "colorpicker"; }; notes = { type = "Application"; name = "Notes"; exec = "ghostty --working-directory=${config.home.homeDirectory}/notes -e nvim -c \":lua Snacks.picker('files')\""; icon = "gnotes"; }; lock = { type = "Application"; name = "Lock"; exec = "hyprlock"; icon = "lock-screen"; }; logout = { type = "Application"; name = "Logout"; exec = "niri msg action quit"; icon = "administration"; }; shutdown = { type = "Application"; name = "Shutdown"; exec = "shutdown now"; icon = "com.github.bcedu.shutdownscheduler"; }; }; fonts.fontconfig = { enable = true; antialiasing = true; defaultFonts = { monospace = [ "VictorMono Nerd Font" ]; sansSerif = [ "Adwaita Sans" "Noto Color Emoji" ]; serif = [ "Bodoni Moda" ]; }; }; gtk = { enable = true; colorScheme = "dark"; theme.name = "adw-gtk3"; font = { package = pkgs.adwaita-fonts; name = "Adwaita Sans"; size = 11; }; iconTheme = { package = pkgs.reversal-icon-theme; name = "Reversal-dark"; }; gtk4.iconTheme = { package = pkgs.reversal-icon-theme; name = "Reversal-dark"; }; cursorTheme = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 24; }; }; imports = [ inputs.dms.homeModules.dank-material-shell ]; programs.dank-material-shell = { enable = true; systemd = { enable = true; restartIfChanged = true; }; enableSystemMonitoring = true; enableVPN = true; enableClipboardPaste = true; settings = { theme = "dark"; }; session = { isLightMode = false; }; }; xdg.configFile."niri" = { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/wm/niri/config"; }; }; }