nilla: migrate devshells

This commit is contained in:
Nikodem Rabuliński 2025-03-23 12:15:58 +01:00
parent 5efb7d00a8
commit 636adf8cf3
Signed by: nrabulinski
SSH key fingerprint: SHA256:AZZVyfKStaCo8sbJB+3Rr/CRrlym1oEgw7vMnynJeR8
3 changed files with 82 additions and 14 deletions

View file

@ -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
];
};
};
}