From f94166adbc6b5600a8d2a4e4d336c293f9a06a04 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Fri, 31 May 2024 14:00:52 +0800 Subject: [PATCH] home(minecraft): make username configurable --- home/minecraft/home.nix | 2 +- home/minecraft/nixos.nix | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/home/minecraft/home.nix b/home/minecraft/home.nix index f67be4ff..410eef4c 100644 --- a/home/minecraft/home.nix +++ b/home/minecraft/home.nix @@ -4,7 +4,7 @@ , ... }: with lib; let inherit (config.passthrough) gui; cfg = config.passthrough.minecraft; - enable = cfg.enable && config.home.username == "minecraft"; + enable = cfg.enable && config.home.username == cfg.user; in mkIf enable { home.packages = with pkgs; [ jdk8 diff --git a/home/minecraft/nixos.nix b/home/minecraft/nixos.nix index a570db79..ebbdab5d 100644 --- a/home/minecraft/nixos.nix +++ b/home/minecraft/nixos.nix @@ -7,6 +7,11 @@ in { options.home.minecraft = { enable = mkEnableOption "minecraft game launcher and jvm"; + user = mkOption { + type = with types; str; + default = "minecraft"; + description = "username which minecraft game client runs under"; + }; }; config = { @@ -15,14 +20,14 @@ in { { passthrough.minecraft = cfg; } ]; - users.profiles.minecraft = mkIf cfg.enable { + users.profiles.minecraft = mkIf (cfg.enable && cfg.user == "minecraft") { uid = 5801; description = "Minecraft"; picture = ../picture/aux.png; }; - environment.persistence."/nix/persist".users.minecraft.directories = mkIf (cfg.enable && gui) [ - ".local/share/PrismLauncher" - ]; + environment.persistence."/nix/persist".users.${cfg.user} = mkIf (cfg.enable && gui) { + directories = [ ".local/share/PrismLauncher" ]; + }; }; }