{ config, lib, pkgs, inputs, self, ... }: let cfg = config.my.profiles.dank; in { imports = [ self.inputs.dank.nixosModules.dank-material-shell ]; options.my.profiles.dank.enable = lib.mkEnableOption "DankMaterialShell on niri"; config = lib.mkIf cfg.enable { # Dependency: declarative user config comes from home-manager. my.profiles.home-manager.enable = true; # System side: niri Wayland session + DMS daemons/packages. programs.niri.enable = true; programs.dank-material-shell = { enable = true; systemd.enable = true; quickshell.package = pkgs.unstable.quickshell; }; # Home side: DMS shell + niri keybinds/spawn for finn. home-manager.users.finn = { imports = [ inputs.niri.homeModules.niri inputs.dank.homeModules.dank-material-shell inputs.dank.homeModules.niri ]; programs.dank-material-shell = { enable = true; systemd.enable = true; quickshell.package = pkgs.unstable.quickshell; niri.enableKeybinds = true; niri.enableSpawn = true; }; home.stateVersion = "26.05"; }; }; }