From f5f9ea300d752d6782cee61f7d9d5c19f4beadff Mon Sep 17 00:00:00 2001 From: Adam0 Date: Sat, 5 Sep 2026 15:38:12 +0200 Subject: [PATCH] Add Millennium plugins and theme modules --- modules/programs/gui/steam/default.nix | 16 +----- modules/programs/gui/steam/plugins.nix | 68 ++++++++++++++++++++++++++ modules/programs/gui/steam/theme.nix | 38 ++++++++++++++ 3 files changed, 107 insertions(+), 15 deletions(-) create mode 100644 modules/programs/gui/steam/plugins.nix create mode 100644 modules/programs/gui/steam/theme.nix diff --git a/modules/programs/gui/steam/default.nix b/modules/programs/gui/steam/default.nix index 131b24d..5e0513f 100644 --- a/modules/programs/gui/steam/default.nix +++ b/modules/programs/gui/steam/default.nix @@ -47,21 +47,7 @@ }; }; - homeManager.steam = {pkgs, ...}: let - inherit (pkgs) fetchFromGitHub; - in { - programs.steam.millennium = { - enable = true; - activeTheme = "adwaita"; - - themes.adwaita = fetchFromGitHub { - owner = "tkashkin"; - repo = "Adwaita-for-Steam"; - rev = "1e92107a51f6ed53c59c38646444c9eb3a52b030"; - hash = "sha256-wH0z2LZ94j5ErRI40f9IRBJXJ6yuL+NLgjmj9G8odxU="; - }; - }; - }; + homeManager.steam.programs.steam.millennium.enable = true; }; }; } diff --git a/modules/programs/gui/steam/plugins.nix b/modules/programs/gui/steam/plugins.nix new file mode 100644 index 0000000..432b9df --- /dev/null +++ b/modules/programs/gui/steam/plugins.nix @@ -0,0 +1,68 @@ +{ + flake.modules.homeManager.steam = {pkgs, ...}: let + inherit (pkgs) fetchzip; + + fetchPlugin = { + hash, + id, + name, + }: + fetchzip { + inherit hash; + url = "https://steambrew.app/api/v1/plugins/download/?id=${id}&n=${name}.zip"; + }; + in { + programs.steam.millennium = { + config.plugins.enabledPlugins = [ + # keep-sorted start + "extendium" + "hltb-for-millennium" + "non-steam-playtimes" + "protondb" + "size-on-disk" + "steam-easygrid" + # keep-sorted end + ]; + + plugins = { + # keep-sorted start block=yes newline_separated=yes + extendium = fetchPlugin { + hash = "sha256-t/6hMRh/HWxmMqYMwbMqT1NKY6rw+F1VaJHfalqJSAk="; + id = "788ed8554492ebd2ebe057b8eff79fad8a6c75d5"; + name = "extendium"; + }; + + hltb-for-millennium = fetchPlugin { + hash = "sha256-ke8HX02b7aG21nXBdXDAfZBKLiG1WrJ2zNx3sQIry/k="; + id = "f685622bace6c63a70a24265f72fabd32aa497b5"; + name = "hltb-for-millennium"; + }; + + non-steam-playtimes = fetchPlugin { + hash = "sha256-qRK39jhTwqj1ahR35s0pUiKO01rbrokVCUKLz4gq9LA="; + id = "02bed50d10a8b1e58fb8bba608fe6a120a3a0dca"; + name = "non-steam-playtimes"; + }; + + protondb = fetchPlugin { + hash = "sha256-eSwHAHFu4hTupTTI8vR4pFgntZNGnz0nT5ETRUG+vfI="; + id = "7913678dca9592b28d2f619aeefd47b06ebf36a2"; + name = "protondb"; + }; + + size-on-disk = fetchPlugin { + hash = "sha256-SlVd5BCT5t0x9ah7gpUXJMymee/nzF6W6vqjcKzjERU="; + id = "e73371b61eef68019413475b7642ecc37e53bbbd"; + name = "size-on-disk"; + }; + + steam-easygrid = fetchPlugin { + hash = "sha256-29WWqUR+s8gms0yg0plmIwntAc6t83KDGWFzOtFU8OE="; + id = "2519c8a9fc979627a214a78ad642ae5d5723216f"; + name = "steam-easygrid"; + }; + # keep-sorted end + }; + }; + }; +} diff --git a/modules/programs/gui/steam/theme.nix b/modules/programs/gui/steam/theme.nix new file mode 100644 index 0000000..27bb4ff --- /dev/null +++ b/modules/programs/gui/steam/theme.nix @@ -0,0 +1,38 @@ +{ + flake.modules.homeManager.steam = {pkgs, ...}: let + inherit (pkgs) fetchFromGitHub; + in { + programs.steam.millennium = { + activeTheme = "adwaita"; + + config.themes.conditions.adwaita = { + "Color theme" = "Gruvbox"; + + # keep-sorted start + "Accent color" = "System"; + "Color scheme" = "System"; + Font = "System"; + # keep-sorted end + + # keep-sorted start + "Hide games list" = "no"; + "Login QR code" = "Show"; + "Pointer cursor" = "no"; + "Rounded corners" = "no"; + "Show URL" = "yes"; + "Square icons in game details" = "yes"; + "What's New shelf" = "yes"; + "Window controls layout" = "Adwaita"; + "Window controls theme" = "Adwaita (GNOME)"; + # keep-sorted end + }; + + themes.adwaita = fetchFromGitHub { + owner = "tkashkin"; + repo = "Adwaita-for-Steam"; + rev = "1e92107a51f6ed53c59c38646444c9eb3a52b030"; + hash = "sha256-wH0z2LZ94j5ErRI40f9IRBJXJ6yuL+NLgjmj9G8odxU="; + }; + }; + }; +} -- 2.51.2