specializations: Add base dwm specialization

Sometimes you really need to use a stable and reliable Xorg desktop
system. GNOME crashes when switching workspaces with osu! open, and
Plasma seems like too much for just wanting to run osu! without
having to worry about all the Wayland shenanigans decreasing fps.

I used bspwm for years however development has slowed down recently.
I've always liked dwm from trying it previously, and it is comforting
knowing that your window manager is minimal and will always work the
same way.
This commit is contained in:
Donovan Glover 2024-08-08 21:12:20 -04:00
parent f82b999542
commit 452bad7db6
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
2 changed files with 32 additions and 0 deletions

View File

@ -25,6 +25,7 @@ let
bloat
gnome
plasma
dwm
container
opacity
fontSize
@ -76,6 +77,7 @@ in
bloat = mkEnableOption "GUI applications";
gnome = mkEnableOption "GNOME specialization";
plasma = mkEnableOption "Plasma specialization";
dwm = mkEnableOption "dwm specialization";
container = mkEnableOption "disable some options for container performance";
graphical = mkEnableOption "xserver for graphical containers";
};
@ -281,6 +283,7 @@ in
specialisation = {
gnome = mkIf gnome { configuration.imports = [ ../specializations/gnome.nix ]; };
plasma = mkIf plasma { configuration.imports = [ ../specializations/plasma.nix ]; };
dwm = mkIf dwm { configuration.imports = [ ../specializations/dwm.nix ]; };
};
};
}

29
specializations/dwm.nix Normal file
View File

@ -0,0 +1,29 @@
{ lib, ... }:
let
inherit (lib) singleton;
in
{
home-manager.sharedModules = singleton {
services.picom.enable = true;
services.dunst.enable = true;
};
services = {
xserver = {
displayManager.startx.enable = true;
windowManager.dwm.enable = true;
};
libinput = {
touchpad = {
naturalScrolling = true;
accelProfile = "flat";
};
mouse = {
accelProfile = "flat";
};
};
};
}