switch from git submodules to flake inputs

This commit is contained in:
Jörg Thalheim 2025-11-28 16:19:52 +01:00 committed by Val Packett
parent 6e8e4b9fda
commit 57b8ae3424
9 changed files with 86 additions and 35 deletions

9
.gitmodules vendored
View file

@ -1,9 +0,0 @@
[submodule "muvm"]
path = muvm
url = https://github.com/valpackett/muvm
[submodule "libkrun"]
path = libkrun
url = https://github.com/containers/libkrun
[submodule "libkrunfw"]
path = libkrunfw
url = https://github.com/containers/libkrunfw

60
flake.lock generated
View file

@ -54,13 +54,64 @@
"type": "github" "type": "github"
} }
}, },
"libkrun-src": {
"flake": false,
"locked": {
"lastModified": 1764170836,
"narHash": "sha256-95B4otgPNoAD2WtAVYFeIwvDWCMvVCSFj5V8Obuk+Ks=",
"owner": "containers",
"repo": "libkrun",
"rev": "8a1467394189b51f5b0ec601352a0c3fd719d850",
"type": "github"
},
"original": {
"owner": "containers",
"repo": "libkrun",
"rev": "8a1467394189b51f5b0ec601352a0c3fd719d850",
"type": "github"
}
},
"libkrunfw-src": {
"flake": false,
"locked": {
"lastModified": 1762790667,
"narHash": "sha256-tVQ0jGef8uJNo2L4Pmhy3ajVRKJ2Gs9oi44eOYAnmds=",
"owner": "containers",
"repo": "libkrunfw",
"rev": "8a8c33f24f72aa6ca017347dc2be45b6fa612af5",
"type": "github"
},
"original": {
"owner": "containers",
"repo": "libkrunfw",
"rev": "8a8c33f24f72aa6ca017347dc2be45b6fa612af5",
"type": "github"
}
},
"muvm-src": {
"flake": false,
"locked": {
"lastModified": 1763708092,
"narHash": "sha256-8K9XDnQbl/fh1Bsx1SwFuo5WVy5BztCjMPT6NW01lXQ=",
"owner": "valpackett",
"repo": "muvm",
"rev": "3ec4c90bbfb6d0111f91b898a7f17deb562f4f92",
"type": "github"
},
"original": {
"owner": "valpackett",
"repo": "muvm",
"rev": "3ec4c90bbfb6d0111f91b898a7f17deb562f4f92",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1763966396, "lastModified": 1764242076,
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=", "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a", "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -73,6 +124,9 @@
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"libkrun-src": "libkrun-src",
"libkrunfw-src": "libkrunfw-src",
"muvm-src": "muvm-src",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"sidebus": "sidebus", "sidebus": "sidebus",
"virtwl": "virtwl" "virtwl": "virtwl"

View file

@ -5,17 +5,30 @@
}; };
inputs = { inputs = {
self.submodules = true;
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs.url = "git+https://github.com/valpackett/nixpkgs?shallow=1&submodules=1&ref=..";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
virtwl.url = "git+https://github.com/valpackett/wayland-proxy-virtwl?shallow=1&submodules=1&ref=wip"; virtwl.url = "git+https://github.com/valpackett/wayland-proxy-virtwl?shallow=1&submodules=1&ref=wip";
virtwl.inputs.nixpkgs.follows = "nixpkgs"; virtwl.inputs.nixpkgs.follows = "nixpkgs";
sidebus.url = "git+https://git.clan.lol/clan/sidebus?shallow=1&ref=main"; sidebus.url = "git+https://git.clan.lol/clan/sidebus?shallow=1&ref=main";
sidebus.inputs.nixpkgs.follows = "nixpkgs"; sidebus.inputs.nixpkgs.follows = "nixpkgs";
# Sources for packages (replaces git submodules)
# Pinned to the same commits as the original submodules
muvm-src = {
url = "github:valpackett/muvm/3ec4c90bbfb6d0111f91b898a7f17deb562f4f92";
flake = false;
};
libkrun-src = {
url = "github:containers/libkrun/8a1467394189b51f5b0ec601352a0c3fd719d850";
flake = false;
};
libkrunfw-src = {
url = "github:containers/libkrunfw/8a8c33f24f72aa6ca017347dc2be45b6fa612af5";
flake = false;
};
}; };
outputs = { self, nixpkgs, flake-utils, virtwl, sidebus, ... }: { outputs = { self, nixpkgs, flake-utils, virtwl, sidebus, muvm-src, libkrun-src, libkrunfw-src, ... }: {
nixosModules.testvm = nixpkgs.lib.modules.importApply ./nixosModules/testvm.nix { inherit virtwl; }; nixosModules.testvm = nixpkgs.lib.modules.importApply ./nixosModules/testvm.nix { inherit virtwl; };
nixosModules.default = nixpkgs.lib.modules.importApply ./nixosModules/default.nix { inherit self virtwl sidebus; }; nixosModules.default = nixpkgs.lib.modules.importApply ./nixosModules/default.nix { inherit self virtwl sidebus; };
@ -57,16 +70,20 @@
packages = { packages = {
# Packages support variant parameter: null (default), "sev", or "tdx" # Packages support variant parameter: null (default), "sev", or "tdx"
# To build a variant: packages.libkrunfw.override { variant = "sev"; } # To build a variant: packages.libkrunfw.override { variant = "sev"; }
libkrunfw = pkgs.callPackage ./packages/libkrunfw { }; libkrunfw = pkgs.callPackage ./packages/libkrunfw {
libkrunfw-src = libkrunfw-src;
};
libkrun = pkgs.callPackage ./packages/libkrun { libkrun = pkgs.callPackage ./packages/libkrun {
libkrunfw = self.packages.${system}.libkrunfw; libkrunfw = self.packages.${system}.libkrunfw;
libkrun-src = libkrun-src;
}; };
mesa = pkgs.callPackage ./packages/mesa { }; mesa = pkgs.callPackage ./packages/mesa { };
muvm = pkgs.callPackage ./packages/muvm { muvm = pkgs.callPackage ./packages/muvm {
libkrun = self.packages.${system}.libkrun; libkrun = self.packages.${system}.libkrun;
muvm-src = muvm-src;
}; };
munix = pkgs.callPackage ./packages/munix { munix = pkgs.callPackage ./packages/munix {

@ -1 +0,0 @@
Subproject commit 8a1467394189b51f5b0ec601352a0c3fd719d850

@ -1 +0,0 @@
Subproject commit 8a8c33f24f72aa6ca017347dc2be45b6fa612af5

1
muvm

@ -1 +0,0 @@
Subproject commit 3ec4c90bbfb6d0111f91b898a7f17deb562f4f92

View file

@ -1,4 +1,4 @@
{ libkrun, libkrunfw, rustPlatform, variant ? null, ... }: { libkrun, libkrunfw, libkrun-src, rustPlatform, variant ? null, ... }:
let let
libkrunfw' = libkrunfw.override { inherit variant; }; libkrunfw' = libkrunfw.override { inherit variant; };
@ -11,9 +11,8 @@ in
inherit variant; inherit variant;
libkrunfw = libkrunfw'; libkrunfw = libkrunfw';
}).overrideAttrs (old: { }).overrideAttrs (old: {
src = ../../libkrun; src = libkrun-src;
cargoDeps = rustPlatform.importCargoLock { cargoDeps = rustPlatform.importCargoLock {
lockFile = ../../libkrun/Cargo.lock; lockFile = "${libkrun-src}/Cargo.lock";
}; };
# mesonFlags = [ (lib.mesonOption "decoders" "gles,vulkan,composer") ]; # no magma(?)
}) })

View file

@ -1,19 +1,12 @@
{ libkrunfw, fetchurl, variant ? null, ... }: { libkrunfw, libkrunfw-src, fetchurl, variant ? null, ... }:
(libkrunfw.override { (libkrunfw.override {
inherit variant; inherit variant;
}).overrideAttrs (old: { }).overrideAttrs (old: {
version = "5.0.0"; version = "5.0.0";
src = ../../libkrunfw; src = libkrunfw-src;
# src = fetchFromGitHub {
# owner = "containers";
# repo = "libkrunfw";
# tag = "v4.10.0";
# hash = "sha256-mq2gw0+xL6qUZE/fk0vLT3PEpzPV8p+iwRFJHXVOMnk=";
# };
kernelSrc = fetchurl { kernelSrc = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.44.tar.xz"; url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.44.tar.xz";
hash = "sha256-tlAhDtMCeyJJadFIqjd0Uqmq065/KFGr7dMa3+8Wva4="; hash = "sha256-tlAhDtMCeyJJadFIqjd0Uqmq065/KFGr7dMa3+8Wva4=";
}; };
# buildInputs = old.buildInputs;
}) })

View file

@ -1,12 +1,12 @@
{ muvm, libkrun, systemd, rustPlatform }: { muvm, libkrun, muvm-src, systemd, rustPlatform }:
(muvm.override { (muvm.override {
libkrun = libkrun; libkrun = libkrun;
}).overrideAttrs (old: { }).overrideAttrs (old: {
postPatch = ""; # no more sysctl; udevd now takes the var anyway; XXX: fex postPatch = ""; # no more sysctl; udevd now takes the var anyway; XXX: fex
MUVM_UDEVD_PATH = "${systemd}/lib/systemd/systemd-udevd"; MUVM_UDEVD_PATH = "${systemd}/lib/systemd/systemd-udevd";
src = ../../muvm; src = muvm-src;
cargoDeps = rustPlatform.importCargoLock { cargoDeps = rustPlatform.importCargoLock {
lockFile = ../../muvm/Cargo.lock; lockFile = "${muvm-src}/Cargo.lock";
}; };
}) })