default.nix: init
...adds callPackage-able scope.nix and a flake-compat-based entrypoint at default.nix
This commit is contained in:
parent
a7fe813f17
commit
c275340694
4 changed files with 138 additions and 38 deletions
35
default.nix
Normal file
35
default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
let
|
||||
lockFile = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
flake-compat-node = lockFile.nodes.${lockFile.nodes.root.inputs.flake-compat};
|
||||
flake-compat = builtins.fetchTarball {
|
||||
inherit (flake-compat-node.locked) url;
|
||||
sha256 = flake-compat-node.locked.narHash;
|
||||
};
|
||||
|
||||
flake' = (
|
||||
import flake-compat {
|
||||
src = ./.;
|
||||
}
|
||||
);
|
||||
flake = flake'.defaultNix;
|
||||
in
|
||||
|
||||
{
|
||||
nixpkgs ? flake.inputs.nixpkgs,
|
||||
pkgs ? import nixpkgs { },
|
||||
sidebus-src ? flake.inputs.sidebus,
|
||||
muvm-src ? flake.inputs.muvm-src,
|
||||
libkrun-src ? flake.inputs.libkrun-src,
|
||||
wl-backdrop-src ? flake.inputs.wl-backdrop,
|
||||
}:
|
||||
|
||||
pkgs.callPackage ./scope.nix {
|
||||
inputs = {
|
||||
inherit
|
||||
libkrun-src
|
||||
muvm-src
|
||||
sidebus-src
|
||||
wl-backdrop-src
|
||||
;
|
||||
};
|
||||
}
|
||||
42
flake.lock
generated
42
flake.lock
generated
|
|
@ -1,5 +1,33 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751685974,
|
||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751685974,
|
||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
|
|
@ -72,6 +100,7 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"libkrun-src": "libkrun-src",
|
||||
"muvm-src": "muvm-src",
|
||||
|
|
@ -82,6 +111,7 @@
|
|||
},
|
||||
"sidebus": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": [
|
||||
"flake-parts"
|
||||
],
|
||||
|
|
@ -90,13 +120,13 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772183103,
|
||||
"narHash": "sha256-9jbqBtaLUdOeT95PVUMz45JdUpVeJ25ZYZHEOQn9XsI=",
|
||||
"ref": "main",
|
||||
"rev": "c42eaef55440e2594677ede5279bd8c3eaf128f2",
|
||||
"shallow": true,
|
||||
"lastModified": 1774051382,
|
||||
"narHash": "sha256-OsUkgnE4x+dS3mT7TPbhVIQLux04gf5qpiTsHfTKYLg=",
|
||||
"ref": "cbce1ae3a224889ee6739843bf0d230637725149",
|
||||
"rev": "cbce1ae3a224889ee6739843bf0d230637725149",
|
||||
"revCount": 38,
|
||||
"type": "git",
|
||||
"url": "https://git.clan.lol/clan/sidebus"
|
||||
"url": "https://forge.someonex.net/else/clan-sidebus.git"
|
||||
},
|
||||
"original": {
|
||||
"ref": "main",
|
||||
|
|
|
|||
48
flake.nix
48
flake.nix
|
|
@ -31,6 +31,10 @@
|
|||
# url = "github:containers/libkrunfw/20484a2e60290acb74c43ccfd6e1ea4caf41d470"; # v5.1.0
|
||||
# flake = false;
|
||||
# };
|
||||
flake-compat = {
|
||||
url = "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
@ -88,6 +92,9 @@
|
|||
self',
|
||||
...
|
||||
}:
|
||||
let
|
||||
scope = pkgs.callPackage ./scope.nix { };
|
||||
in
|
||||
{
|
||||
_module.args.pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
|
|
@ -107,40 +114,17 @@
|
|||
packages = {
|
||||
# Packages support variant parameter: null (default), "sev", or "tdx"
|
||||
# To build a variant: packages.libkrunfw.override { variant = "sev"; }
|
||||
libkrunfw = pkgs.callPackage ./packages/libkrunfw {
|
||||
# libkrunfw-src = libkrunfw-src;
|
||||
};
|
||||
|
||||
libkrun = pkgs.callPackage ./packages/libkrun {
|
||||
libkrunfw = self'.packages.libkrunfw;
|
||||
libkrun-src = libkrun-src;
|
||||
};
|
||||
|
||||
mesa = pkgs.callPackage ./packages/mesa { };
|
||||
|
||||
muvm = pkgs.callPackage ./packages/muvm {
|
||||
libkrun = self'.packages.libkrun;
|
||||
muvm-src = muvm-src;
|
||||
};
|
||||
|
||||
munix = pkgs.callPackage ./packages/munix {
|
||||
mesa = self'.packages.mesa;
|
||||
muvm = self'.packages.muvm;
|
||||
wl-cross-domain-proxy = self'.packages.wl-cross-domain-proxy;
|
||||
wl-backdrop = wl-backdrop.packages.${system}.wl-backdrop;
|
||||
sidebus-broker = sidebus.packages.${system}.sidebus-broker;
|
||||
};
|
||||
|
||||
wl-cross-domain-proxy = pkgs.callPackage ./packages/wl-cross-domain-proxy { };
|
||||
inherit (scope)
|
||||
libkrunfw
|
||||
libkrun
|
||||
mesa
|
||||
muvm
|
||||
munix
|
||||
wl-cross-domain-proxy
|
||||
;
|
||||
};
|
||||
|
||||
devShells.default = pkgs.callPackage ./devShells {
|
||||
libkrun = self'.packages.libkrun;
|
||||
muvm = self'.packages.muvm;
|
||||
wl-cross-domain-proxy = self'.packages.wl-cross-domain-proxy;
|
||||
wl-backdrop = wl-backdrop.packages.${system}.wl-backdrop;
|
||||
sidebus-broker = sidebus.packages.${system}.sidebus-broker;
|
||||
};
|
||||
devShells.default = scope.callPackage ./devShells { };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
51
scope.nix
Normal file
51
scope.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
lib,
|
||||
newScope,
|
||||
inputs,
|
||||
}:
|
||||
|
||||
lib.makeScope newScope (self: {
|
||||
inherit inputs;
|
||||
inherit (self.inputs)
|
||||
libkrun-src
|
||||
muvm-src
|
||||
sidebus-src
|
||||
wl-backdrop-src
|
||||
;
|
||||
libkrunfw = self.callPackage ./packages/libkrunfw {
|
||||
# libkrunfw-src = libkrunfw-src;
|
||||
};
|
||||
libkrun = self.callPackage ./packages/libkrun { };
|
||||
mesa = self.callPackage ./packages/mesa { };
|
||||
muvm = self.callPackage ./packages/muvm {
|
||||
muvm-src = self.inputs.muvm-src;
|
||||
};
|
||||
munix = self.callPackage ./packages/munix { };
|
||||
wl-cross-domain-proxy = self.callPackage ./packages/wl-cross-domain-proxy { };
|
||||
sidebusPackages = self.callPackage (self.inputs.sidebus-src + "/scope.nix") { };
|
||||
inherit (self.sidebusPackages) sidebus-agent sidebus-broker;
|
||||
wl-backdrop = self.callPackage (
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
}:
|
||||
let
|
||||
src = self.wl-backdrop-src;
|
||||
cargoToml = fromTOML (builtins.readFile (src + "/Cargo.toml"));
|
||||
fs = lib.fileset;
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = cargoToml.package.name;
|
||||
inherit (cargoToml.package) version;
|
||||
src = fs.toSource {
|
||||
root = src;
|
||||
fileset = fs.unions [
|
||||
(src + "/src")
|
||||
(src + "/Cargo.toml")
|
||||
(src + "/Cargo.lock")
|
||||
];
|
||||
};
|
||||
cargoLock = src + "/Cargo.lock";
|
||||
}
|
||||
) { };
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue