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.hyprland.enable # Hyprland window manager
|
||||||
desktop.wm.rofi.enable # Rofi launcher
|
desktop.wm.rofi.enable # Rofi launcher
|
||||||
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
|
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
|
||||||
|
desktop.wm.dms.enable # DankMaterialShell desktop shell
|
||||||
desktop.apps.obsidian.enable # Obsidian
|
desktop.apps.obsidian.enable # Obsidian
|
||||||
desktop.apps.office.enable # LibreOffice
|
desktop.apps.office.enable # LibreOffice
|
||||||
desktop.apps.crypto.enable # Bisq2, Monero, Trezor
|
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) |
|
| `nixpkgs` | Package set (follows nixos-config's nixpkgs) |
|
||||||
| `home-manager` | Home-Manager modules |
|
| `home-manager` | Home-Manager modules |
|
||||||
| `nix-colors` | Dracula theme palette (used everywhere) |
|
| `nix-colors` | Dracula theme palette (used everywhere) |
|
||||||
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
|
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
|
||||||
| `agenix` | Secret management |
|
| `dms` | DankMaterialShell Home-Manager module and package |
|
||||||
| `NUR` | Additional packages |
|
| `dms-plugin-registry` | DankMaterialShell plugin sources |
|
||||||
|
| `agenix` | Secret management |
|
||||||
|
| `NUR` | Additional packages |
|
||||||
|
|
||||||
## Important Notes
|
## Important Notes
|
||||||
|
|
||||||
|
|||||||
Generated
+21
@@ -157,6 +157,26 @@
|
|||||||
"type": "github"
|
"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": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@@ -425,6 +445,7 @@
|
|||||||
"agent-lib": "agent-lib",
|
"agent-lib": "agent-lib",
|
||||||
"agents": "agents",
|
"agents": "agents",
|
||||||
"dms": "dms",
|
"dms": "dms",
|
||||||
|
"dms-plugin-registry": "dms-plugin-registry",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
|
|||||||
@@ -32,6 +32,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dms-plugin-registry = {
|
||||||
|
url = "github:AvengeMedia/dms-plugin-registry";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|||||||
+6
-1
@@ -19,7 +19,10 @@
|
|||||||
# m3ta.home.sets.coding.languages.python.extra = true;
|
# m3ta.home.sets.coding.languages.python.extra = true;
|
||||||
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
|
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
|
||||||
#
|
#
|
||||||
{inputs, selfPath}: let
|
{
|
||||||
|
inputs,
|
||||||
|
selfPath,
|
||||||
|
}: let
|
||||||
lib = inputs.nixpkgs.lib;
|
lib = inputs.nixpkgs.lib;
|
||||||
in {
|
in {
|
||||||
mkHome = {
|
mkHome = {
|
||||||
@@ -82,6 +85,8 @@ in {
|
|||||||
[
|
[
|
||||||
# External Home Manager modules required by selectable profiles
|
# External Home Manager modules required by selectable profiles
|
||||||
inputs.agent-lib.homeManagerModules.default
|
inputs.agent-lib.homeManagerModules.default
|
||||||
|
inputs.dms.homeModules.default
|
||||||
|
inputs.dms-plugin-registry.homeModules.default
|
||||||
|
|
||||||
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
||||||
../modules/paths.nix
|
../modules/paths.nix
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ in {
|
|||||||
imports = [
|
imports = [
|
||||||
# External modules
|
# External modules
|
||||||
inputs.agent-lib.homeManagerModules.default
|
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 — must be first, provides "m3ta-home".paths.srcRoot
|
||||||
./paths.nix
|
./paths.nix
|
||||||
|
|
||||||
|
|||||||
@@ -4,5 +4,6 @@
|
|||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./wayland.nix
|
./wayland.nix
|
||||||
./rofi.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