switch from flake-utils to flake-parts
There is not so much of a difference in this project, but it means adding this project to clan is one less flake input and also more consistent with other projects in clan.
This commit is contained in:
parent
c9095421c6
commit
1315858592
2 changed files with 94 additions and 86 deletions
37
flake.lock
generated
37
flake.lock
generated
|
|
@ -1,20 +1,22 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"lastModified": 1768135262,
|
||||
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
|
@ -36,7 +38,7 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
|
|
@ -60,21 +62,6 @@
|
|||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"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",
|
||||
|
|
|
|||
51
flake.nix
51
flake.nix
|
|
@ -1,18 +1,31 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {self, nixpkgs, flake-utils, rust-overlay}:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
outputs =
|
||||
inputs@{ flake-parts, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
perSystem =
|
||||
{
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
overlays = [ (import rust-overlay) ];
|
||||
pkgs = import nixpkgs {
|
||||
overlays = [ (import inputs.rust-overlay) ];
|
||||
pkgs' = import inputs.nixpkgs {
|
||||
inherit system overlays;
|
||||
};
|
||||
|
||||
|
|
@ -22,14 +35,18 @@
|
|||
BIN_VIRTIOFSD = "${pkgs.virtiofsd}/bin/virtiofsd";
|
||||
};
|
||||
|
||||
rustToolchain = pkgs.pkgsBuildHost.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
|
||||
rustPlatform = pkgs.makeRustPlatform {
|
||||
rustToolchain = pkgs'.pkgsBuildHost.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
|
||||
rustPlatform = pkgs'.makeRustPlatform {
|
||||
cargo = rustToolchain;
|
||||
rustc = rustToolchain;
|
||||
};
|
||||
rustPackage = crate:
|
||||
let cargoToml = builtins.fromTOML (builtins.readFile ./${crate}/Cargo.toml);
|
||||
in rustPlatform.buildRustPackage {
|
||||
|
||||
rustPackage =
|
||||
crate:
|
||||
let
|
||||
cargoToml = builtins.fromTOML (builtins.readFile ./${crate}/Cargo.toml);
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit (cargoToml.package) name version;
|
||||
src = ./.;
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
|
|
@ -42,15 +59,19 @@
|
|||
};
|
||||
in
|
||||
{
|
||||
devShells.default = pkgs.mkShell {
|
||||
devShells.default = pkgs'.mkShell {
|
||||
buildInputs = [ rustToolchain ];
|
||||
env = buildEnvVars;
|
||||
};
|
||||
|
||||
packages.sidebus-agent = rustPackage "sidebus-agent";
|
||||
packages.sidebus-broker = rustPackage "sidebus-broker";
|
||||
};
|
||||
|
||||
nixosModules.sidebus-vm = { ... }: {
|
||||
flake = {
|
||||
nixosModules.sidebus-vm =
|
||||
{ ... }:
|
||||
{
|
||||
environment.sessionVariables.DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/sidebus.sock";
|
||||
systemd.sockets.sidebus-agent = {
|
||||
# SocketMode= is 0666 by default
|
||||
|
|
@ -61,7 +82,7 @@
|
|||
systemd.services.sidebus-agent = {
|
||||
# TODO: confinement (can do a lot)
|
||||
serviceConfig = {
|
||||
ExecStart = "${rustPackage "sidebus-agent"}/bin/sidebus-agent";
|
||||
ExecStart = throw "sidebus-vm module requires setting systemd.services.sidebus-agent.serviceConfig.ExecStart to a sidebus-agent package";
|
||||
ImportCredential = "sidebus.*";
|
||||
};
|
||||
documentation = [ "https://git.clan.lol/valpackett/sidebus" ];
|
||||
|
|
@ -75,6 +96,6 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue