feat: add DankMaterialShell home module

This commit is contained in:
2026-06-01 19:50:33 +02:00
parent 4e1b39f443
commit 7f80fd8a75
7 changed files with 70 additions and 4 deletions
+6 -3
View File
@@ -177,6 +177,7 @@ base.secrets.enable # pass-wayland, pinentry
desktop.wm.hyprland.enable # Hyprland window manager
desktop.wm.rofi.enable # Rofi launcher
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
desktop.wm.dms.enable # DankMaterialShell desktop shell
desktop.apps.obsidian.enable # Obsidian
desktop.apps.office.enable # LibreOffice
desktop.apps.crypto.enable # Bisq2, Monero, Trezor
@@ -244,9 +245,11 @@ source = "${config."m3ta-home".paths.srcRoot}/assets/wallpapers";
| `nixpkgs` | Package set (follows nixos-config's nixpkgs) |
| `home-manager` | Home-Manager modules |
| `nix-colors` | Dracula theme palette (used everywhere) |
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
| `agenix` | Secret management |
| `NUR` | Additional packages |
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
| `dms` | DankMaterialShell Home-Manager module and package |
| `dms-plugin-registry` | DankMaterialShell plugin sources |
| `agenix` | Secret management |
| `NUR` | Additional packages |
## Important Notes
Generated
+21
View File
@@ -157,6 +157,26 @@
"type": "github"
}
},
"dms-plugin-registry": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1780281921,
"narHash": "sha256-ZDsDl7lTOfM+Le2l6gDyEP3o+KHR3TUCkuxd9hQaLro=",
"owner": "AvengeMedia",
"repo": "dms-plugin-registry",
"rev": "ee4eeacce5a7041ed39f8cd7fe64b6e0e888e73b",
"type": "github"
},
"original": {
"owner": "AvengeMedia",
"repo": "dms-plugin-registry",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -425,6 +445,7 @@
"agent-lib": "agent-lib",
"agents": "agents",
"dms": "dms",
"dms-plugin-registry": "dms-plugin-registry",
"home-manager": "home-manager_2",
"m3ta-nixpkgs": "m3ta-nixpkgs",
"nix-colors": "nix-colors",
+5
View File
@@ -32,6 +32,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
dms-plugin-registry = {
url = "github:AvengeMedia/dms-plugin-registry";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix.url = "github:ryantm/agenix";
nur.url = "github:nix-community/NUR";
+6 -1
View File
@@ -19,7 +19,10 @@
# m3ta.home.sets.coding.languages.python.extra = true;
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
#
{inputs, selfPath}: let
{
inputs,
selfPath,
}: let
lib = inputs.nixpkgs.lib;
in {
mkHome = {
@@ -82,6 +85,8 @@ in {
[
# External Home Manager modules required by selectable profiles
inputs.agent-lib.homeManagerModules.default
inputs.dms.homeModules.default
inputs.dms-plugin-registry.homeModules.default
# Paths module — must be first, provides m3taHome.paths.srcRoot
../modules/paths.nix
+2
View File
@@ -15,6 +15,8 @@ in {
imports = [
# External modules
inputs.agent-lib.homeManagerModules.default
inputs.dms.homeModules.default
inputs.dms-plugin-registry.homeModules.default
# Paths — must be first, provides "m3ta-home".paths.srcRoot
./paths.nix
+1
View File
@@ -4,5 +4,6 @@
./hyprland.nix
./wayland.nix
./rofi.nix
./dms.nix
];
}
+29
View File
@@ -0,0 +1,29 @@
# DankMaterialShell user-session configuration.
# External DMS Home-Manager modules are imported by mkHome/modules/default.nix
# so this file only owns the m3ta-home feature flag and desired defaults.
{
config,
lib,
...
}:
with lib; let
cfg = config.desktop.wm.dms;
in {
options.desktop.wm.dms.enable = mkEnableOption "DankMaterialShell desktop shell";
config = mkIf cfg.enable {
programs.dank-material-shell = {
enable = true;
systemd.enable = true;
enableDynamicTheming = true;
enableClipboardPaste = true;
plugins = {
dankBatteryAlerts.enable = true;
emojiLauncher.enable = true;
dankPomodoroTimer.enable = true;
dankVault.enable = true;
};
};
};
}