dotfiles/modules/desktop/bspwm/default.nix

77 lines
2 KiB
Nix
Raw Normal View History

2021-09-09 21:55:28 +02:00
{ config, lib, pkgs, ... }:
2022-03-23 12:42:04 +01:00
let cfg = config.modules.desktop;
in {
imports = [ ./polybar.nix ];
config = lib.mkIf (cfg.name == "bspwm") {
services = {
xserver = {
enable = true;
layout = "de";
displayManager = {
defaultSession = "none+bspwm";
autoLogin = {
enable = true;
user = "moritz";
};
lightdm.enable = true;
2021-09-14 18:43:49 +02:00
};
2022-03-23 12:42:04 +01:00
windowManager.bspwm.enable = true;
2021-09-14 18:43:49 +02:00
};
};
2022-03-23 12:42:04 +01:00
console.keyMap = "de";
home-manager.users.moritz = {
xsession.windowManager.bspwm = {
enable = true;
rules = {
"Zathura" = { state = "tiled"; };
"Emacs" = { state = "tiled"; };
"feh" = { state = "floating"; };
"Vampire_Survivors" = { state = "fullscreen"; };
};
2022-04-23 17:31:50 +02:00
settings = with config.scheme.withHashtag; {
2022-03-23 12:42:04 +01:00
border_width = 2;
window_gap = 5;
borderless_monocle = true;
gapless_monocle = true;
focus_follows_pointer = true;
# Dracula theme #
2022-04-23 17:31:50 +02:00
focused_border_color = base0D;
normal_border_color = base03;
active_border_color = base03;
2022-03-23 12:42:04 +01:00
};
startupPrograms = [
"${pkgs.systemd}/bin/systemctl --user start polybar.service"
"randomWallpaper"
"synology-drive"
];
extraConfig = ''
# MONITORS #
monitors=($(bspc query -M --names | sort -r))
desktops=$(expr 10 / ''${#monitors[@]})
start=1
end=$desktops
for monitor in ''${monitors[@]}; do
bspc monitor $monitor -d $(seq -s ' ' $start $end)
start=$(expr $start + $desktops)
end=$(expr $end + $desktops)
done
'';
2021-09-29 16:27:02 +02:00
};
2022-03-23 12:42:04 +01:00
services.sxhkd = {
enable = true;
extraConfig = builtins.readFile ./sxhkdrc;
};
2022-03-23 12:42:04 +01:00
home.packages = with pkgs; [ feh playerctl pamixer brightnessctl ];
};
2021-09-09 21:55:28 +02:00
};
}