14e2aada30
Themes can now be swapped with 'hey theme NAME', or reloaded with the reloadTheme script.
100 lines
3 KiB
Nix
100 lines
3 KiB
Nix
# 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" toCSSFile [
|
|
./config/qutebrowser/github.scss
|
|
./config/qutebrowser/monospace-textareas.scss
|
|
./config/qutebrowser/quora.scss
|
|
./config/qutebrowser/stackoverflow.scss
|
|
./config/qutebrowser/xkcd.scss
|
|
./config/qutebrowser/youtube.scss
|
|
];
|
|
};
|
|
};
|
|
}
|
|
|
|
# Desktop (X11) theming
|
|
(mkIf config.services.xserver.enable {
|
|
user.packages = with pkgs; [
|
|
unstable.dracula-theme
|
|
paper-icon-theme # for rofi
|
|
];
|
|
fonts.fonts = [ pkgs.jetbrains-mono ];
|
|
|
|
# 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;
|
|
})
|
|
];
|
|
})
|
|
]);
|
|
}
|