helm/modules/themes/alucard/default.nix

113 lines
3.3 KiB
Nix
Raw Permalink Normal View History

# modules/themes/alucard/default.nix --- a regal dracula-inspired theme
{ options, config, lib, pkgs, ... }:
with lib;
with lib.my;
let cfg = config.modules.theme;
in {
config = mkIf (cfg.active == "alucard") (mkMerge [
# Desktop-agnostic configuration
{
modules = {
theme = {
wallpaper = mkDefault ./config/wallpaper.png;
gtk = {
theme = "Dracula";
iconTheme = "Paper";
cursorTheme = "Paper";
};
};
shell.zsh.rcFiles = [ ./config/zsh/prompt.zsh ];
shell.tmux.rcFiles = [ ./config/tmux.conf ];
desktop.browsers = {
firefox.userChrome = concatMapStringsSep "\n" readFile [
./config/firefox/userChrome.css
];
qutebrowser.userStyles = concatMapStringsSep "\n" readFile
(map toCSSFile [
./config/qutebrowser/userstyles/monospace-textareas.scss
./config/qutebrowser/userstyles/stackoverflow.scss
./config/qutebrowser/userstyles/xkcd.scss
]);
};
};
}
# Desktop (X11) theming
(mkIf config.services.xserver.enable {
user.packages = with pkgs; [
2021-05-27 21:21:36 -07:00
unstable.dracula-theme
paper-icon-theme # for rofi
];
2020-10-25 11:50:09 -07:00
fonts = {
fonts = with pkgs; [
fira-code
fira-code-symbols
jetbrains-mono
siji
font-awesome-ttf
];
fontconfig.defaultFonts = {
sansSerif = ["Fira Sans"];
monospace = ["Fira Code"];
};
};
# Compositor
services.picom = {
fade = true;
fadeDelta = 1;
fadeSteps = [ 0.01 0.012 ];
shadow = true;
shadowOffsets = [ (-10) (-10) ];
shadowOpacity = 0.22;
# activeOpacity = "1.00";
# inactiveOpacity = "0.92";
settings = {
shadow-radius = 12;
# blur-background = true;
# blur-background-frame = true;
# blur-background-fixed = true;
blur-kern = "7x7box";
blur-strength = 320;
};
};
# Login screen theme
services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
'';
# Other dotfiles
home.configFile = with config.modules; mkMerge [
{
# Sourced from sessionCommands in modules/themes/default.nix
"xtheme/90-theme".source = ./config/Xresources;
}
(mkIf desktop.bspwm.enable {
"bspwm/rc.d/polybar".source = ./config/polybar/run.sh;
"bspwm/rc.d/theme".source = ./config/bspwmrc;
})
(mkIf desktop.apps.rofi.enable {
"rofi/theme" = { source = ./config/rofi; recursive = true; };
})
(mkIf (desktop.bspwm.enable || desktop.stumpwm.enable) {
"polybar" = { source = ./config/polybar; recursive = true; };
"dunst/dunstrc".source = ./config/dunstrc;
})
(mkIf desktop.media.graphics.vector.enable {
"inkscape/templates/default.svg".source = ./config/inkscape/default-template.svg;
})
2021-02-01 21:24:47 -08:00
(mkIf desktop.browsers.qutebrowser.enable {
"qutebrowser/extra/theme.py".source = ./config/qutebrowser/theme.py;
})
];
})
]);
}