93 lines
2.6 KiB
Nix
93 lines
2.6 KiB
Nix
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
perSystem,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.desktop.dms;
|
|
# inherit (config.lib.stylix) colors;
|
|
in {
|
|
imports = [
|
|
# inputs.niri.homeModules.niri
|
|
inputs.dankMaterialShell.homeModules.dankMaterialShell.default
|
|
inputs.dankMaterialShell.homeModules.dankMaterialShell.niri
|
|
];
|
|
options = {
|
|
desktop.dms.enable =
|
|
mkEnableOption "enable DankMaterialShell";
|
|
};
|
|
config = let
|
|
importWithArgs = file: import file {inherit config inputs lib perSystem pkgs;};
|
|
in
|
|
mkIf cfg.enable (mkMerge [
|
|
(import ./dconf.nix)
|
|
(importWithArgs ./mimeapps.nix)
|
|
(importWithArgs ./programs/niri.nix)
|
|
(importWithArgs ./programs/wl-kbptr.nix)
|
|
(importWithArgs ./services.nix)
|
|
{
|
|
home.packages = with pkgs; [
|
|
# gui libadwaita utilities
|
|
helvum # pipewire patchbay in rust
|
|
pwvucontrol # pipewire gui in rust
|
|
wdisplays # wlroots display configurator
|
|
];
|
|
}
|
|
{
|
|
# stylix.targets.niri.enable = false;
|
|
|
|
# stylix.targets.gtk.enable = false;
|
|
# gtk = {
|
|
# enable = true;
|
|
# theme = {
|
|
# name = "adw-gtk3";
|
|
# package = pkgs.adw-gtk3;
|
|
# };
|
|
# };
|
|
#
|
|
|
|
stylix.targets.qt.enable = false;
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "gtk3";
|
|
};
|
|
}
|
|
{
|
|
programs.dankMaterialShell = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
niri.enableKeybinds = false; # Automatic keybinding configuration
|
|
# niri.enableSpawn = true; # Auto-start DMS with niri
|
|
};
|
|
}
|
|
{
|
|
xdg.configFile."DankMaterialShell/stylix.json".source = with config.lib.stylix.colors.withHashtag;
|
|
lib.mkIf config.stylix.enable (
|
|
pkgs.writers.writeJSON "dms-stylix-theme.json" {
|
|
"name" = "Stylix";
|
|
"primary" = base0C;
|
|
"primaryText" = base00;
|
|
"primaryContainer" = base0D;
|
|
"secondary" = base0E;
|
|
"surface" = base00;
|
|
"surfaceText" = base05;
|
|
"surfaceVariant" = base01;
|
|
"surfaceVariantText" = base04;
|
|
"surfaceTint" = base0C;
|
|
"background" = base00;
|
|
"backgroundText" = base07;
|
|
"outline" = base03;
|
|
"surfaceContainer" = base01;
|
|
"surfaceContainerHigh" = base02;
|
|
"error" = base08;
|
|
"warning" = base0A;
|
|
"info" = base0D;
|
|
}
|
|
);
|
|
}
|
|
]);
|
|
}
|