2023-11-06 10:20:10 +01:00
|
|
|
inputs: lib:
|
|
|
|
|
|
|
|
let
|
2024-03-30 20:18:12 +01:00
|
|
|
overlay-unstable = arch: _final: _prev:
|
2023-11-06 10:20:10 +01:00
|
|
|
{
|
2024-04-04 02:07:38 +02:00
|
|
|
unstable = import inputs.unstable { system = arch; };
|
2023-11-06 10:20:10 +01:00
|
|
|
};
|
|
|
|
in
|
|
|
|
|
2024-04-05 15:37:19 +02:00
|
|
|
{ name, host-config, modules, nixpkgs ? inputs.nixpkgs, system ? "x86_64-linux", home-manager ? inputs.home-manager }:
|
2024-04-04 02:07:38 +02:00
|
|
|
let pkgs = import nixpkgs { inherit system; };
|
2024-03-31 21:23:04 +02:00
|
|
|
in
|
|
|
|
import "${nixpkgs}/nixos/lib/eval-config.nix" {
|
2023-11-06 10:20:10 +01:00
|
|
|
inherit system;
|
2024-03-31 21:23:04 +02:00
|
|
|
lib = pkgs.lib.extend (import ./default.nix inputs);
|
2023-11-06 10:20:10 +01:00
|
|
|
specialArgs =
|
|
|
|
{
|
|
|
|
inherit inputs;
|
|
|
|
};
|
|
|
|
modules = builtins.attrValues modules ++ [
|
|
|
|
../machines/base.nix
|
|
|
|
host-config
|
2024-03-31 21:23:04 +02:00
|
|
|
(import "${inputs.sops-nix}/modules/sops")
|
2024-03-31 23:45:33 +02:00
|
|
|
(import "${home-manager}/nixos")
|
2024-03-31 21:23:04 +02:00
|
|
|
(import "${inputs.nixos-mailserver}")
|
|
|
|
(import "${inputs.attic}/nixos/atticd.nix")
|
2024-04-05 00:34:14 +02:00
|
|
|
(import "${inputs.disko}/module.nix")
|
2024-03-31 21:23:04 +02:00
|
|
|
(import "${inputs.buildbot-nix}/nix/master.nix")
|
|
|
|
(import "${inputs.buildbot-nix}/nix/worker.nix")
|
2024-04-05 19:27:53 +02:00
|
|
|
(import "${inputs.agenix}/modules/age.nix")
|
2024-03-31 23:38:12 +02:00
|
|
|
(import inputs.lanzaboote).nixosModules.lanzaboote
|
2023-11-06 10:20:10 +01:00
|
|
|
{
|
|
|
|
home-manager.useGlobalPkgs = true;
|
2024-04-05 15:37:19 +02:00
|
|
|
networking.hostName = name;
|
2023-11-06 10:20:10 +01:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
(overlay-unstable system)
|
2024-03-30 20:18:12 +01:00
|
|
|
(_final: prev:
|
2023-11-06 10:20:10 +01:00
|
|
|
{
|
|
|
|
waybar = prev.waybar.overrideAttrs (oldAttrs: {
|
|
|
|
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
|
|
|
});
|
2024-03-30 20:58:04 +01:00
|
|
|
# Packages comming from other repositories
|
2024-03-31 23:32:21 +02:00
|
|
|
zotero = pkgs.wrapFirefox (pkgs.callPackage "${inputs.zotero-nix}/pkgs" { }) { };
|
2024-04-04 02:07:38 +02:00
|
|
|
attic = pkgs.callPackage "${inputs.attic}/package.nix" { };
|
|
|
|
colmena = pkgs.callPackage "${inputs.colmena}/package.nix" { };
|
2024-03-30 20:21:59 +01:00
|
|
|
inherit (prev.unstable) bcachefs-tools;
|
2024-03-30 20:58:04 +01:00
|
|
|
# My own packages
|
|
|
|
keycloak-keywind = prev.pkgs.callPackage ../packages/keycloak-keywind { };
|
|
|
|
hydrasect = prev.pkgs.callPackage ../packages/hydrasect { };
|
2023-11-06 10:20:10 +01:00
|
|
|
})
|
|
|
|
];
|
|
|
|
}
|
|
|
|
];
|
2024-03-31 21:23:04 +02:00
|
|
|
extraModules =
|
|
|
|
let
|
|
|
|
colmenaModules = import
|
|
|
|
"${inputs.colmena}/src/nix/hive/options.nix";
|
|
|
|
in
|
|
|
|
[ colmenaModules.deploymentOptions ];
|
2023-11-06 10:20:10 +01:00
|
|
|
}
|
|
|
|
|