snowfield/lib/mkmachine.nix

52 lines
1.6 KiB
Nix
Raw Normal View History

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
{
unstable = inputs.unstable.legacyPackages."${arch}";
};
in
2024-03-30 20:18:12 +01:00
{ host-config, modules, nixpkgs ? inputs.nixpkgs, system ? "x86_64-linux", home-manager ? inputs.home-manager }:
2023-11-06 10:20:10 +01:00
nixpkgs.lib.nixosSystem {
inherit system;
2024-03-30 20:21:59 +01:00
lib = nixpkgs.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-30 20:58:04 +01:00
inputs.sops-nix.nixosModules.sops
2023-11-06 10:20:10 +01:00
home-manager.nixosModules.home-manager
inputs.simple-nixos-mailserver.nixosModule
inputs.attic.nixosModules.atticd
inputs.lanzaboote.nixosModules.lanzaboote
inputs.nix-index-database.nixosModules.nix-index
2023-11-24 16:55:20 +01:00
inputs.buildbot-nix.nixosModules.buildbot-master
inputs.buildbot-nix.nixosModules.buildbot-worker
2023-11-06 10:20:10 +01:00
{
home-manager.useGlobalPkgs = true;
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
2023-11-06 10:20:10 +01:00
attic = inputs.attic.packages.${system}.default;
2024-03-30 20:21:59 +01:00
inherit (inputs.colmena.packages.${system}) colmena;
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
})
];
}
];
extraModules = [ inputs.colmena.nixosModules.deploymentOptions ];
}