feat: add DankMaterialShell home module
This commit is contained in:
@@ -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
@@ -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",
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
./hyprland.nix
|
||||
./wayland.nix
|
||||
./rofi.nix
|
||||
./dms.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user