{ lib, pkgs, inputs, ... }: { colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha; home = { packages = with pkgs; [ beeper duf eternal-terminal glow grc iamb jamesdsp jdk21 killall libnotify lm_sensors loupe mpv neovide playerctl prismlauncher slack telegram-desktop vesktop youki ] ++ (with inputs; [ nixvim.packages.${pkgs.system}.default ]) ++ (with inputs.chaotic.packages.${pkgs.system}; [ distrobox_git firefox_nightly ]); stateVersion = "24.05"; }; dconf.settings = { "org/virt-manager/virt-manager/connections" = { autoconnect = ["qemu:///system"]; uris = ["qemu:///system"]; }; }; xdg.enable = true; catppuccin = { enable = true; flavor = "mocha"; accent = "green"; pointerCursor.enable = true; }; gtk = let gradiencePreset = pkgs.fetchurl { url = "https://raw.githubusercontent.com/GradienceTeam/Community/next/official/catppuccin-macchiato.json"; hash = "sha256-FgQvmK/Pjn980o+UVc2a70kGa6sGse045zPS9hzCs14="; }; gradienceBuild = pkgs.stdenv.mkDerivation { name = "gradience-build"; phases = ["buildPhase" "installPhase"]; nativeBuildInputs = [pkgs.gradience]; buildPhase = '' shopt -s nullglob export HOME=$TMPDIR mkdir -p $HOME/.config/presets gradience-cli apply -p ${gradiencePreset} --gtk both ''; installPhase = '' mkdir -p $out cp -r .config/gtk-4.0 $out/ cp -r .config/gtk-3.0 $out/ ''; }; in { enable = true; theme.name = "adw-gtk3-dark"; theme.package = pkgs.adw-gtk3; gtk3 = { extraCss = builtins.readFile "${gradienceBuild}/gtk-3.0/gtk.css"; extraConfig = { gtk-application-prefer-dark-theme = 1; }; }; gtk4 = { extraCss = builtins.readFile "${gradienceBuild}/gtk-4.0/gtk.css"; extraConfig = { gtk-application-prefer-dark-theme = 1; }; }; }; qt = { enable = true; style.name = "kvantum"; style.catppuccin.enable = true; }; programs = { nix-index-database.comma.enable = true; nix-index.enable = true; ripgrep.enable = true; fzf = { enable = true; catppuccin.enable = true; colors = with lib; { bg = mkForce "-1"; "bg+" = mkForce "-1"; }; }; eza = { enable = true; git = true; icons = true; }; btop = { enable = true; catppuccin.enable = true; }; direnv = { enable = true; nix-direnv.enable = true; }; }; systemd.user.startServices = "sd-switch"; nix.package = lib.mkForce pkgs.nixSuper; }