You've already forked lvfs-setup-experimental
mirror of
https://github.com/Dasharo/lvfs-setup-experimental.git
synced 2026-03-06 15:26:58 -08:00
83 lines
2.8 KiB
Nix
83 lines
2.8 KiB
Nix
{
|
|
description = "A flake for rust project";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
dream2nix.url = "github:nix-community/dream2nix";
|
|
nixpkgs.follows = "dream2nix/nixpkgs";
|
|
nix2container.url = "github:nlewo/nix2container";
|
|
nix2container.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
nixpkgs,
|
|
flake-parts,
|
|
dream2nix,
|
|
nix2container,
|
|
...
|
|
}@inputs:
|
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
|
imports = [
|
|
./nix/lvfs_container.nix
|
|
];
|
|
|
|
systems = nixpkgs.lib.systems.flakeExposed;
|
|
perSystem =
|
|
{
|
|
self',
|
|
pkgs,
|
|
inputs',
|
|
...
|
|
}:
|
|
let
|
|
llvm = pkgs.llvmPackages_latest;
|
|
stdenv = pkgs.stdenvAdapters.overrideCC llvm.stdenv llvm.clangUseLLVM;
|
|
mkShell = pkgs.mkShell.override { inherit stdenv; };
|
|
package = dream2nix.lib.evalModules {
|
|
packageSets.nixpkgs = pkgs;
|
|
modules = [
|
|
./nix/lvfs.nix
|
|
{
|
|
paths.projectRoot = ./.;
|
|
paths.projectRootFile = "flake.nix";
|
|
paths.package = ./.;
|
|
}
|
|
];
|
|
};
|
|
in
|
|
{
|
|
_module.args.pkgs = inputs'.nixpkgs.legacyPackages;
|
|
|
|
apps.gen-secrets.program = pkgs.stdenvNoCC.mkDerivation {
|
|
name = "gen-secrets";
|
|
dontUnpack = true;
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
install -m 0755 ${./nix/gen_secrets.sh} $out/bin/gen-secrets
|
|
substituteInPlace $out/bin/gen-secrets \
|
|
--replace-fail '#!/usr/bin/env bash' '#!${pkgs.runtimeShell}' \
|
|
--replace-fail 'python3' '${pkgs.lib.getExe pkgs.python312}'
|
|
'';
|
|
meta.mainProgram = "gen-secrets";
|
|
};
|
|
devShells.default = mkShell {
|
|
# Include dependencies for LVFS, these become importable by python.
|
|
inputsFrom = [ package.devShell ];
|
|
env.LD_LIBRARY_PATH = "${pkgs.gnutls.out}/lib";
|
|
env.LVFS_APP_PATH = package;
|
|
env.FLASK_APP = "${package}/lvfs/__init__.py";
|
|
};
|
|
packages.default = package;
|
|
packages.cabarchive = pkgs.python312Packages.callPackage ./nix/cabarchive.nix { };
|
|
packages.fwupd-tools = pkgs.python312Packages.callPackage ./nix/fwupd-tools.nix {
|
|
inherit (self'.packages) cabarchive;
|
|
};
|
|
apps.mktestkey.program = "${self'.packages.fwupd-tools}/bin/mktestkey";
|
|
apps.mkupdate.program = "${self'.packages.fwupd-tools}/bin/mkupdate";
|
|
apps.build-fwstore.program = "${self'.packages.fwupd-tools}/bin/build_fwstore";
|
|
};
|
|
};
|
|
}
|