dotfiles/nix/home-manager/modules/xmonad/default.nix
Magic_RB d3e46e5413
Complete module rework
Signed-off-by: Magic_RB <magic_rb@redalder.org>
2021-08-19 18:24:36 +02:00

56 lines
1.4 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
nglib = config.magic_rb.pins.nixng.lib pkgs.stdenv.system;
cfg = config.magic_rb.programs.xmonad;
in
{
options.magic_rb.programs.xmonad = {
enable = mkEnableOption "Enable xmonad config";
enableDunst = mkOption {
description = "Enable dunst";
type = types.bool;
default = true;
};
enablePicom = mkOption {
description = "Enable picom";
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.".xmonad/xmonad.hs".source = nglib.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";
"enableDunst" = if cfg.enableDunst then "True" else "False";
"dunstConfig" = ./dunstrc;
"enablePicom" = if cfg.enablePicom then "True" else "False";
"picomConfig" = ./picom.conf;
"experimentalBackends" = if cfg.picomExperimentalBackends then "--experimental-backends" else "";
};
};
};
}