diff --git a/flake.lock b/flake.lock index 72fd283..2207d6e 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729509737, - "narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=", + "lastModified": 1729742320, + "narHash": "sha256-u3Of8xRkN//me8PU+RucKA59/6RNy4B2jcGAF36P4jI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037", + "rev": "e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729307008, - "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "lastModified": 1729973466, + "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", "type": "github" }, "original": { @@ -70,11 +70,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1729256560, - "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2471488..05175e9 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,9 @@ # Main nix package repository nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + # NixOS unstable channel + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; @@ -20,9 +23,6 @@ nix-flatpak = { url = "github:gmodena/nix-flatpak"; }; - - # NixOS unstable channel - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; }; ####### @@ -39,7 +39,7 @@ } @ inputs: let # Supported systems for your flake packages, shell, etc. systems = [ - # "aarch64-linux" + "aarch64-linux" "x86_64-linux" ]; @@ -74,7 +74,8 @@ # NixOS configuration entrypoint # Available through 'nixos-rebuild --flake .#your-hostname' - nixosConfigurations = host_helper "crocoite"; # // (host_helper example); + nixosConfigurations = host_helper "crocoite" # // (host_helper example); + // host_helper "factorio"; ## Standalone home-manager configuration entrypoint ## Available through 'home-manager --flake .#your-username@your-hostname' diff --git a/hosts/crocoite/hardware-configuration.nix b/hosts/crocoite/hardware-configuration.nix index f4a0453..3ff12fe 100644 --- a/hosts/crocoite/hardware-configuration.nix +++ b/hosts/crocoite/hardware-configuration.nix @@ -12,7 +12,7 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"]; + boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = []; boot.kernelModules = ["kvm-amd"]; boot.extraModulePackages = []; @@ -40,6 +40,7 @@ #boot.blacklistedKernelModules = [ "acpi-cpufreq" ]; boot.kernelParams = [ "amd_pstate=active" + "usbcore.autosuspend=-1" ]; #services.auto-epp.enable = true; diff --git a/hosts/factorio/factorio.nix b/hosts/factorio/factorio.nix index 55046d5..e504fae 100644 --- a/hosts/factorio/factorio.nix +++ b/hosts/factorio/factorio.nix @@ -45,6 +45,6 @@ ./hardware-configuration.nix ../../modules/locale.nix - ../../modules/game/server/factorio.nix + ../../modules/game/server/factorio/factorio.nix ]; } diff --git a/modules/game/server/factorio.nix b/modules/game/server/factorio/factorio.nix similarity index 86% rename from modules/game/server/factorio.nix rename to modules/game/server/factorio/factorio.nix index 55e37bd..5c13a48 100644 --- a/modules/game/server/factorio.nix +++ b/modules/game/server/factorio/factorio.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { # Also enable non-free packages or else the factorio download will fail: - nixpkgs.config.allowUnfree = true; + #nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ factorio-headless @@ -9,6 +9,10 @@ services.factorio = { enable = true; openFirewall = true; + package = pkgs.factorio-headless.override { + versionsJson = ./versions.json; + }; + #mods = # let # inherit (pkgs) lib; diff --git a/modules/game/server/factorio/versions.json b/modules/game/server/factorio/versions.json new file mode 100644 index 0000000..a2b2d94 --- /dev/null +++ b/modules/game/server/factorio/versions.json @@ -0,0 +1,102 @@ +{ + "x86_64-linux": { + "alpha": { + "experimental": { + "candidateHashFilenames": [ + "factorio_linux_2.0.13.tar.xz" + ], + "name": "factorio_alpha_x64-2.0.13.tar.xz", + "needsAuth": true, + "sha256": "25fc4c8b0c0b63d8024e1e76efda50e6f8348e967e03c2770eb8a867494b9c98", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.13/alpha/linux64", + "version": "2.0.13" + }, + "stable": { + "candidateHashFilenames": [ + "factorio_linux_2.0.12.tar.xz" + ], + "name": "factorio_alpha_x64-2.0.12.tar.xz", + "needsAuth": true, + "sha256": "e7307263990274f673e45df9d839c7754a49e389e80a01a79217dfec5532b104", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.12/alpha/linux64", + "version": "2.0.12" + } + }, + "demo": { + "experimental": { + "candidateHashFilenames": [ + "factorio_demo_x64_1.1.110.tar.xz" + ], + "name": "factorio_demo_x64-1.1.110.tar.xz", + "needsAuth": false, + "sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/1.1.110/demo/linux64", + "version": "1.1.110" + }, + "stable": { + "candidateHashFilenames": [ + "factorio_demo_x64_1.1.110.tar.xz" + ], + "name": "factorio_demo_x64-1.1.110.tar.xz", + "needsAuth": false, + "sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/1.1.110/demo/linux64", + "version": "1.1.110" + } + }, + "expansion": { + "experimental": { + "candidateHashFilenames": [ + "factorio-space-age_linux_2.0.13.tar.xz" + ], + "name": "factorio_expansion_x64-2.0.13.tar.xz", + "needsAuth": true, + "sha256": "5834dc11791aa24c0edc6ecfdd223f80af9c6842c39be0fb8c3b188463ec0f54", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.13/expansion/linux64", + "version": "2.0.13" + }, + "stable": { + "candidateHashFilenames": [ + "factorio-space-age_linux_2.0.12.tar.xz" + ], + "name": "factorio_expansion_x64-2.0.12.tar.xz", + "needsAuth": true, + "sha256": "6a8a776bc67713bf394c100059ce66e718e46d6bebae0bbc63fd6b3356f461ee", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.12/expansion/linux64", + "version": "2.0.12" + } + }, + "headless": { + "experimental": { + "candidateHashFilenames": [ + "factorio-headless_linux_2.0.13.tar.xz", + "factorio_headless_x64_2.0.13.tar.xz" + ], + "name": "factorio_headless_x64-2.0.13.tar.xz", + "needsAuth": false, + "sha256": "27b36901a39e593adf28418c0286142c6c7a9f83d156963c7369bd405a25c7d1", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.13/headless/linux64", + "version": "2.0.13" + }, + "stable": { + "candidateHashFilenames": [ + "factorio-headless_linux_2.0.12.tar.xz", + "factorio_headless_x64_2.0.12.tar.xz" + ], + "name": "factorio_headless_x64-2.0.12.tar.xz", + "needsAuth": false, + "sha256": "d2f820e5e27a64414ed13522c4db01c82b3c6323c6380ae0aa75db4f94488d31", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.12/headless/linux64", + "version": "2.0.12" + } + } + } +} diff --git a/modules/sec_auth/login-manager.nix b/modules/sec_auth/login-manager.nix index 6f77277..3964f7e 100644 --- a/modules/sec_auth/login-manager.nix +++ b/modules/sec_auth/login-manager.nix @@ -6,7 +6,7 @@ vt = 7; settings = { default_session = { - command = '' ${pkgs.greetd.tuigreet}/bin/tuigreet \ + command = ''${pkgs.greetd.tuigreet}/bin/tuigreet \ --time \ --time-format '%Y-%m-%dT%H:%M:%S %A' \ --remember \