diff --git a/flake.lock b/flake.lock index 02f797e..c059b64 100644 --- a/flake.lock +++ b/flake.lock @@ -267,6 +267,22 @@ "type": "github" } }, + "kvlibadwaita": { + "flake": false, + "locked": { + "lastModified": 1757782301, + "narHash": "sha256-jCXME6mpqqWd7gWReT04a//2O83VQcOaqIIXa+Frntc=", + "owner": "GabePoel", + "repo": "KvLibadwaita", + "rev": "1f4e0bec44b13dabfa1fe4047aa8eeaccf2f3557", + "type": "github" + }, + "original": { + "owner": "GabePoel", + "repo": "KvLibadwaita", + "type": "github" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -555,6 +571,7 @@ "base16-discord": "base16-discord", "catppuccin-discord": "catppuccin-discord", "home-manager": "home-manager", + "kvlibadwaita": "kvlibadwaita", "niri": "niri", "nix-cachyos-kernel": "nix-cachyos-kernel", "nixpkgs": [ diff --git a/flake.nix b/flake.nix index cfaa1e2..1585a9e 100644 --- a/flake.nix +++ b/flake.nix @@ -90,6 +90,11 @@ url = "github:catppuccin/discord"; flake = false; }; + + kvlibadwaita = { + url = "github:GabePoel/KvLibadwaita"; + flake = false; + }; }; outputs = @@ -111,6 +116,7 @@ apple-silicon, openmw, catppuccin-discord, + kvlibadwaita, ... }: let @@ -155,6 +161,7 @@ (final: prev: { openmw-git = openmw; catppuccin-discord-git = catppuccin-discord; + kvlibadwaita-git = kvlibadwaita; base16-discord-git = base16-discord; }) (import ./packages/overlay.nix) diff --git a/home/services/qt.nix b/home/services/qt.nix index 8671894..6f322fc 100644 --- a/home/services/qt.nix +++ b/home/services/qt.nix @@ -4,15 +4,39 @@ ... }: { + home.packages = with pkgs; [ + kdePackages.qtstyleplugin-kvantum + themix-gui + kvmarwaita + ]; + + # home.file.".config/Kvantum" = { + # source = ./kvantum; + # recursive = true; + # force = true; + # }; + + # home.file.".config/Kvantum/kvantum.kvconfig" = { + # text = '' + # [General] + # theme= + # ''; + # force = true; + # }; + qt = { enable = true; + style = { + name = "kvantum"; + package = pkgs.qt6Packages.qtstyleplugin-kvantum; + }; qt5ctSettings = { Appearance = { - style = "Breeze"; + style = "kvantum"; icon_theme = config.gtk.iconTheme.name; - color_scheme_path = "/home/${config.userOptions.username}/.config/qt5ct/qt5ct.conf"; - custom_palette = true; + # color_scheme_path = "/home/${config.userOptions.username}/.config/qt5ct/qt5ct.conf"; + # custom_palette = true; standard_dialogs = "xdgdesktopportal"; }; Fonts = config.qt.qt6ctSettings.Fonts; @@ -21,10 +45,10 @@ qt6ctSettings = { Appearance = { - style = "Breeze"; + style = "kvantum"; icon_theme = config.gtk.iconTheme.name; - color_scheme_path = "/home/${config.userOptions.username}/.config/qt6ct/qt6ct.conf"; - custom_palette = true; + # color_scheme_path = "/home/${config.userOptions.username}/.config/qt6ct/qt6ct.conf"; + # custom_palette = true; standard_dialogs = "xdgdesktopportal"; }; diff --git a/packages/kvlibadwaita/default.nix b/packages/kvlibadwaita/default.nix new file mode 100644 index 0000000..3d729dd --- /dev/null +++ b/packages/kvlibadwaita/default.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenvNoCC, + kvlibadwaita-git, + colorScheme ? null, +}: + +stdenvNoCC.mkDerivation { + pname = "kvlibadwaita"; + version = "git"; + + # Pulls from the flake-provided git variable + src = kvlibadwaita-git; + + # We take the colors as an input but do nothing with them yet per your instructions. + # They are passed into the derivation environment just in case, but unused for now. + passthru = { + inherit colorScheme; + }; + + # Standard phases are skipped for pure file-copying derivations to save time + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + # Recreate the exact requested directory structure in the output + mkdir -p $out/src/Colors + mkdir -p $out/src/KvLibadwaita + + # Export Colors + cp "src/Colors/Libadwaita Dark.colors" "$out/src/Colors/" + cp "src/Colors/Libadwaita Light.colors" "$out/src/Colors/" + + # Export KvLibadwaita files + cp "src/KvLibadwaita/KvLibadwaita.kvconfig" "$out/src/KvLibadwaita/" + cp "src/KvLibadwaita/KvLibadwaita.svg" "$out/src/KvLibadwaita/" + cp "src/KvLibadwaita/KvLibadwaitaDark.kvconfig" "$out/src/KvLibadwaita/" + cp "src/KvLibadwaita/KvLibadwaitaDark.svg" "$out/src/KvLibadwaita/" + + runHook postInstall + ''; + + meta = with lib; { + description = "Libadwaita theme for Kvantum"; + homepage = "https://github.com/GabePoel/kvlibadwaita"; # Update if pointing to a specific fork + license = licenses.gpl3Only; + platforms = platforms.linux; + }; +} diff --git a/packages/overlay.nix b/packages/overlay.nix index 9d542aa..9850c55 100644 --- a/packages/overlay.nix +++ b/packages/overlay.nix @@ -5,6 +5,10 @@ final: prev: { inherit (final) catppuccin-discord-git; }; + kvlibadwaita = final.callPackage ./kvlibadwaita { + inherit (final) kvlibadwaita-git; + }; + openmw = prev.openmw.overrideAttrs (oldAttrs: { pname = "openmw"; src = final.openmw-git;