From f660b601e2d7c039509595533e5721736498e19c Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Wed, 26 Nov 2025 21:42:02 -0600 Subject: [PATCH 1/7] feat: installed noita entangled worlds on horizon --- .../nixos/horizon/configuration.nix | 1 + flake.lock | 75 +++++++++++++++++++ flake.nix | 6 ++ modules/common-modules/overlays/default.nix | 4 + modules/common-modules/pkgs/default.nix | 3 - .../pkgs/noita-entangled-worlds.nix | 46 ------------ 6 files changed, 86 insertions(+), 49 deletions(-) delete mode 100644 modules/common-modules/pkgs/noita-entangled-worlds.nix diff --git a/configurations/nixos/horizon/configuration.nix b/configurations/nixos/horizon/configuration.nix index 0e86fe7..0245253 100644 --- a/configurations/nixos/horizon/configuration.nix +++ b/configurations/nixos/horizon/configuration.nix @@ -88,6 +88,7 @@ environment.systemPackages = with pkgs; [ cachefilesd webtoon-dl + noita_entangled_worlds ]; services.cachefilesd.enable = true; diff --git a/flake.lock b/flake.lock index e9d259b..a3c552f 100644 --- a/flake.lock +++ b/flake.lock @@ -329,6 +329,43 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1759070547, + "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "647e5c14cbd5067f44ac86b74f014962df460840", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "noita-entangled-worlds": { + "inputs": { + "nixpkgs": "nixpkgs_3", + "rust-overlay": "rust-overlay", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1764204484, + "narHash": "sha256-S45ghD/YjcKDy8Mz3DYklLMaA/z6f6mTbx0i7pAktYk=", + "owner": "IntQuant", + "repo": "noita_entangled_worlds", + "rev": "ab2c2162157140ab519fa19f6737c044e1ed0e3b", + "type": "github" + }, + "original": { + "owner": "IntQuant", + "ref": "master", + "repo": "noita_entangled_worlds", + "type": "github" + } + }, "root": { "inputs": { "disko": "disko", @@ -343,10 +380,32 @@ "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", + "noita-entangled-worlds": "noita-entangled-worlds", "secrets": "secrets", "sops-nix": "sops-nix" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "noita-entangled-worlds", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759199574, + "narHash": "sha256-w24RYly3VSVKp98rVfCI1nFYfQ0VoWmShtKPCbXgK6A=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "381776b12d0d125edd7c1930c2041a1471e586c0", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "secrets": { "flake": false, "locked": { @@ -412,6 +471,22 @@ "repo": "default", "type": "github" } + }, + "systems_3": { + "flake": false, + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 6f85fa3..e935688 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,12 @@ url = "github:utensils/mcp-nixos"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # Noita Entangled Worlds package + # Not following our nixpkgs so it can use its own rust-overlay configuration + noita-entangled-worlds = { + url = "github:IntQuant/noita_entangled_worlds/master"; + }; }; outputs = { diff --git a/modules/common-modules/overlays/default.nix b/modules/common-modules/overlays/default.nix index 2c0f712..f658e8a 100644 --- a/modules/common-modules/overlays/default.nix +++ b/modules/common-modules/overlays/default.nix @@ -2,5 +2,9 @@ {inputs, ...}: { nixpkgs.overlays = [ inputs.nix-vscode-extensions.overlays.default + # Add noita_entangled_worlds from upstream flake to pkgs + (final: prev: { + noita_entangled_worlds = inputs.noita-entangled-worlds.packages.${prev.system}.noita-proxy; + }) ]; } diff --git a/modules/common-modules/pkgs/default.nix b/modules/common-modules/pkgs/default.nix index 612dd08..2afc9f2 100644 --- a/modules/common-modules/pkgs/default.nix +++ b/modules/common-modules/pkgs/default.nix @@ -20,9 +20,6 @@ ./prostudiomasters.nix {}; }) - (final: prev: { - noita_entangled_worlds = pkgs.callPackage ./noita-entangled-worlds.nix {}; - }) (final: prev: { gdx-liftoff = pkgs.callPackage ./gdx-liftoff.nix {}; }) diff --git a/modules/common-modules/pkgs/noita-entangled-worlds.nix b/modules/common-modules/pkgs/noita-entangled-worlds.nix deleted file mode 100644 index 322ce41..0000000 --- a/modules/common-modules/pkgs/noita-entangled-worlds.nix +++ /dev/null @@ -1,46 +0,0 @@ -# not working yet -{ - pkgs, - rustPlatform, - fetchFromGitHub, - ... -}: let - version = "1.5.3"; - repo = fetchFromGitHub { - owner = "IntQuant"; - repo = "noita_entangled_worlds"; - rev = "v${version}"; - hash = "sha256-frrpD0aWTeDbZYtp15R+quUUAZf7OvHlbSLtGJJtAqk="; - }; -in - rustPlatform.buildRustPackage { - name = "noita-proxy-${version}"; - src = repo + "/noita-proxy"; - prePatch = '' - substituteInPlace Cargo.toml \ - --replace "path = \"../shared\"" "path = \"${repo + "/shared"}\"" - ''; - nativeBuildInputs = with pkgs; [ - pkg-config - python3 - cmake - ]; - buildInputs = with pkgs; [ - openssl - openssl.dev - libpulseaudio - libjack2 - alsa-lib - xorg.libxcb - xorg.libxcb.dev - libopus - ]; - propagatedBuildInputs = with pkgs; [ - steamworks-sdk-redist - ]; - runtimeDependencies = with pkgs; [ - steamworks-sdk-redist - ]; - doCheck = false; - cargoHash = "sha256-TzUS6d6PopgGf2i1yVaXaXdzNrvfSz+Gv67BAtxYmb4="; - } From 1d5bb9e945b5bf6e49bc54db57d41e903903ade2 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Wed, 26 Nov 2025 21:52:17 -0600 Subject: [PATCH 2/7] feat: installed noita proxy for eve and leyla users --- configurations/home-manager/eve/packages.nix | 1 + .../home-manager/leyla/packages/default.nix | 1 + configurations/nixos/horizon/configuration.nix | 1 - .../home-manager-modules/programs/default.nix | 1 + .../programs/noita-entangled-worlds.nix | 18 ++++++++++++++++++ 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager-modules/programs/noita-entangled-worlds.nix diff --git a/configurations/home-manager/eve/packages.nix b/configurations/home-manager/eve/packages.nix index f650a70..6b3c2e2 100644 --- a/configurations/home-manager/eve/packages.nix +++ b/configurations/home-manager/eve/packages.nix @@ -73,6 +73,7 @@ in { tor-browser.enable = true; olympus.enable = true; libreoffice.enable = true; + noita-entangled-worlds.enable = true; claude-code.enable = osConfig.host.ai.enable; diff --git a/configurations/home-manager/leyla/packages/default.nix b/configurations/home-manager/leyla/packages/default.nix index d065739..bc41350 100644 --- a/configurations/home-manager/leyla/packages/default.nix +++ b/configurations/home-manager/leyla/packages/default.nix @@ -68,6 +68,7 @@ in { qflipper.enable = true; openvpn.enable = true; noisetorch.enable = true; + noita-entangled-worlds.enable = true; tor-browser.enable = true; gdx-liftoff.enable = true; }) diff --git a/configurations/nixos/horizon/configuration.nix b/configurations/nixos/horizon/configuration.nix index 0245253..0e86fe7 100644 --- a/configurations/nixos/horizon/configuration.nix +++ b/configurations/nixos/horizon/configuration.nix @@ -88,7 +88,6 @@ environment.systemPackages = with pkgs; [ cachefilesd webtoon-dl - noita_entangled_worlds ]; services.cachefilesd.enable = true; diff --git a/modules/home-manager-modules/programs/default.nix b/modules/home-manager-modules/programs/default.nix index c164c44..e70cfc8 100644 --- a/modules/home-manager-modules/programs/default.nix +++ b/modules/home-manager-modules/programs/default.nix @@ -31,6 +31,7 @@ ./freecad.nix ./onionshare.nix ./mfoc.nix + ./noita-entangled-worlds.nix ./pdfarranger.nix ./picard.nix ./qflipper.nix diff --git a/modules/home-manager-modules/programs/noita-entangled-worlds.nix b/modules/home-manager-modules/programs/noita-entangled-worlds.nix new file mode 100644 index 0000000..3f3af64 --- /dev/null +++ b/modules/home-manager-modules/programs/noita-entangled-worlds.nix @@ -0,0 +1,18 @@ +{ + lib, + pkgs, + config, + ... +}: { + options = { + programs.noita-entangled-worlds = { + enable = lib.mkEnableOption "Noita Entangled Worlds multiplayer mod"; + }; + }; + + config = lib.mkIf config.programs.noita-entangled-worlds.enable { + home.packages = with pkgs; [ + noita_entangled_worlds + ]; + }; +} From 5776640b5d431d9520b8c42d7442ef4b798e4e91 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Thu, 27 Nov 2025 14:26:33 -0600 Subject: [PATCH 3/7] feat: only allow post quantum crypto --- modules/nixos-modules/ssh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/nixos-modules/ssh.nix b/modules/nixos-modules/ssh.nix index 6f5fac1..0a82116 100644 --- a/modules/nixos-modules/ssh.nix +++ b/modules/nixos-modules/ssh.nix @@ -16,6 +16,8 @@ }; }; }; + + programs.ssh.kexAlgorithms = config.services.openssh.settings.KexAlgorithms; } (lib.mkIf config.host.impermanence.enable { environment.persistence."/persist/system/root" = { From b9251029d57b808af7af130d166a6dd2b282b69a Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Thu, 27 Nov 2025 14:33:11 -0600 Subject: [PATCH 4/7] feat: fixed deprecation warning --- modules/common-modules/overlays/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/common-modules/overlays/default.nix b/modules/common-modules/overlays/default.nix index f658e8a..3def9e9 100644 --- a/modules/common-modules/overlays/default.nix +++ b/modules/common-modules/overlays/default.nix @@ -4,7 +4,7 @@ inputs.nix-vscode-extensions.overlays.default # Add noita_entangled_worlds from upstream flake to pkgs (final: prev: { - noita_entangled_worlds = inputs.noita-entangled-worlds.packages.${prev.system}.noita-proxy; + noita_entangled_worlds = inputs.noita-entangled-worlds.packages.${prev.stdenv.hostPlatform.system}.noita-proxy; }) ]; } From be8126e2c540c5e8cb7921527fc205351c2f3922 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Thu, 27 Nov 2025 18:21:55 -0600 Subject: [PATCH 5/7] feat: switched to wayland --- .../nixos/twilight/configuration.nix | 4 - configurations/nixos/twilight/monitors.nix | 199 ------------------ .../nixos/twilight/nvidia-drivers.nix | 5 +- 3 files changed, 3 insertions(+), 205 deletions(-) delete mode 100644 configurations/nixos/twilight/monitors.nix diff --git a/configurations/nixos/twilight/configuration.nix b/configurations/nixos/twilight/configuration.nix index 477c517..d02af0a 100644 --- a/configurations/nixos/twilight/configuration.nix +++ b/configurations/nixos/twilight/configuration.nix @@ -4,10 +4,6 @@ pkgs, ... }: { - imports = [ - ./monitors.nix - ]; - nixpkgs.config.allowUnfree = true; boot.initrd.availableKernelModules = ["usb_storage"]; diff --git a/configurations/nixos/twilight/monitors.nix b/configurations/nixos/twilight/monitors.nix deleted file mode 100644 index 1308f50..0000000 --- a/configurations/nixos/twilight/monitors.nix +++ /dev/null @@ -1,199 +0,0 @@ -{pkgs, ...}: { - systemd.tmpfiles.rules = [ - "L+ /run/gdm/.config/monitors.xml - - - - ${pkgs.writeText "gdm-monitors.xml" '' - - - - 0 - 156 - 1 - - - DP-4 - DEL - DELL U2719D - 8RGXNS2 - - - 2560 - 1440 - 59.951 - - - - - 2560 - 324 - 1 - yes - - - DP-2 - GSM - LG ULTRAGEAR - 0x00068c96 - - - 1920 - 1080 - 240.001 - - - - - 4480 - 0 - 1 - - left - no - - - - HDMI-0 - HWP - HP w2207 - CND7332S88 - - - 1600 - 1000 - 59.999 - - - - - - - 0 - 0 - 1 - yes - - - DP-1 - DEL - DELL U2719D - 8RGXNS2 - - - 2560 - 1440 - 59.951 - - - - - 4480 - 226 - 1 - - left - no - - - - HDMI-1 - HWP - HP w2207 - CND7332S88 - - - 1680 - 1050 - 59.954 - - - - - 2560 - 226 - 1 - - - DP-2 - GSM - LG ULTRAGEAR - 0x00068c96 - - - 1920 - 1080 - 240.001 - - - - - - - 2560 - 228 - 1 - yes - - - DP-2 - GSM - LG ULTRAGEAR - 0x00068c96 - - - 1920 - 1080 - 240.001 - - - - - 4480 - 69 - 1 - - left - no - - - - HDMI-1 - HWP - HP w2207 - CND7332S88 - - - 1680 - 1050 - 59.954 - - - - - 0 - 0 - 1 - - - DP-3 - DEL - DELL U2719D - 8RGXNS2 - - - 2560 - 1440 - 59.951 - - - - - - None-1 - unknown - unknown - unknown - - - - - ''}" - ]; -} diff --git a/configurations/nixos/twilight/nvidia-drivers.nix b/configurations/nixos/twilight/nvidia-drivers.nix index d875e37..2842d0a 100644 --- a/configurations/nixos/twilight/nvidia-drivers.nix +++ b/configurations/nixos/twilight/nvidia-drivers.nix @@ -4,8 +4,9 @@ # Load nvidia driver for Xorg and Wayland videoDrivers = ["nvidia"]; }; - # Use X instead of wayland for gaming reasons - displayManager.gdm.wayland = false; + # Temporarily enable wayland to fix boot issue + # TODO: Investigate proper X11 session generation for gaming + displayManager.gdm.wayland = true; }; hardware = { From 04777cfb8f0a549576c187c189e0718cf6d89815 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Thu, 27 Nov 2025 18:43:03 -0600 Subject: [PATCH 6/7] feat: removed xterm --- modules/nixos-modules/desktop.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/nixos-modules/desktop.nix b/modules/nixos-modules/desktop.nix index 6686ee3..66a2433 100644 --- a/modules/nixos-modules/desktop.nix +++ b/modules/nixos-modules/desktop.nix @@ -47,6 +47,9 @@ # Get rid of xTerm desktopManager.xterm.enable = false; + excludePackages = with pkgs; [ + xterm + ]; }; # Enable the GNOME Desktop Environment. From 719a21a95e57476e098f332d0dc9cc7417dfd2fb Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Thu, 27 Nov 2025 18:44:49 -0600 Subject: [PATCH 7/7] feat: switched emergent to using wayland --- configurations/nixos/emergent/nvidia-drivers.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/configurations/nixos/emergent/nvidia-drivers.nix b/configurations/nixos/emergent/nvidia-drivers.nix index b532446..05b7205 100644 --- a/configurations/nixos/emergent/nvidia-drivers.nix +++ b/configurations/nixos/emergent/nvidia-drivers.nix @@ -1,9 +1,4 @@ -{ - config, - lib, - pkgs, - ... -}: { +{config, ...}: { # Enable OpenGL hardware.graphics = { enable = true; @@ -16,7 +11,7 @@ videoDrivers = ["nvidia"]; }; # Use X instead of wayland - displayManager.gdm.wayland = false; + displayManager.gdm.wayland = true; }; hardware.nvidia = {