From c58a266a1eafa8711e33729ccea15c40fa6b7ba0 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Tue, 15 Jul 2025 19:16:48 +0100 Subject: [PATCH] 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 { };