From 9783bde2f4bfa5bcf65423925520118c38e08300 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Tue, 15 Jul 2025 19:16:41 +0100 Subject: [PATCH 1/4] nixos/sheep-net: init --- nixos/modules/hardware/sheep-net.nix | 35 ++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 36 insertions(+) create mode 100644 nixos/modules/hardware/sheep-net.nix diff --git a/nixos/modules/hardware/sheep-net.nix b/nixos/modules/hardware/sheep-net.nix new file mode 100644 index 000000000000..3df6f5840efa --- /dev/null +++ b/nixos/modules/hardware/sheep-net.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.hardware.sheep_net; +in +{ + options.hardware.sheep_net = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enables sheep_net udev rules, ensures 'sheep_net' group exists, and adds + sheep-net to boot.kernelModules and boot.extraModulePackages + ''; + }; + }; + config = lib.mkIf cfg.enable { + services.udev.extraRules = '' + KERNEL=="sheep_net", GROUP="sheep_net" + ''; + boot.kernelModules = [ + "sheep_net" + ]; + boot.extraModulePackages = [ + config.boot.kernelPackages.sheep-net + ]; + users.groups.sheep_net = { }; + }; + meta.maintainers = with lib.maintainers; [ matthewcroughan ]; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d0831c02e6d7..250313621698 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -103,6 +103,7 @@ ./hardware/sata.nix ./hardware/sensor/hddtemp.nix ./hardware/sensor/iio.nix + ./hardware/sheep-net.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix ./hardware/tuxedo-drivers.nix From c58a266a1eafa8711e33729ccea15c40fa6b7ba0 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Tue, 15 Jul 2025 19:16:48 +0100 Subject: [PATCH 2/4] sheep_net: init Co-authored-by: bloxx12 Co-authored-by: Alyssa Ross --- nixos/modules/hardware/sheep-net.nix | 1 - pkgs/os-specific/linux/sheep-net/default.nix | 31 ++++++++++++++++++++ pkgs/top-level/linux-kernels.nix | 2 ++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/sheep-net/default.nix diff --git a/nixos/modules/hardware/sheep-net.nix b/nixos/modules/hardware/sheep-net.nix index 3df6f5840efa..47c64b6a4dbf 100644 --- a/nixos/modules/hardware/sheep-net.nix +++ b/nixos/modules/hardware/sheep-net.nix @@ -1,7 +1,6 @@ { config, lib, - pkgs, ... }: diff --git a/pkgs/os-specific/linux/sheep-net/default.nix b/pkgs/os-specific/linux/sheep-net/default.nix new file mode 100644 index 000000000000..115e73b1eb35 --- /dev/null +++ b/pkgs/os-specific/linux/sheep-net/default.nix @@ -0,0 +1,31 @@ +{ + kernel, + kernelModuleMakeFlags, + stdenv, + basiliskii, + lib, +}: +stdenv.mkDerivation (finalAttrs: { + name = "sheep_net"; + version = basiliskii.version; + src = basiliskii.src; + sourceRoot = "${finalAttrs.src.name}/BasiliskII/src/Unix/Linux/NetDriver"; + + nativeBuildInputs = kernel.moduleBuildDependencies; + makeFlags = kernelModuleMakeFlags ++ [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib/modules/${kernel.modDirVersion}/drivers/net + install -Dm444 sheep_net.ko $out/lib/modules/${kernel.modDirVersion}/drivers/net/sheep_net.ko + runHook postInstall + ''; + + meta = { + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ matthewcroughan ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index d9949207ece9..eaede2fc88bb 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -599,6 +599,8 @@ in rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { }; + sheep-net = callPackage ../os-specific/linux/sheep-net { }; + shufflecake = callPackage ../os-specific/linux/shufflecake { }; sysdig = callPackage ../os-specific/linux/sysdig { }; From 233710fd297d543ca77b606af55ddee77bcf1829 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 16 Jul 2025 14:17:51 +0100 Subject: [PATCH 3/4] basiliskii: add sheep_net comment to src --- pkgs/by-name/ba/basiliskii/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ba/basiliskii/package.nix b/pkgs/by-name/ba/basiliskii/package.nix index a6e77d3e5232..da69d76e1e2c 100644 --- a/pkgs/by-name/ba/basiliskii/package.nix +++ b/pkgs/by-name/ba/basiliskii/package.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation (finalAttrs: { pname = "basiliskii"; version = "unstable-2022-09-30"; + # This src is also used to build pkgs/os-specific/linux/sheep-net + # Therefore changes to it may effect the sheep-net package src = fetchFromGitHub { owner = "kanjitalk755"; repo = "macemu"; From 33260f2ea02e6bf2703eef8d42ddc4835e06e6a5 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 16 Jul 2025 14:23:31 +0100 Subject: [PATCH 4/4] basiliskii: unstable-2022-09-30 -> unstable-2025-07-16 --- pkgs/by-name/ba/basiliskii/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/basiliskii/package.nix b/pkgs/by-name/ba/basiliskii/package.nix index da69d76e1e2c..b6b5f257f45b 100644 --- a/pkgs/by-name/ba/basiliskii/package.nix +++ b/pkgs/by-name/ba/basiliskii/package.nix @@ -11,15 +11,15 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "basiliskii"; - version = "unstable-2022-09-30"; + version = "unstable-2025-07-16"; # This src is also used to build pkgs/os-specific/linux/sheep-net # Therefore changes to it may effect the sheep-net package src = fetchFromGitHub { owner = "kanjitalk755"; repo = "macemu"; - rev = "2fa17a0783cf36ae60b77b5ed930cda4dc1824af"; - sha256 = "+jkns6H2YjlewbUzgoteGSQYWJL+OWVu178aM+BtABM="; + rev = "030599cf8d31cb80afae0e1b086b5706dbdd2eea"; + sha256 = "sha256-gxaj+2ymelH6uWmjMLXi64xMNrToo6HZcJ7RW7sVMzo="; }; sourceRoot = "${finalAttrs.src.name}/BasiliskII/src/Unix"; patches = [ ./remove-redhat-6-workaround-for-scsi-sg.h.patch ];