From 53ca38e7508cf23564b2b32040c6b6ea746f40fa Mon Sep 17 00:00:00 2001 From: MasterEnderman Date: Mon, 10 Aug 2026 23:05:49 +0200 Subject: [PATCH] configure prismlauncher Signed-off-by: MasterEnderman --- home/apps/prism.nix | 124 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 home/apps/prism.nix diff --git a/home/apps/prism.nix b/home/apps/prism.nix new file mode 100644 index 0000000..2b27fd8 --- /dev/null +++ b/home/apps/prism.nix @@ -0,0 +1,124 @@ +{ + config, + lib, + pkgs, + ... +}: let + c = config.lib.stylix.colors.withHashtag; + hexBlend = (import ../../lib/hex-blend.nix {inherit lib;}).blend; + jdks = + map (ver: pkgs.${"temurin-bin-${ver}"}) + (lib.reverseList config.modules.java.versions); +in { + options.modules.apps.prismlauncher.enable = lib.mkOption { + default = config.modules.apps.enable; + description = "Prismlauncher Modern MultiMC Fork"; + type = lib.types.bool; + }; + + config = lib.mkIf config.modules.apps.prismlauncher.enable { + home.file = { + ".local/share/PrismLauncher/catpacks/pusheen/catpack.json".text = builtins.toJSON { + default = "pusheen.png"; + name = "Pusheen"; + }; + ".local/share/PrismLauncher/catpacks/pusheen/pusheen.png".source = ../../assets/pusheen.png; + }; + programs.prismlauncher = { + enable = true; + package = pkgs.prismlauncher.override {inherit jdks;}; + settings = { + ApplicationTheme = "custom"; + AutoCloseConsole = false; + AutomaticJavaDownload = false; + AutomaticJavaSwitch = true; + BackgroundCat = "pusheen"; + CatFit = "fit"; + CatOpacity = 50; + CentralModsDir = "mods"; + CloseAfterLaunch = false; + ConsoleFont = "${config.stylix.fonts.monospace.name}"; + ConsoleFontSize = 12; + ConsoleMaxLines = 50000; + ConsoleOverflowStop = true; + DownloadsDir = "${config.home.homeDirectory}/Downloads"; + DownloadsDirWatchRecursive = false; + EnableFeralGamemode = true; + EnableMangoHud = false; + IconTheme = "flat_white"; + IgnoreJavaCompatibility = false; + IgnoreJavaWizard = true; + InstRenamingMode = "AskEverytime"; + InstSortMode = "Name"; + JsonEditor = "${pkgs.helix}/bin/hx"; + JvmArgs = "-Dfile.encoding=UTF-8 -XX:+UseStringDeduplication"; + Language = "en_US"; + LowMemWarning = true; + MaxMemAlloc = 8192; + MinMemAlloc = 1024; + ModDependenciesDisabled = false; + ModMetadataDisabled = false; + MoveModsFromDownloadsDir = false; + NumberOfConcurrentDownloads = 8; + NumberOfConcurrentTasks = 16; + NumberOfManualRetries = 4; + QuitAfterGameStop = false; + RecordGameTime = true; + RequestTimeout = 10; + ShowConsole = true; + ShowConsoleOnError = true; + ShowGameTime = true; + ShowGameTimeWithoutDays = false; + ShowGlobalGameTime = true; + ShowModIncompat = true; + SkipModpackUpdatePrompt = true; + StatusBarVisible = true; + TheCat = true; + ToolbarsLocked = false; + UseSystemLocale = false; + UserAskedAboutAutomaticJavaDownload = true; + }; + themes.custom = lib.mkIf config.modules.desktop.stylix.enable { + style = '' + QWidget { + font-family: "${config.stylix.fonts.sansSerif.name}"; + } + QToolTip { + color: ${c.base05}; + background-color: ${c.base00}; + border: 1px solid ${c.base0D}; + } + ''; + theme = { + colors = { + AlternateBase = hexBlend 0.12 c.base0D c.base01; + Base = c.base00; + BrightText = c.base06; + Button = c.base01; + ButtonText = c.base05; + Highlight = c.base0D; + HighlightedText = c.base00; + Link = c.base0D; + Text = c.base05; + ToolTipBase = hexBlend 0.15 c.base0D c.base02; + ToolTipText = c.base05; + Window = c.base00; + WindowText = c.base05; + fadeAmount = 0.5; + fadeColor = hexBlend 0.4 c.base03 c.base00; + }; + logColors = { + Debug = c.base0B; + Error = c.base08; + Fatal = c.base00; + FatalHighlight = c.base08; + Launcher = c.base0E; + Warning = c.base0A; + }; + name = "Stylix"; + widgets = "Fusion"; + }; + }; + }; + }; +} -- 2.51.2