{ pkgs, inputs, ... }: let additionalJDKs = with pkgs; [ temurin-bin-23 temurin-bin-21 temurin-bin-17 temurin-bin-8 ]; in { imports = with inputs; [ catppuccin.homeModules.catppuccin chaotic.homeManagerModules.default hyprland.homeManagerModules.default nix-colors.homeManagerModules.default nix-index-database.hmModules.nix-index zen-browser.homeModules.twilight ./hyprland ]; snowfallorg.user = { enable = true; name = "marshall"; }; colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha; wayland.windowManager.river = { enable = true; systemd.enable = true; xwayland.enable = true; }; home = { sessionPath = ["$HOME/.jdks"]; file = builtins.listToAttrs (builtins.map (jdk: { name = ".jdks/${jdk.version}"; value = {source = jdk;}; }) additionalJDKs); packages = with pkgs; [ alejandra bitwarden-desktop duf equibop glow grc killall libnotify lm_sensors loupe nodejs playerctl prismlauncher ryujinx-greemdev telegram-desktop ] ++ (with jetbrains; [ clion idea-ultimate ]) ++ (with inputs; [ chaotic.packages.${pkgs.system}.distrobox_git chaotic.packages.${pkgs.system}.zed-editor_git nixvim.packages.${pkgs.system}.default ]); 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"; bat.enable = true; btop.enable = true; cursors.enable = true; fzf.enable = true; kvantum.enable = true; mpv.enable = true; rio.enable = true; rofi.enable = true; starship.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 = false; 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; platformTheme.name = "kvantum"; style.name = "kvantum"; }; programs = { xmobar.enable = true; wezterm.extraConfig = builtins.readFile ./wezterm.lua; git = { extraConfig.credential.helper = "libsecret"; signing.key = "0FF5B8826803F895"; }; java = { enable = true; package = pkgs.temurin-bin-21; }; mpv = { enable = true; scripts = [pkgs.mpvScripts.uosc]; }; zen-browser = { enable = true; nativeMessagingHosts = [pkgs.firefoxpwa]; policies = { DisableAppUpdate = true; DisableTelemetry = true; }; }; }; systemd.user.startServices = "sd-switch"; }