From 3d54c40ff6ce14f2abeeb731806df0b825dde149 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Fri, 31 May 2024 11:09:20 +0800 Subject: [PATCH] home(minecraft): run minecraft under dedicated user --- home/minecraft/home.nix | 2 +- home/minecraft/nixos.nix | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/home/minecraft/home.nix b/home/minecraft/home.nix index 4db63464..5dedf251 100644 --- a/home/minecraft/home.nix +++ b/home/minecraft/home.nix @@ -3,7 +3,7 @@ , config , ... }: with lib; let cfg = config.passthrough.minecraft; - enable = cfg.enable && (cfg.allUsers || (config.home.username == "app")); + enable = cfg.enable && config.home.username == "minecraft"; in mkIf enable { home.packages = with pkgs; [ prismlauncher diff --git a/home/minecraft/nixos.nix b/home/minecraft/nixos.nix index a412f200..a570db79 100644 --- a/home/minecraft/nixos.nix +++ b/home/minecraft/nixos.nix @@ -3,11 +3,10 @@ , config , ... }: with lib; let cfg = config.home.minecraft; - persist = [ ".local/share/PrismLauncher" ]; + gui = with config.global.gpu; enable && session; in { options.home.minecraft = { enable = mkEnableOption "minecraft game launcher and jvm"; - allUsers = mkEnableOption "set up for all users"; }; config = { @@ -16,7 +15,14 @@ in { { passthrough.minecraft = cfg; } ]; - users.home.persist.directories = with cfg; mkIf (enable && allUsers) persist; - users.home.persistApp.directories = with cfg; mkIf (enable && !allUsers) persist; + users.profiles.minecraft = mkIf cfg.enable { + uid = 5801; + description = "Minecraft"; + picture = ../picture/aux.png; + }; + + environment.persistence."/nix/persist".users.minecraft.directories = mkIf (cfg.enable && gui) [ + ".local/share/PrismLauncher" + ]; }; }