From b06525436b8dc0193c78d619792a431c20021da3 Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Sat, 25 Jan 2025 16:59:55 +0100 Subject: [PATCH] kaas --- default.nix | 3 +++ flake.nix | 5 +++++ hosts/chris-pc/default.nix | 15 +++++++++++++++ hosts/chris-server/default.nix | 5 +++++ modules/desktop/games/minecraft.nix | 21 +++++++++++++++++++++ modules/services/games/minecraft.nix | 6 ++++-- modules/services/games/palworld.nix | 25 +++++++++++++++++++++++++ modules/services/media.nix | 1 + modules/system/boot.nix | 11 ----------- modules/system/graphics.nix | 18 +++++++++--------- 10 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 modules/desktop/games/minecraft.nix create mode 100644 modules/services/games/palworld.nix diff --git a/default.nix b/default.nix index cf965ae..1776ab3 100644 --- a/default.nix +++ b/default.nix @@ -20,8 +20,11 @@ in nixpkgs.overlays = [ inputs.nix-minecraft.overlay + inputs.flux.overlays.default ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + environment.variables = { SNEEUWVLOK = config.sneeuwvlok.dir; NIXPKGS_ALLOW_UNFREE = "1"; diff --git a/flake.nix b/flake.nix index fc13724..390fbbb 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,7 @@ zen-browser.url = "github:MarceColl/zen-browser-flake"; nix-minecraft.url = "github:Infinidoge/nix-minecraft"; + flux.url = "github:IogaMaster/flux"; }; outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, ... }: @@ -45,6 +46,10 @@ import pkgs { inherit system; config.allowUnfree = true; + config.permittedInsecurePackages = [ + "dotnet-sdk-6.0.428" + "aspnetcore-runtime-6.0.36" + ]; overlays = extraOverlays ++ (lib.attrValues self.overlays); }; pkgs = mkPkgs nixpkgs [self.overlays.default]; diff --git a/hosts/chris-pc/default.nix b/hosts/chris-pc/default.nix index 10a44d2..72315cc 100644 --- a/hosts/chris-pc/default.nix +++ b/hosts/chris-pc/default.nix @@ -2,6 +2,17 @@ { imports = [ ./hardware.nix ]; + fileSystems."/home/chris/games" = { + device = "/dev/disk/by-label/games"; + fsType = "ext4"; + }; + + fileSystems."/home/chris/data" = { + device = "/dev/disk/by-label/Data"; + fsType = "ntfs-3g"; + options = [ "rw" "uid=chris" ]; + }; + modules = { themes = { enable = true; @@ -24,6 +35,10 @@ plasma.enable = true; type = "wayland"; +# games = { +# minecraft.enable = false; +# }; + applications = { communication.enable = true; email.enable = true; diff --git a/hosts/chris-server/default.nix b/hosts/chris-server/default.nix index a820d65..3c2d145 100644 --- a/hosts/chris-server/default.nix +++ b/hosts/chris-server/default.nix @@ -2,6 +2,11 @@ { imports = [ ./hardware.nix ]; + fileSystems."/var/media_from_conf" = { + device = "/dev/disk/by-label/data"; + fsType = "ext4"; + }; + modules = { themes = { enable = true; diff --git a/modules/desktop/games/minecraft.nix b/modules/desktop/games/minecraft.nix new file mode 100644 index 0000000..c5b21ff --- /dev/null +++ b/modules/desktop/games/minecraft.nix @@ -0,0 +1,21 @@ +{ options, config, lib, pkgs, ... }: +let + inherit (lib.modules) mkIf mkForce mkMerge; + inherit (lib.attrsets) attrValues; + + cfg = config.modules.desktop.games.minecraft; +in +{ + options.modules.desktop.games.minecraft = let + inherit (lib.options) mkEnableOption; + in { + enable = mkEnableOption "minecraft (Modrinth)"; + }; + + config = mkIf cfg.enable + { + user.packages = attrValues { + inherit (pkgs) modrinth-app minecraft; + }; + }; +} diff --git a/modules/services/games/minecraft.nix b/modules/services/games/minecraft.nix index a421151..655f745 100644 --- a/modules/services/games/minecraft.nix +++ b/modules/services/games/minecraft.nix @@ -14,6 +14,7 @@ in enable = true; eula = true; + user = "chris"; dataDir = "/var/lib/minecraft"; servers = { @@ -21,7 +22,7 @@ in enable = true; autoStart = true; - package = pkgs.fabricServers.fabric-1_20_4.override { loaderVersion = "0.14.20"; }; + package = pkgs.fabricServers.fabric-1_20_4.override { loaderVersion = "0.15.11"; }; serverProperties = { gamemode = "survival"; @@ -43,7 +44,8 @@ in inherit (pkgs) linkFarmFromDrvs fetchurl; in{ mods = linkFarmFromDrvs "mods" (attrValues { - Terraforged = fetchurl { url = "https://cdn.modrinth.com/data/FIlZB9L0/versions/EVe9wYaj/Terra-fabric-6.4.3-BETA%2Bab60f14ff.jar"; sha512 = "90dc1215b352fcbce0219dab616dc2be28eaff4622233cbfadd6060aa52432f2ba86f05f1118314b46102b3ab3c6f8070e6780cf6512a8961ac47c235dd764f9"; }; + FabricApi = fetchurl { url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/QVBohPm2/fabric-api-0.97.2%2B1.20.4.jar"; sha512 = "8f02bf562781a2f08294736eff784b7e7463be1595b1e3b4f53d4dcb57fc0643890078265141c3bce882dfec6e77553d2db252992fdfbd55cd7d32777adb9d78"; }; + Terralith = fetchurl { url = "https://cdn.modrinth.com/data/8oi3bsk5/versions/WeYhEb5d/Terralith_1.20.x_v2.5.4.jar"; sha512 = "885e171d8b34aae7e142f082d0364285ec5a8e8342f11c60d341f7a94083d5a42c4e30612fe4f9f64d57b484396a3dff3a224e2a2497d4ced8d22f2ad6cd561d"; }; DistantHorizons = fetchurl { url = "https://cdn.modrinth.com/data/uCdwusMi/versions/jptcCdp2/DistantHorizons-2.2.1-a-1.20.4-forge-fabric.jar"; sha512 = "47368d91099d0b5f364339a69f4e425f8fb1e3a7c3250a8b649da76135e68a22f1a76b191c87e15a5cdc0a1d36bc57f2fa825490d96711d09d96807be97d575d"; }; }); }; diff --git a/modules/services/games/palworld.nix b/modules/services/games/palworld.nix new file mode 100644 index 0000000..2f11597 --- /dev/null +++ b/modules/services/games/palworld.nix @@ -0,0 +1,25 @@ +{ config, options, lib, pkgs, ... }: +let + inherit (lib.modules) mkIf; +in +{ + options.modules.services.games.palworld = let + inherit (lib.options) mkEnableOption; + in { + enable = mkEnableOption "Palworld"; + }; + + config = mkIf config.modules.services.games.palworld.enable { +# kaas = (pkgs.mkSteamServer rec { +# name = "Palworld"; +# src = pkgs.fetchSteam { +# inherit name; +# appId = "2394010"; +# hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +# }; +# +# sartCmd = "PalServer.sh"; +# hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +# }); + }; +} diff --git a/modules/services/media.nix b/modules/services/media.nix index 3ed3f85..e863406 100644 --- a/modules/services/media.nix +++ b/modules/services/media.nix @@ -19,6 +19,7 @@ in environment.systemPackages = with pkgs; [ podman-tui jellyfin + jellyfin-ffmpeg jellyseerr mediainfo id3v2 diff --git a/modules/system/boot.nix b/modules/system/boot.nix index 8cda96f..32c22db 100644 --- a/modules/system/boot.nix +++ b/modules/system/boot.nix @@ -3,15 +3,4 @@ boot.loader.systemd-boot.enable = true; time.timeZone = "Europe/Amsterdam"; - - fileSystems."/home/chris/new_games" = { - device = "/dev/disk/by-label/games"; - fsType = "ext4"; - }; - - fileSystems."/home/chris/data" = { - device = "/dev/disk/by-label/Data"; - fsType = "ntfs-3g"; - options = [ "rw" "uid=chris" ]; - }; } diff --git a/modules/system/graphics.nix b/modules/system/graphics.nix index d286663..ef035a0 100644 --- a/modules/system/graphics.nix +++ b/modules/system/graphics.nix @@ -18,23 +18,23 @@ finegrained = false; }; - package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; -/* +# package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; + package = let rcu_patch = pkgs.fetchpatch { url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg="; }; in config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "535.154.05"; - sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; - sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; - openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; - settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; - persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; + version = "550.40.07"; + sha256_64bit = "sha256-KYk2xye37v7ZW7h+uNJM/u8fNf7KyGTZjiaU03dJpK0="; + sha256_aarch64 = "sha256-AV7KgRXYaQGBFl7zuRcfnTGr8rS5n13nGUIe3mJTXb4="; + openSha256 = "sha256-mRUTEWVsbjq+psVe+kAT6MjyZuLkG2yRDxCMvDJRL1I="; + settingsSha256 = "sha256-c30AQa4g4a1EHmaEu1yc05oqY01y+IusbBuq+P6rMCs="; + persistencedSha256 = "sha256-11tLSY8uUIl4X/roNnxf5yS2PQvHvoNjnd2CB67e870="; patches = [ rcu_patch ]; - };*/ + }; }; }; }