dotfiles/nix/home-manager/modules/xmonad/default.nix

68 lines
1.7 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.magic_rb.programs.xmonad;
in
2021-01-24 17:43:50 +01:00
{
options.magic_rb.programs.xmonad = {
enable = mkEnableOption "Enable xmonad config";
2021-01-24 17:43:50 +01:00
enableDunst = mkOption {
description = "Enable dunst";
type = types.bool;
default = true;
};
enablePicom = mkOption {
description = "Enable picom";
type = types.bool;
default = true;
};
enableKeynav = mkOption {
description = "Enable keynav";
type = types.bool;
default = true;
};
picomExperimentalBackends = mkOption {
description = "Enable experimental backends in picom";
type = types.bool;
default = true;
};
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
powerline-fonts
font-awesome
dejavu_fonts
];
home.file.".keynavrc".source = ./keynavrc;
home.file.".xmonad/xmonad.hs".source = pkgs.writeSubstitutedFile {
name = "xmonad.hs";
file = ./xmonad.hs;
substitutes = {
"xmobar" = "${pkgs.xmobar}/bin/xmobar";
"xmobarConfig" = ./xmobarrc;
"screenshot" = "${pkgs.magic_rb.screenshot}/bin/screenshot";
"dmenu_run" = "${pkgs.dmenu}/bin/dmenu_run";
"dunst" = "${pkgs.dunst}/bin/dunst";
"enableDunst" = if cfg.enableDunst then "True" else "False";
"dunstConfig" = ./dunstrc;
"picom" = "${pkgs.picom}/bin/picom";
"enablePicom" = if cfg.enablePicom then "True" else "False";
"picomConfig" = ./picom.conf;
"experimentalBackends" = if cfg.picomExperimentalBackends then "--experimental-backends" else "";
"keynav" = "${pkgs.keynav}/bin/keynav";
"enableKeynav" = if cfg.enableKeynav then "True" else "False";
};
2021-01-24 17:43:50 +01:00
};
2021-02-26 10:24:58 +01:00
};
2021-01-24 17:43:50 +01:00
}