diff --git a/modules/programs/pywal.nix b/modules/programs/pywal.nix new file mode 100644 index 00000000..3f95ebfa --- /dev/null +++ b/modules/programs/pywal.nix @@ -0,0 +1,76 @@ +{ 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"; + }; + }; + }; +} +