nichts/hosts/dragyx/common/theming/default.nix
2024-04-21 19:59:35 +02:00

101 lines
2.8 KiB
Nix

{ config, pkgs, ... }:
# TODO: Make this more generic / reusable
let
username = config.modules.other.system.username;
gitPath = config.modules.other.system.gitPath;
catpuccin-rofi = pkgs.stdenv.mkDerivation {
pname = "catppuccin-rofi";
version = "0";
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "rofi";
rev = "5350da41a11814f950c3354f090b90d4674a95ce";
sha256 = "sha256-DNorfyl3C4RBclF2KDgwvQQwixpTwSRu7fIvihPN8JY=";
};
installPhase = ''
mkdir -p $out/share/
mkdir -p $out/.config/
cp -r $src/basic/.config/rofi/* $out/.config/
cp -r $src/basic/.local/share/rofi/themes/* $out/share/
'';
};
grub-theme = pkgs.stdenv.mkDerivation {
pname = "catppuccin-grub";
version = "0";
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "grub";
rev = "803c5df0e83aba61668777bb96d90ab8f6847106";
sha256 = "sha256-/bSolCta8GCZ4lP0u5NVqYQ9Y3ZooYCNdTwORNvR7M0=";
};
installPhase = ''
# runHook preInstall
mkdir -p $out/
cp -r $src/src/catppuccin-mocha-grub-theme/* $out/
# runHook postInstall
'';
};
catppuccin-sddm-corners-patched = pkgs.catppuccin-sddm-corners.overrideAttrs (prevAttrs: {
postInstall = (prevAttrs.postInstall or "") + ''
sed -i -E "s/passwordMaskDelay: [0-9]+/passwordMaskDelay: 0/" $out/share/sddm/themes/catppuccin-sddm-corners/components/PasswordPanel.qml
'';
});
catppuccin-wallpapers = pkgs.stdenv.mkDerivation {
pname="catppuccin-wallpapers";
version = "0";
src = pkgs.fetchFromGitHub {
owner = "zhichaoh";
repo = "catppuccin-wallpapers";
rev = "1023077979591cdeca76aae94e0359da1707a60e";
sha256 = "sha256-h+cFlTXvUVJPRMpk32jYVDDhHu1daWSezFcvhJqDpmU=";
};
installPhase = ''
mkdir -p $out
cp -r $src/* $out/
'';
};
in
{
home-manager.users.${username} = {
xdg.configFile."rofi".source = "${catpuccin-rofi}/.config";
xdg.dataFile."rofi/themes".source = "${catpuccin-rofi}/share";
programs.waybar.style = ./waybar-style.css;
wayland.windowManager.hyprland.settings.exec-once = [
"hyprshade auto"
"dunst"
"hyprpaper"
];
xdg.configFile."hypr/hyprpaper.conf" = { #TODO: generic path
text = ''
preload = ${catppuccin-wallpapers}/landscapes/Rainnight.jpg
wallpaper = ,${catppuccin-wallpapers}/landscapes/Rainnight.jpg
'';
};
};
environment.systemPackages = with pkgs; [
catppuccin-sddm-corners-patched
# deps of catppuccin-sddm-corners-patched
libsForQt5.qt5.qtgraphicaleffects
libsForQt5.qt5.qtsvg
libsForQt5.qt5.qtquickcontrols
];
services.displayManager.sddm.theme = "catppuccin-sddm-corners";
boot.loader.grub.theme = grub-theme;
}