diff --git a/home/jonas@monolith.nix b/home/jonas@monolith.nix index b7aa641..c4b96b8 100644 --- a/home/jonas@monolith.nix +++ b/home/jonas@monolith.nix @@ -14,17 +14,17 @@ hive.doom.withNixPkgs = true; hive.doom.withShellPkgs = true; hive.firefox = { - enable = false; + enable = true; plasmaIntegration = true; passFF = true; }; - hive.flameshot.enable = false; - hive.kdeconnect.enable = false; - hive.nextcloud.enable = false; + hive.flameshot.enable = true; + hive.kdeconnect.enable = true; + hive.nextcloud.enable = true; hive.nix-scripts.enable = true; hive.ranger.enable = true; hive.themes.layan.enable = true; - hive.yubikey.enable = false; + hive.yubikey.enable = true; hive.zsh.enable = true; # Make session variables available in systemd units diff --git a/modules/home/themes/layan-qt6.nix b/modules/home/themes/layan-qt6.nix new file mode 100644 index 0000000..7090f11 --- /dev/null +++ b/modules/home/themes/layan-qt6.nix @@ -0,0 +1,52 @@ +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + kdeclarative, + libplasma, + plasma-workspace, +}: +stdenv.mkDerivation rec { + pname = "layan-kde"; + version = "2025-02-13"; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = "ace0b1d93e5f08c650630c146b2d637e1e2e6cd1"; + hash = "sha256-T69bGjfZeOsJLmOZKps9N2wMv5VKYeo1ipGEsLAS+Sg="; + }; + + # Propagate sddm theme dependencies to user env otherwise sddm does + # not find them. Putting them in buildInputs is not enough. + propagatedUserEnvPkgs = [ + kdeclarative + libplasma + plasma-workspace + ]; + + postPatch = '' + patchShebangs install.sh + + substituteInPlace install.sh \ + --replace '$HOME/.local' $out \ + --replace '$HOME/.config' $out/share + ''; + + installPhase = '' + runHook preInstall + + name= ./install.sh --dest $out/share/themes + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater {}; + + meta = with lib; { + description = "Flat Design theme for KDE Plasma desktop"; + homepage = "https://github.com/vinceliuice/Layan-kde"; + license = licenses.gpl3Only; + platforms = platforms.all; + }; +} diff --git a/modules/home/themes/layan.nix b/modules/home/themes/layan.nix index 0d6a3ae..f7f2e5a 100644 --- a/modules/home/themes/layan.nix +++ b/modules/home/themes/layan.nix @@ -5,6 +5,7 @@ ... }: let cfg = config.hive.themes.layan; + layan-qt6 = pkgs.kdePackages.callPackage ./layan-qt6.nix {}; in { options.hive.themes.layan = { enable = lib.mkEnableOption "Layan theme configuration"; @@ -12,7 +13,8 @@ in { config = lib.mkIf cfg.enable { home.packages = [ - pkgs.layan-kde + layan-qt6 + pkgs.kdePackages.qtstyleplugin-kvantum pkgs.unstable.layan-cursors pkgs.layan-gtk-theme pkgs.tela-circle-icon-theme @@ -22,9 +24,6 @@ in { qt.style.name = "kvantum"; qt.style.package = pkgs.kdePackages.qtstyleplugin-kvantum; qt.platformTheme.name = "gtk"; - home.sessionVariables = { - QT_STYLE_OVERRIDE = "kvantum"; - }; systemd.user.settings.Manager.DefaultEnvironment = lib.mapAttrs (_: lib.mkDefault) { QT_STYLE_OVERRIDE = "kvantum"; QT_QPA_PLATFORMTHEME = "gtk";