home-manager/modules/programs/pywal.nix
2022-05-10 22:24:19 +02:00

76 lines
1.9 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let cfg = config.programs.pywal;
in {
options = { programs.pywal = { enable = mkEnableOption "pywal"; }; };
config = mkIf cfg.enable {
home.packages = [ pkgs.pywal ];
programs.zsh.initExtra = ''
# Import colorscheme from 'wal' asynchronously
# & # Run the process in the background.
# ( ) # Hide shell job control messages.
(cat ${config.xdg.cacheHome}/wal/sequences &)
'';
programs.kitty.extraConfig = ''
include ${config.xdg.cacheHome}/wal/colors-kitty.conf
'';
programs.rofi.theme."@import" =
"${config.xdg.cacheHome}/wal/colors-rofi-dark.rasi";
# wal generates and that's the one we should load from /home/teto/.cache/wal/colors.Xresources ~/.Xresources
xsession.windowManager.i3 = {
extraConfig = ''
set_from_resource $bg i3wm.color0 #ff0000
set_from_resource $bg-alt i3wm.color14 #ff0000
set_from_resource $fg i3wm.color15 #ff0000
set_from_resource $fg-alt i3wm.color2 #ff0000
set_from_resource $hl i3wm.color13 #ff0000
'';
config.colors = {
focused = {
border = "$fg-alt";
background = "$bg";
text = "$hl";
indicator = "$fg-alt";
childBorder = "$hl";
};
focusedInactive = {
border = "$fg-alt";
background = "$bg";
text = "$fg";
indicator = "$fg-alt";
childBorder = "$fg-alt";
};
unfocused = {
border = "$fg-alt";
background = "$bg";
text = "$fg";
indicator = "$fg-alt";
childBorder = "$fg-alt";
};
urgent = {
border = "$fg-alt";
background = "$bg";
text = "$fg";
indicator = "$fg-alt";
childBorder = "$fg-alt";
};
background = "$bg";
};
};
};
}