Add DMS configuration enhancements and new default settings
- 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.
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# 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;
|
||||
}
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user