From 3ac380fd61b5bf477c8314cc8c86e845a2cc12bc Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Mon, 8 Mar 2021 14:57:26 +0100 Subject: [PATCH] Minecraft --- configurations/citrix.nix | 9 ++++++--- configurations/dropbox.nix | 1 + configurations/teams.nix | 9 ++++++--- machines/kharbranth/default.nix | 1 - machines/kholinar/default.nix | 2 +- machines/urithiru/secret.nix | Bin 2341 -> 2371 bytes modules/default.nix | 1 + modules/minecraft.nix | 30 ++++++++++++++++++++++++++++++ modules/nix.nix | 15 ++++----------- profiles/graphical.nix | 5 ++++- 10 files changed, 53 insertions(+), 20 deletions(-) create mode 100644 modules/minecraft.nix diff --git a/configurations/citrix.nix b/configurations/citrix.nix index 57737aff..2fb8c5c6 100644 --- a/configurations/citrix.nix +++ b/configurations/citrix.nix @@ -1,7 +1,10 @@ { ... }: { - chvp.zfs.homeLinks = [ - { path = ".ICAClient"; type = "data"; } - ]; + chvp = { + nix.unfreePackages = [ "citrix-workspace" ]; + zfs.homeLinks = [ + { path = ".ICAClient"; type = "data"; } + ]; + }; home-manager.users.charlotte = { pkgs, ... }: { home.packages = with pkgs; [ citrix_workspace ]; }; diff --git a/configurations/dropbox.nix b/configurations/dropbox.nix index 64b08af7..4069634c 100644 --- a/configurations/dropbox.nix +++ b/configurations/dropbox.nix @@ -27,4 +27,5 @@ }; }; }; + chvp.nix.unfreePackages = [ "dropbox" ]; } diff --git a/configurations/teams.nix b/configurations/teams.nix index 78c25a63..cfc3466b 100644 --- a/configurations/teams.nix +++ b/configurations/teams.nix @@ -5,7 +5,10 @@ home.packages = with pkgs; [ teams ]; }; - chvp.zfs.homeLinks = [ - { path = ".config/Microsoft"; type = "data"; } - ]; + chvp = { + nix.unfreePackages = [ "teams" ]; + zfs.homeLinks = [ + { path = ".config/Microsoft"; type = "data"; } + ]; + }; } diff --git a/machines/kharbranth/default.nix b/machines/kharbranth/default.nix index ab4adc9b..686a2294 100644 --- a/machines/kharbranth/default.nix +++ b/machines/kharbranth/default.nix @@ -24,7 +24,6 @@ eid.enable = true; git.email = "charlotte.vanpetegem@ugent.be"; gomuks.enable = true; - nix.enableUnfree = true; zfs = { enable = true; encrypted = true; diff --git a/machines/kholinar/default.nix b/machines/kholinar/default.nix index 2dbd4dc5..fed6f0e8 100644 --- a/machines/kholinar/default.nix +++ b/machines/kholinar/default.nix @@ -24,7 +24,7 @@ eid.enable = true; git.email = "charlotte@vanpetegem.me"; gomuks.enable = true; - nix.enableUnfree = true; + minecraft.client = true; zeroad.enable = true; zfs = { enable = true; diff --git a/machines/urithiru/secret.nix b/machines/urithiru/secret.nix index 866727b060a5db5856b9abb283f96dc662f3560c..74910c0376aca15ad9a0c6c3b5c931adf0a68c98 100644 GIT binary patch literal 2371 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 PTc#hsvwEk1x0C@<_ZgufH zEXltTGC^+l1D7+J8T_eEJu+N6@n7NWM=|kF0;qTUum1(s#3xgPvB|mX+O;$NKCt!+q<#SDjK$Trr%qrZ& zdNbSt|1YcDy7M5<=G|uDi|6p2yJ5t<@2~WvjM}7>iMy3MH1npd%HQcDx2m!Fvf1&h z`1kqz?}|zm*5#KQ{L|w99XH9M?Xvvh+N$dgmB#taGe4B_Ilq!Qvu)eyitx=T6Ryc_ z-T9-Yq4h`Z)pKeLrCb8SKWys1F!{~um44&>b@x_Lw;cz&yH2qchZJ_Z9o)0GE+?IB zzP!HnZk>IlS_1z#=AAUYTlko3^EU16lS?07S1HMs6rEUD|NoTn_m*W$XIEH6-!3dj zCAej;Y@UqRqa8)rZ(>@C(p{8$!u_B5%bN-; zavmI9SGG4c{r5BO(6#m!cPCGlOPr<8bB(n&W@qu%DwYO=3-er-Cjb5Sd~Rp=64Qn2 zk48tl-t71B&dg({yLb!LE{ORE=l&@Zv3lp+ykpuy(QS+$+Jkbt|G(JXszWAb{*G%bx3X#qBMwdSO2(r~A-%0 z2?t)LT6xr0|GlJBP;)`Vbe+BO{ap)h_A7R5$>xj6`1Vn;MDTaY*YguMx@_p3b7<>q zrGWH$SA~W3JmxhkG%vj@Ib$QS{qy3fzm30FDLfWmzUZGz^QxKorThB6eqh-uw@&7A zT9adCvq#Um>QtuP(l6EsnZosa% z;;=@h;-flQ^QYHpG0dGDyW;*iQSKX>daJqCJUeg1HD{)O%c6B_Ynb!3UakC;B=giu zH?#ahv((P_3_GpXTq%7noK#u2xx9!`ae6vm+2rq~I|NQQe3!g^%^@YSZqG?hvne6+ zU24_g%B%J}-kp*3&EJ%V{oC9t9Q6f86`IrjO@_pm8 zPb*!umc6Xje_7KPI>lhlEs1Sk(z^ZYdbXx_Med#V#X4+L_T#_%{hv(TC0%vPS>H{w zXkuvDf`!eS=9n(z$kVAiAGW$zMA~n+`h^W9iHE;UKVz)_HaRe_Cth^jzLcjE_?c5x z(k?zoI3djv%9}d#$iEd&*YC|M*z%Bnkz4k~qZ{o4q%97!YyI=ceXnI$KheLsQYikS zM*FPEOe^=;bmTazDW!(*{*v)uJluA%(ju#bQIjfoV?tbS~(6fIvCoLlPi`oz8d$O&>~tIEum$j*Lkz0M|^xJ`gZr3Zfsy-zeocgW4L2!5R%5aVY8)t04 z{w1R5&fX2vA}>!)KmWzOgT3Lh&hbp0rXM$j8t?eey2z`z)L;7ViP>W7=7mpdx8|K` zre4M~`>ol#hkJLH{8oWkEcg4(efRZv`tHb6O2S*;sP5m=_%DsC{$xgocJbTytKX;J2rtvwF!kf^ z$ZoIsTh5(2WOwNHdacV`@*>hj~2>&XxUJ*j;|UGPFrB?CFZwm*RMgdHRIQleAy69X3tf*LQg8zdC`_ zv9dzdEFSXTtCqi3k<)*ADtLXpnB)6Pe5=`C=om+reOmTpg6jY4Q_s@-+l4yC4<}Hhie+bj3iF}_jOg0e0{^s z_1eL+t?xh9{@u(Fz_#7s^cIm#vX^d5YM*sN;)2fqx8ggimu&iY`_5~&)=kSy)+v>8 hch#Oc?)@iCkY`8Lo4^hGts9FNCSQ1?@O9&gLI5Z4kNyAv diff --git a/modules/default.nix b/modules/default.nix index f0e84b2d..6dea3ca6 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,6 +10,7 @@ ./git.nix ./global-mailer.nix ./gomuks.nix + ./minecraft.nix ./neovim.nix ./nix.nix ./nginx.nix diff --git a/modules/minecraft.nix b/modules/minecraft.nix new file mode 100644 index 00000000..56e2b866 --- /dev/null +++ b/modules/minecraft.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +{ + options.chvp.minecraft = { + client = lib.mkOption { + default = false; + example = true; + }; + server = lib.mkOption { + default = false; + example = true; + }; + }; + + config = lib.mkIf (config.chvp.minecraft.client || config.chvp.minecraft.server) { + home-manager.users.charlotte = lib.mkIf config.chvp.minecraft.client ({ ... }: { + home.packages = [ pkgs.minecraft ]; + }); + chvp.zfs.homeLinks = lib.optional config.chvp.minecraft.client { path = ".minecraft"; type = "cache"; }; + services.minecraft-server = lib.mkIf config.chvp.minecraft.server { + enable = true; + dataDir = "${config.chvp.dataPrefix}/var/lib/minecraft-server"; + eula = true; + openFirewall = true; + }; + chvp.nix.unfreePackages = + (lib.optional config.chvp.minecraft.client "minecraft-launcher") ++ + (lib.optional config.chvp.minecraft.server "minecraft-server"); + }; +} diff --git a/modules/nix.nix b/modules/nix.nix index 8b0d5ab2..90d0f353 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -47,9 +47,9 @@ in default = true; example = false; }; - enableUnfree = lib.mkOption { - default = false; - example = true; + unfreePackages = lib.mkOption { + default = [ ]; + example = [ "teams" ]; }; # Note that this is only enabled for charlotte, until https://github.com/bennofs/nix-index/issues/143 is resolved. enableNixIndex = lib.mkOption { @@ -84,14 +84,7 @@ in ''); }; - nixpkgs.config = lib.mkIf config.chvp.nix.enableUnfree { - allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "citrix-workspace" - "dropbox" - "teams" - "google-chrome" - ]; - }; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.chvp.nix.unfreePackages; nixpkgs.overlays = lib.mkIf config.chvp.nix.enableFlakes [ (self: super: { nix = super.nixUnstable; diff --git a/profiles/graphical.nix b/profiles/graphical.nix index e330d564..c8c10b9d 100644 --- a/profiles/graphical.nix +++ b/profiles/graphical.nix @@ -59,5 +59,8 @@ services.fwupd.enable = true; - chvp.gnupg.pinentryFlavor = "qt"; + chvp = { + gnupg.pinentryFlavor = "qt"; + nix.unfreePackages = [ "google-chrome" ]; + }; }