mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 13:32:50 -05:00
Add nix home-manager option for adding plugins (#354)
* add plugins nix hm option * add nix hm plugins option usage to readme
This commit is contained in:
committed by
GitHub
parent
c12eafa1db
commit
2a72c126f1
10
README.md
10
README.md
@@ -661,6 +661,16 @@ cp -R ./PLUGINS/ExampleEmojiPlugin ~/.config/DankMaterialShell/plugins
|
|||||||
|
|
||||||
**Only install plugins from TRUSTED sources.** Plugins execute QML and javascript at runtime, plugins from third parties should be reviewed before enabling them in dms.
|
**Only install plugins from TRUSTED sources.** Plugins execute QML and javascript at runtime, plugins from third parties should be reviewed before enabling them in dms.
|
||||||
|
|
||||||
|
### nixOS - via home-manager
|
||||||
|
|
||||||
|
Add the following to your home-manager config to install a plugin:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
programs.dankMaterialShell.plugins = {
|
||||||
|
ExampleEmojiPlugin.src = "${inputs.dankMaterialShell}/PLUGINS/ExampleEmojiPlugin";
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
### Calendar Setup
|
### Calendar Setup
|
||||||
|
|
||||||
Sync your caldev compatible calendar (Google, Office365, etc.) for dashboard integration:
|
Sync your caldev compatible calendar (Google, Office365, etc.) for dashboard integration:
|
||||||
|
|||||||
@@ -54,6 +54,23 @@ in {
|
|||||||
quickshell = {
|
quickshell = {
|
||||||
package = lib.mkPackageOption pkgs "quickshell" {};
|
package = lib.mkPackageOption pkgs "quickshell" {};
|
||||||
};
|
};
|
||||||
|
plugins = lib.mkOption {
|
||||||
|
type = attrsOf (types.submodule ({ config, ... }: {
|
||||||
|
options = {
|
||||||
|
enable = lib.mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to link this plugin";
|
||||||
|
};
|
||||||
|
src = lib.mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "Source to link to DMS plugins directory";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
default = {};
|
||||||
|
description = "DMS Plugins to install";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable
|
config = lib.mkIf cfg.enable
|
||||||
@@ -73,6 +90,11 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.configFile = lib.mapAttrs' (name: plugin: {
|
||||||
|
name = "DankMaterialShell/plugins/${name}";
|
||||||
|
value.source = plugin.src;
|
||||||
|
}) (lib.filterAttrs (n: v: v.enable) cfg.plugins);
|
||||||
|
|
||||||
home.packages =
|
home.packages =
|
||||||
[
|
[
|
||||||
pkgs.material-symbols
|
pkgs.material-symbols
|
||||||
|
|||||||
Reference in New Issue
Block a user