Files
nixos-blueprint/modules/home/desktop/dms/default.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;
}
);
}
]);
}