{ ... }: { flake.nixosModules.desktopShellDmsOptions = { lib, ... }: { options.chiasson.desktop.shells.dms = { enableGpuTemp = lib.mkOption { type = lib.types.bool; default = true; description = "GPU temp in DMS bar."; }; obsidianVaults = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; example = [ "/mnt/zimaos/Obsidian/Home/.obsidian" ]; description = "Vault `.obsidian/` dirs; matugen writes `/snippets/matugen.css`."; }; extraRightBarWidgets = lib.mkOption { type = lib.types.listOf lib.types.attrs; default = [ ]; description = "Extra right-bar widgets merged into the first-run DMS settings seed."; }; rebuildCommand = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = [ "sudo" "nixos-rebuild" "switch" "--flake" ".#14900k" ]; description = "Command used by DMS nix-monitor widget for rebuild actions."; }; defaultSeedDir = lib.mkOption { type = lib.types.nullOr lib.types.path; default = null; example = ./dms-defaults; description = '' Host-specific first-run DMS config seed directory. When set, copies `settings.json` (required) and `plugin_settings.json` (optional) from this directory into `~/.config/DankMaterialShell/` on fresh profiles. Replaces the bundled `default-settings.nix` template for `settings.json`. ''; }; bundleThirdPartyPlugins = lib.mkOption { type = lib.types.bool; default = true; description = '' Install bundled DMS plugins from flake inputs (third-party + chiasson). Disable individual plugins in DMS settings; set this to false to skip all bundled plugins. ''; }; }; }; flake.homeManagerModules.desktopShellDms = import ./_private/hm.nix; }