Some checks failed
buildbot/nix-build .#checks.aarch64-darwin.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-iso-installer Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-flash-installer Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-no-breakpoints Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-apk Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-archlinux Build done.
buildbot/nix-build .#checks.x86_64-linux.check-for-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-deb Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-rpm Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-age Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-bash Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-git Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-nix Build done.
buildbot/nix-build .#checks.x86_64-linux.renderClanOptions Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.11-qemu" Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-rsync Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-tor Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.11-mypy" Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-zbar Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-without-core Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.deltachat Build done.
buildbot/nix-build .#checks.x86_64-linux.matrix-synapse Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-default Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-e2fsprogs Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-fakeroot Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-openssh Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sops Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sshpass Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-pytest Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-default Build done.
buildbot/nix-build .#checks.x86_64-linux.container Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-example-valid Build done.
buildbot/nix-build .#checks.x86_64-linux.borgbackup Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-ts-api Build done.
buildbot/nix-build .#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build .#checks.x86_64-linux.package-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-editor Build done.
buildbot/nix-build .#checks.x86_64-linux.package-tea-create-pr Build done.
buildbot/nix-build .#checks.x86_64-linux.package-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotier-members Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotierone Build done.
buildbot/nix-build .#checks.x86_64-linux.package-function-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.package-impure-checks Build done.
buildbot/nix-build .#checks.x86_64-linux.package-merge-after-ci Build done.
buildbot/nix-build .#checks.x86_64-linux.package-moonlight-sunshine-accept Build done.
buildbot/nix-build .#checks.x86_64-linux.package-pending-reviews Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-nix-unit-tests Build done.
buildbot/nix-build .#checks.x86_64-linux.postgresql Build done.
buildbot/nix-build .#checks.x86_64-linux.package-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.syncthing Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-install-test-ubuntu-22-04 Build done.
buildbot/nix-build .#checks.x86_64-linux.test-backups Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-with-core Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.secrets Build done.
buildbot/nix-build .#checks.x86_64-linux.zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.package-deploy-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.wayland-proxy-virtwl Build done.
buildbot/nix-build .#checks.x86_64-linux.flash Build done.
checks / checks-impure (pull_request) Failing after 2m20s
buildbot/nix-build .#checks.x86_64-linux.test-installation Build done.
buildbot/nix-eval Build done.
117 lines
3.0 KiB
Nix
117 lines
3.0 KiB
Nix
clan-core:
|
|
{
|
|
config,
|
|
lib,
|
|
flake-parts-lib,
|
|
inputs,
|
|
self,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkOption types;
|
|
buildClan = import ../lib/build-clan {
|
|
inherit lib clan-core;
|
|
inherit (inputs) nixpkgs;
|
|
};
|
|
cfg = config.clan;
|
|
in
|
|
{
|
|
imports = [
|
|
# TODO: figure out how to print the deprecation warning
|
|
# "${inputs.nixpkgs}/nixos/modules/misc/assertions.nix"
|
|
(lib.mkRenamedOptionModule
|
|
[
|
|
"clan"
|
|
"clanName"
|
|
]
|
|
[
|
|
"clan"
|
|
"meta"
|
|
"name"
|
|
]
|
|
)
|
|
(lib.mkRenamedOptionModule
|
|
[
|
|
"clan"
|
|
"clanIcon"
|
|
]
|
|
[
|
|
"clan"
|
|
"meta"
|
|
"icon"
|
|
]
|
|
)
|
|
];
|
|
|
|
options.clan = {
|
|
directory = mkOption {
|
|
type = types.path;
|
|
description = "The directory containing the clan subdirectory";
|
|
default = self; # default to the directory of the flake
|
|
};
|
|
specialArgs = mkOption {
|
|
type = types.attrsOf types.raw;
|
|
default = { };
|
|
description = "Extra arguments to pass to nixosSystem i.e. useful to make self available";
|
|
};
|
|
machines = mkOption {
|
|
type = types.attrsOf types.raw;
|
|
default = { };
|
|
description = "Allows to include machine-specific modules i.e. machines.\${name} = { ... }";
|
|
};
|
|
|
|
# Checks are performed in 'buildClan'
|
|
# Not everyone uses flake-parts
|
|
meta = {
|
|
name = lib.mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
description = "Needs to be (globally) unique, as this determines the folder name where the flake gets downloaded to.";
|
|
};
|
|
icon = mkOption {
|
|
type = types.nullOr types.path;
|
|
default = null;
|
|
description = "A path to an icon to be used for the clan in the GUI";
|
|
};
|
|
description = mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
description = "A short description of the clan";
|
|
};
|
|
};
|
|
|
|
pkgsForSystem = mkOption {
|
|
type = types.functionTo types.raw;
|
|
default = _system: null;
|
|
description = "A map from arch to pkgs, if specified this nixpkgs will be only imported once for each system.";
|
|
};
|
|
};
|
|
options.flake = flake-parts-lib.mkSubmoduleOptions {
|
|
clanInternals = lib.mkOption {
|
|
type = lib.types.submodule {
|
|
options = {
|
|
inventory = lib.mkOption { type = lib.types.attrsOf lib.types.unspecified; };
|
|
inventoryFile = lib.mkOption { type = lib.types.unspecified; };
|
|
|
|
meta = lib.mkOption { type = lib.types.attrsOf lib.types.unspecified; };
|
|
all-machines-json = lib.mkOption { type = lib.types.attrsOf lib.types.unspecified; };
|
|
machines = lib.mkOption { type = lib.types.attrsOf (lib.types.attrsOf lib.types.unspecified); };
|
|
machinesFunc = lib.mkOption { type = lib.types.attrsOf (lib.types.attrsOf lib.types.unspecified); };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
config = {
|
|
flake = buildClan {
|
|
inherit (cfg)
|
|
directory
|
|
specialArgs
|
|
machines
|
|
pkgsForSystem
|
|
meta
|
|
;
|
|
};
|
|
};
|
|
_file = __curPos.file;
|
|
}
|