Files
nixos/home/theming.nix
2026-01-02 20:43:09 +01:00

107 lines
4.3 KiB
Nix

{ config, pkgs, inputs, lib, ... }: {
home.pointerCursor = {
name = "WhiteSur-cursors";
package = pkgs.whitesur-cursors;
size = 30;
gtk.enable = true;
};
qt = { enable = true; platformTheme.name = "kde"; style.name = "breeze"; };
xdg.configFile."matugen/config.toml".text = ''
[config]
reload_apps = true
[templates.alacritty]
input_path = "${config.home.homeDirectory}/nixos/templates/alacritty.toml"
output_path = "${config.home.homeDirectory}/.config/alacritty/colors.toml"
[templates.btop]
input_path = "${config.home.homeDirectory}/nixos/templates/btop.theme"
output_path = "${config.home.homeDirectory}/.config/btop/themes/matugen.theme"
[templates.gtk]
input_path = "${config.home.homeDirectory}/nixos/templates/colors-gtk.css"
output_path = "${config.home.homeDirectory}/.config/matugen/colors.css"
[templates.hyprland]
input_path = "${config.home.homeDirectory}/nixos/templates/hyprland-colors.conf"
output_path = "${config.home.homeDirectory}/.config/hypr/colors.conf"
[templates.hyprlock]
input_path = "${config.home.homeDirectory}/nixos/templates/hyprlock-colors.conf"
output_path = "${config.home.homeDirectory}/.config/hypr/hyprlock-colors.conf"
[templates.rofi]
input_path = "${config.home.homeDirectory}/nixos/templates/rofi.rasi"
output_path = "${config.home.homeDirectory}/.config/rofi/matugen-colors.rasi"
[templates.fish]
input_path = "${config.home.homeDirectory}/nixos/templates/fish-colors.fish"
output_path = "${config.home.homeDirectory}/.config/fish/conf.d/matugen.fish"
[templates.starship]
input_path = "${config.home.homeDirectory}/nixos/templates/starship.toml"
output_path = "${config.home.homeDirectory}/.config/starship.toml"
[templates.swaync]
input_path = "${config.home.homeDirectory}/nixos/templates/swaync-colors.css"
output_path = "${config.home.homeDirectory}/.config/swaync/colors.css"
[templates.waybar]
input_path = "${config.home.homeDirectory}/nixos/templates/colors-gtk.css"
output_path = "${config.home.homeDirectory}/.config/matugen/colors.css"
[templates.wlogout]
input_path = "${config.home.homeDirectory}/nixos/templates/wlogout-colors.css"
output_path = "${config.home.homeDirectory}/.config/wlogout/colors.css"
[templates.lazygit]
input_path = "${config.home.homeDirectory}/nixos/templates/lazygit_theme.yml"
output_path = "${config.home.homeDirectory}/.config/lazygit/theme.yml"
[templates.zathura]
input_path = "${config.home.homeDirectory}/nixos/templates/zathura"
output_path = "${config.home.homeDirectory}/.config/zathura/zathurarc-colors"
[templates.yazi]
input_path = "${config.home.homeDirectory}/nixos/templates/yazi-theme.toml"
output_path = "${config.home.homeDirectory}/.config/yazi/theme.toml"
[templates.zellij]
input_path = "${config.home.homeDirectory}/nixos/templates/zellij.kdl"
output_path = "${config.home.homeDirectory}/.config/zellij/themes/matugen.kdl"
'';
home.activation.regenerateMatugen = lib.hm.dag.entryAfter ["writeBoundary"] ''
MATUGEN="${inputs.matugen.packages.${pkgs.stdenv.hostPlatform.system}.default}/bin/matugen"
WALLPAPER="${config.home.homeDirectory}/nixos/wallpaper/current_wallpaper"
if [ -f "$WALLPAPER" ]; then
echo "Matugen: Generiere Farben aus $WALLPAPER..."
mkdir -p ${config.home.homeDirectory}/.config/alacritty
mkdir -p ${config.home.homeDirectory}/.config/btop/themes
mkdir -p ${config.home.homeDirectory}/.config/lazygit
mkdir -p ${config.home.homeDirectory}/.config/rofi
mkdir -p ${config.home.homeDirectory}/.config/swaync
mkdir -p ${config.home.homeDirectory}/.config/wlogout
mkdir -p ${config.home.homeDirectory}/.config/matugen
mkdir -p ${config.home.homeDirectory}/.config/hypr
mkdir -p ${config.home.homeDirectory}/.config/fish/conf.d
mkdir -p ${config.home.homeDirectory}/.config/wob
mkdir -p ${config.home.homeDirectory}/.config/yazi
mkdir -p ${config.home.homeDirectory}/.config/zathura
mkdir -p ${config.home.homeDirectory}/.config/zellij/themes
$MATUGEN image "$WALLPAPER" --type scheme-vibrant
${pkgs.procps}/bin/pkill -USR2 waybar || true
else
echo "Matugen: Wallpaper nicht gefunden ($WALLPAPER)"
fi
'';
}