This commit is contained in:
parent
03c19b674c
commit
5b421a79d4
2 changed files with 81 additions and 14 deletions
13
flake.nix
13
flake.nix
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
outputs =
|
||||
inputs@{ flake-parts, ... }:
|
||||
let
|
||||
nilla = import ./nilla.nix { inherit inputs; };
|
||||
in
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
|
@ -24,17 +27,11 @@
|
|||
inputs',
|
||||
self',
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
{
|
||||
devShells.default = pkgs.mkShellNoCC {
|
||||
packages = [
|
||||
inputs'.agenix.packages.agenix
|
||||
self'.packages.attic-client
|
||||
# TODO: Contribute darwin support to nh
|
||||
pkgs.nh
|
||||
];
|
||||
};
|
||||
devShells = builtins.mapAttrs (_: shell: shell.result.${system}) nilla.shells;
|
||||
|
||||
packages = {
|
||||
# Re-export it for convenience and for caching
|
||||
|
|
82
nilla.nix
82
nilla.nix
|
@ -2,7 +2,7 @@
|
|||
inputs ? import ./inputs.nix,
|
||||
}:
|
||||
(import inputs.nilla).create (
|
||||
{ lib }:
|
||||
{ config, lib }:
|
||||
{
|
||||
config.inputs = builtins.mapAttrs (_: src: {
|
||||
inherit src;
|
||||
|
@ -20,17 +20,87 @@
|
|||
build =
|
||||
pkg:
|
||||
lib.attrs.generate pkg.systems (
|
||||
system: inputs.nixpkgs.legacyPackages.${system}.callPackage pkg.package pkg.settings.args
|
||||
system:
|
||||
inputs.nixpkgs.legacyPackages.${system}.callPackage pkg.package (
|
||||
{
|
||||
self' = builtins.mapAttrs (_: pkg: pkg.result.${system}) config.packages;
|
||||
}
|
||||
// pkg.settings.args
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
config.builders.custom-load = {
|
||||
settings.type = lib.types.submodule {
|
||||
options.args = lib.options.create {
|
||||
type = lib.types.null;
|
||||
default.value = null;
|
||||
};
|
||||
};
|
||||
settings.default = { };
|
||||
build = pkg: lib.attrs.generate pkg.systems (system: pkg.package { inherit system; });
|
||||
};
|
||||
|
||||
config.packages =
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
mkPackage = package: {
|
||||
builder = "nixpkgs-flake";
|
||||
inherit systems package;
|
||||
};
|
||||
mkPackageFlakeOutput =
|
||||
{
|
||||
input,
|
||||
output ? input,
|
||||
}:
|
||||
{
|
||||
inherit systems;
|
||||
builder = "custom-load";
|
||||
package = { system }: inputs.${input}.packages.${system}.${output};
|
||||
};
|
||||
in
|
||||
{
|
||||
attic-client = mkPackageFlakeOutput {
|
||||
input = "attic";
|
||||
output = "attic-client";
|
||||
};
|
||||
attic-server = mkPackageFlakeOutput {
|
||||
input = "attic";
|
||||
output = "attic-server";
|
||||
};
|
||||
agenix = mkPackageFlakeOutput { input = "agenix"; };
|
||||
base-packages = mkPackage (
|
||||
{ symlinkJoin }:
|
||||
symlinkJoin {
|
||||
name = "settei-base";
|
||||
paths = [ ];
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
config.shells.default = {
|
||||
systems = [ "x86_64-linux" ];
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
builder = "nixpkgs-flake";
|
||||
shell =
|
||||
{ mkShell, hello }:
|
||||
mkShell {
|
||||
packages = [ hello ];
|
||||
{
|
||||
mkShellNoCC,
|
||||
nh,
|
||||
self',
|
||||
}:
|
||||
mkShellNoCC {
|
||||
packages = [
|
||||
self'.agenix
|
||||
self'.attic-client
|
||||
nh
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue