17337b9675
- Introduced a new private default settings file for Dank Material Shell (DMS) to manage user-specific settings. - Updated DMS home-manager module to generate a settings seed file, merging extra right-bar widgets into the first-run configuration. - Added support for dynamic inclusion of DMS window rules based on user configuration. - Enhanced the Niri configuration with a preference for no client-side decorations and improved keybindings for bar toggling.
109 lines
2.2 KiB
Nix
109 lines
2.2 KiB
Nix
# Defaults written once to ~/.config/DankMaterialShell/settings.json on first login.
|
|
# After that, DMS settings are owned by the UI — rebuilds do not overwrite them.
|
|
{
|
|
lib,
|
|
gpuTempEnabled ? true,
|
|
extraRightBarWidgets ? [ ],
|
|
}:
|
|
let
|
|
gpuTempBarWidget = {
|
|
id = "gpuTemp";
|
|
enabled = true;
|
|
selectedGpuIndex = 0;
|
|
pciId = "10de:1f07";
|
|
};
|
|
in
|
|
{
|
|
theme = "dark";
|
|
dynamicTheming = true;
|
|
currentThemeName = "dynamic";
|
|
matugenScheme = "scheme-tonal-spot";
|
|
runUserMatugenTemplates = true;
|
|
matugenTemplateVesktop = false;
|
|
showDock = false;
|
|
gtkThemingEnabled = true;
|
|
qtThemingEnabled = true;
|
|
terminalsAlwaysDark = true;
|
|
syncModeWithPortal = true;
|
|
configVersion = 5;
|
|
|
|
barConfigs = [
|
|
{
|
|
id = "default";
|
|
name = "Main Bar";
|
|
enabled = true;
|
|
position = 0;
|
|
screenPreferences = [ "all" ];
|
|
showOnLastDisplay = true;
|
|
|
|
leftWidgets =
|
|
[
|
|
{
|
|
id = "launcherButton";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "nixMonitor";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "cpuUsage";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "cpuTemp";
|
|
enabled = true;
|
|
}
|
|
]
|
|
++ lib.optionals gpuTempEnabled [ gpuTempBarWidget ]
|
|
++ [
|
|
{
|
|
id = "memUsage";
|
|
enabled = true;
|
|
}
|
|
];
|
|
|
|
centerWidgets = [
|
|
{
|
|
id = "workspaceSwitcher";
|
|
enabled = true;
|
|
}
|
|
];
|
|
|
|
rightWidgets = extraRightBarWidgets
|
|
++ [
|
|
{
|
|
id = "systemTray";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "notificationButton";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "battery";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "controlCenterButton";
|
|
enabled = true;
|
|
}
|
|
{
|
|
id = "clock";
|
|
enabled = true;
|
|
clockCompactMode = false;
|
|
}
|
|
];
|
|
|
|
spacing = 0;
|
|
innerPadding = 4;
|
|
bottomGap = 0;
|
|
transparency = 1;
|
|
widgetTransparency = 0.45;
|
|
squareCorners = true;
|
|
maximizeDetection = true;
|
|
visible = true;
|
|
}
|
|
];
|
|
}
|