helm/modules/themes/fluorescence/default.nix
Henrik Lissner 14329586b9
s/compton/picom
20.03 uses picom instead. A compton alias exists, but I rather be
precise.
2020-04-22 19:53:25 -04:00

134 lines
4 KiB
Nix

# themes/fluorescence/default.nix --- a regal dracula-inspired theme
{ config, options, lib, pkgs, ... }:
with lib;
let cfg = config.modules; in
{
options.modules.themes.fluorescence = {
enable = mkOption {
type = types.bool;
default = false;
};
};
config = mkIf cfg.themes.fluorescence.enable {
modules.theme = {
name = "fluorescence";
version = "0.0.1";
path = ./.;
wallpaper = {
filter.options = "-gaussian-blur 0x2 -modulate 70 -level 5%";
};
};
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;
};
};
services.xserver.displayManager.lightdm = {
greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
'';
};
fonts.fonts = [ pkgs.nerdfonts ];
my.packages = with pkgs; [
my.ant-dracula
paper-icon-theme # for rofi
];
my.zsh.rc = lib.readFile ./zsh/prompt.zsh;
my.home = {
home.file = mkMerge [
(mkIf cfg.desktop.browsers.firefox.enable {
".mozilla/firefox/${cfg.desktop.browsers.firefox.profileName}.default/chrome/userChrome.css" = {
source = ./firefox/userChrome.css;
};
})
];
xdg.configFile = mkMerge [
(mkIf config.services.xserver.enable {
"xtheme/90-theme".source = ./Xresources;
# GTK
"gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Ant-Dracula
gtk-icon-theme-name=Paper
gtk-fallback-icon-theme=gnome
gtk-application-prefer-dark-theme=true
gtk-cursor-theme-name=Paper
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
'';
# GTK2 global theme (widget and icon theme)
"gtk-2.0/gtkrc".text = ''
gtk-theme-name="Ant-Dracula"
gtk-icon-theme-name="Paper-Mono-Dark"
gtk-font-name="Sans 10"
'';
# QT4/5 global theme
"Trolltech.conf".text = ''
[Qt]
style=Ant-Dracula
'';
})
(mkIf cfg.desktop.bspwm.enable {
"bspwm/rc.d/polybar".source = ./polybar/run.sh;
"bspwm/rc.d/theme".source = ./bspwmrc;
})
(mkIf cfg.desktop.apps.rofi.enable {
"rofi/theme" = { source = ./rofi; recursive = true; };
})
(mkIf (cfg.desktop.bspwm.enable || cfg.desktop.stumpwm.enable) {
"polybar" = { source = ./polybar; recursive = true; };
"dunst/dunstrc".source = ./dunstrc;
})
(mkIf cfg.shell.tmux.enable {
"tmux/theme".source = ./tmux.conf;
})
];
xdg.dataFile = mkMerge [
(mkIf cfg.desktop.browsers.qutebrowser.enable {
"qutebrowser/userstyles.css".source =
let compiledStyles =
with pkgs; runCommand "compileUserStyles"
{ buildInputs = [ sass ]; } ''
mkdir "$out"
for file in ${./userstyles/qutebrowser}/*.scss; do
scss --sourcemap=none \
--no-cache \
--style compressed \
--default-encoding utf-8 \
"$file" \
>>"$out/userstyles.css"
done
'';
in "${compiledStyles}/userstyles.css";
})
];
};
};
}