diff --git a/hosts/muho/configuration.nix b/hosts/muho/configuration.nix index 15d46e7..6664a05 100644 --- a/hosts/muho/configuration.nix +++ b/hosts/muho/configuration.nix @@ -59,91 +59,10 @@ in { mods.unfree.steam.enable = false; mods.unfree.nvidia.enable = false; mods.unfree.minecraft.enable = false; + mods.unfree.valheim.enable = true; mods.server.vrising.enable = false; - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ - "valheim-server" - "steamworks-sdk-redist" - ]; - - services.valheim = { - enable = true; - serverName = "Smorld"; - worldName = "Smorld"; - openFirewall = true; - password = "notbeempty"; - bepinexMods = [ - (pkgs.fetchValheimThunderstoreMod { - owner = "ValheimModding"; - name = "Jotunn"; - version = "2.25.0"; - hash = "sha256-Tso4/Sf4Evt5kpBrVqZrjE9Qs2MSZV04WB1w+uX+TX8="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Azumatt"; - name = "AzuCraftyBoxes"; - version = "1.8.4"; - hash = "sha256-8bvHmONHuc9K0cgT42+W4oxQ6MusAv8v0IIVMerdYSA="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Azumatt"; - name = "AzuAutoStore"; - version = "3.0.8"; - hash = "sha256-ooghhDinwLTwEpTTQFj/brdb9Yj5aLGr+zYsjrsq9A0="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Azumatt"; - name = "AzuExtendedPlayerInventory"; - version = "1.4.9"; - hash = "sha256-Xd7KdUm3c14iQBST31DAqs+bQF9hwYhUxE66o3lusrA="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Azumatt"; - name = "Recycle_N_Reclaim"; - version = "1.3.6"; - hash = "sha256-2cWdmspwid2h1ekfDFAngN25402pQnxZQhm4rX6BNhw="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Azumatt"; - name = "AAA_Crafting"; - version = "1.6.6"; - hash = "sha256-cObo71X0wOzW3pZwAy7/dh7IRghu7EMPw7vWuoPWPlk="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "OdinPlus"; - name = "OdinCampsite"; - version = "1.5.8"; - hash = "sha256-r3HTjfNy7ehr6bsjddr6mTA7T8VVXRhDfulIodjc0jc="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "MSchmoecker"; - name = "MultiUserChest"; - version = "0.6.1"; - hash = "sha256-PhXW6vBtEMnhE93RAALEucPU9q3VpdMrooFawWYXl2A="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "Advize"; - name = "CartographySkill"; - version = "3.0.1"; - hash = "sha256-u20BTiyF4e6QJ6OUK5migjdEpyzIGRDxLPJ3NdZNhvA="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "blacks7ar"; - name = "VikingsDoSwim"; - version = "1.3.8"; - hash = "sha256-QCEYnx0I6onWEAJy851wS0WdC35L18DyJL1wAAwHFaU="; - }) - (pkgs.fetchValheimThunderstoreMod { - owner = "blacks7ar"; - name = "SeedBed"; - version = "1.2.7"; - hash = "sha256-wm2gGSyMQ6r3lLpbpXtZYG7s+fFYvw5nZGmSW54Ayt4="; - }) - ]; - }; - # Hardware preferences ## Mouse diff --git a/modules/nixos/unfree/default.nix b/modules/nixos/unfree/default.nix index adeea05..d9f045f 100644 --- a/modules/nixos/unfree/default.nix +++ b/modules/nixos/unfree/default.nix @@ -4,10 +4,10 @@ let mkPackages = mod: if cfg.${mod}.enable then cfg.${mod}.packages else [ ]; in { - imports = [ ./steam.nix ./nvidia.nix ./minecraft.nix ]; + imports = [ ./steam.nix ./nvidia.nix ./minecraft.nix ./valheim.nix ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) ((mkPackages "steam") ++ (mkPackages "minecraft") ++ (mkPackages "nvidia") - ++ [ "stremio-shell" "stremio-server" ]); + ++ (mkPackages "valheim") ++ [ "stremio-shell" "stremio-server" ]); } diff --git a/modules/nixos/unfree/valheim.nix b/modules/nixos/unfree/valheim.nix new file mode 100644 index 0000000..8f512e3 --- /dev/null +++ b/modules/nixos/unfree/valheim.nix @@ -0,0 +1,117 @@ +{ pkgs, lib, config, inputs, ... }: { + options.mods.unfree.valheim = { + enable = lib.mkEnableOption { + default = false; + description = "enables valheim server"; + }; + packages = lib.mkOption { + default = [ "valheim-server" "steamworks-sdk-redist" ]; + description = "unfree packages"; + }; + }; + + imports = [ inputs.valheim-server.nixosModules.default ]; + + config = lib.mkIf config.mods.unfree.valheim.enable { + services.valheim = { + enable = true; + serverName = "Smorld"; + worldName = "Smorld"; + openFirewall = true; + password = "notbeempty"; + bepinexMods = [ + (pkgs.fetchValheimThunderstoreMod { + owner = "ValheimModding"; + name = "Jotunn"; + version = "2.25.0"; + hash = "sha256-Tso4/Sf4Evt5kpBrVqZrjE9Qs2MSZV04WB1w+uX+TX8="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Azumatt"; + name = "AzuCraftyBoxes"; + version = "1.8.4"; + hash = "sha256-8bvHmONHuc9K0cgT42+W4oxQ6MusAv8v0IIVMerdYSA="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Azumatt"; + name = "AzuAutoStore"; + version = "3.0.8"; + hash = "sha256-ooghhDinwLTwEpTTQFj/brdb9Yj5aLGr+zYsjrsq9A0="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Azumatt"; + name = "AzuExtendedPlayerInventory"; + version = "1.4.9"; + hash = "sha256-Xd7KdUm3c14iQBST31DAqs+bQF9hwYhUxE66o3lusrA="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Azumatt"; + name = "Recycle_N_Reclaim"; + version = "1.3.6"; + hash = "sha256-2cWdmspwid2h1ekfDFAngN25402pQnxZQhm4rX6BNhw="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Azumatt"; + name = "AAA_Crafting"; + version = "1.6.6"; + hash = "sha256-cObo71X0wOzW3pZwAy7/dh7IRghu7EMPw7vWuoPWPlk="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "OdinPlus"; + name = "OdinCampsite"; + version = "1.5.8"; + hash = "sha256-r3HTjfNy7ehr6bsjddr6mTA7T8VVXRhDfulIodjc0jc="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "OdinPlus"; + name = "QuickTeleport"; + version = "1.1.0"; + hash = "sha256-YSAVthV994do/atQA+wGfillXeSYFlLJK6VyMcQNVKE="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "MSchmoecker"; + name = "MultiUserChest"; + version = "0.6.1"; + hash = "sha256-PhXW6vBtEMnhE93RAALEucPU9q3VpdMrooFawWYXl2A="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Advize"; + name = "CartographySkill"; + version = "3.0.1"; + hash = "sha256-u20BTiyF4e6QJ6OUK5migjdEpyzIGRDxLPJ3NdZNhvA="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "blacks7ar"; + name = "VikingsDoSwim"; + version = "1.3.8"; + hash = "sha256-QCEYnx0I6onWEAJy851wS0WdC35L18DyJL1wAAwHFaU="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "blacks7ar"; + name = "SeedBed"; + version = "1.2.7"; + hash = "sha256-wm2gGSyMQ6r3lLpbpXtZYG7s+fFYvw5nZGmSW54Ayt4="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Smoothbrain"; + name = "ServerCharacters"; + version = "1.4.16"; + hash = "sha256-aSB+G4nK3gf0yvMYWbICMFe3A0aCSr7nBH45G9ZdE9g="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "Smoothbrain"; + name = "SmoothSave"; + version = "1.0.5"; + hash = "sha256-v5Zn+0O0au8VDzO+302oCE7Z9s87I3nq+eK2WbVVyFo="; + }) + (pkgs.fetchValheimThunderstoreMod { + owner = "CW_Jesse"; + name = "BetterNetworking_Valheim"; + version = "2.3.2"; + hash = "sha256-krgZ4B+MbIG/3CQUMkVIB/xrvvW1TbxB0cp1KwCTBN4="; + }) + + ]; + }; + }; +} diff --git a/utils.nix b/utils.nix index 6691998..d81775d 100644 --- a/utils.nix +++ b/utils.nix @@ -8,7 +8,6 @@ ./modules/nixos inputs.home-manager.nixosModules.default inputs.stylix.nixosModules.stylix - inputs.valheim-server.nixosModules.default ]; }; }