DankMaterialShell1 adds app launcher, lock screen, bar and so on in
one consistent package.
dankMaterialShell = {
url = "github:AvengeMedia/DankMaterialShell";
inputs.nixpkgs.follows = "nixpkgs";
};
dmsPlugins = {
url = "github:AvengeMedia/dms-plugins";
flake = false;
};
dankCalculator = {
url = "github:rochacbruno/DankCalculator";
flake = false;
};
niriWindows = {
url = "github:rochacbruno/DankNiriWindows";
flake = false;
};
dms-emoji-launcher = {
url = "github:devnullvoid/dms-emoji-launcher";
flake = false;
};Greeter
{ pkgs, config, ... }:
{
imports = [ inputs.dankMaterialShell.nixosModules.greeter ];
programs.dankMaterialShell.greeter = {
enable = true;
compositor.name = "niri";
};
}Configuration
inputs.dankMaterialShell.homeModules.dankMaterialShell.default
inputs.dankMaterialShell.homeModules.dankMaterialShell.niri{
lib,
pkgs,
config,
nixosConfig,
...
}:
{
programs.dankMaterialShell = {
enable = true;
niri = {
enableKeybinds = true;
enableSpawn = true;
};
default = {
settings = {
acMonitorTimeout = 300;
acLockTimeout = 305;
lockBeforeSuspend = true;
useAutoLocation = true;
showWorkspaceApps = true;
fontFamily = config.stylix.fonts.sansSerif.name;
monoFontFamily = config.stylix.fonts.monospace.name;
controlCenterWidgets = [
{
id = "nightMode";
enabled = true;
width = 25;
}
{
id = "darkMode";
enabled = true;
width = 25;
}
{
id = "idleInhibitor";
enabled = true;
width = 25;
}
{
id = "doNotDisturb";
enabled = true;
width = 25;
}
{
id = "wifi";
enabled = true;
width = 50;
}
{
id = "bluetooth";
enabled = true;
width = 50;
}
{
id = "audioOutput";
enabled = true;
width = 50;
}
{
id = "audioInput";
enabled = true;
width = 50;
}
{
id = "volumeSlider";
enabled = true;
width = 50;
}
{
id = "brightnessSlider";
enabled = true;
width = 50;
}
];
};
session = {
wallpaperPath = config.stylix.image;
};
};
plugins = {
calculator.src = inputs.dankCalculator;
dankBatteryAlerts.src = "${inputs.dmsPlugins}/DankBatteryAlerts";
dankPomodoroTimer.src = "${inputs.dmsPlugins}/DankPomodoroTimer";
emojiLauncher.src = inputs.dms-emoji-launcher;
niriWindows.src = inputs.niriWindows;
};
};
xdg.configFile."DankMaterialShell/plugin_settings.json".source =
(pkgs.formats.json { }).generate "plugin_settings.json"
{
calculator.enabled = true;
dankBatteryAlerts.enabled = true;
dankPomodoroTimer.enabled = true;
emojiLauncher.enabled = true;
niriWindows.enabled = true;
};
}