{ 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; [ bibata-cursors gimp darktable ]; home-manager.sharedModules = [ inputs.self.modules.homeManager.scrolling-desktop ]; }; flake.modules.homeManager.scrolling-desktop = { pkgs, config, ... }: { services.polkit-gnome.enable = true; 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"; }; }; 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"; }; }; }