{ lib, config, ... }: { options = { custom.catppuccin.enable = lib.mkEnableOption "Enable catppuccin theme"; }; config = lib.mkIf config.custom.catppuccin.enable { gtk = { enable = true; colorScheme = "dark"; }; programs.hyprlock = { enable = true; settings = { background = { color = "$base"; }; label = { color = "$text"; }; image = { border_color = "$accent"; }; input-field = { outer_color = "$accent"; inner_color = "$surface0"; font_color = "$text"; check_color = "$accent"; fail_color = "$red"; capslock_color = "$yellow"; }; }; }; catppuccin = { enable = true; hyprlock.useDefaultConfig = false; cursors.enable = true; }; wayland.windowManager.hyprland.settings.general = { "col.inactive_border" = "$surface2"; "col.active_border" = "$accent"; }; xdg = { dataFile = { wallpaper = { source = ./wallpaper.jpg; target = "images/wallpaper.jpg"; }; }; configFile = { hyprtoolkit = { source = ./hyprtoolkit.conf; target = "hypr/hyprtoolkit.conf"; }; mocha = { source = ./mocha.conf; target = "hypr/mocha.conf"; }; waybarColorscheme = { source = ./waybar.css; }; }; }; services.hyprpaper = { settings = { wallpaper = { monitor = ""; path = "$HOME/.local/share/images/wallpaper.jpg"; }; }; }; }; }