nix-config/nixos/configurations.nix

107 lines
2.6 KiB
Nix

{ self
, agenix
, nixpkgs
, home-manager
, homePage
, nixos-hardware
, recipemd
, nixos-generators
, flake-registry
, helix
, ...
}@inputs:
let
getDefaultPkgs = system: flakes: nixpkgs.lib.mapAttrs (_: value: nixpkgs.lib.getAttr system value.defaultPackage) flakes;
nixosSystem = { system ? "x86_64-linux", extraModules ? [ ] }: nixpkgs.lib.nixosSystem {
inherit system;
modules = [{
# Add flakes to registry and nix path.
dadada.inputs = inputs // { dadada = self; };
}] ++ (nixpkgs.lib.attrValues self.nixosModules) ++ [ agenix.nixosModules.age ] ++ extraModules;
};
in
{
gorgon = nixosSystem rec {
system = "x86_64-linux";
extraModules = [
{
nixpkgs.overlays = nixpkgs.lib.attrValues self.overlays;
dadada.pkgs = (getDefaultPkgs system {
inherit recipemd;
}) // self.packages.${system};
}
nixos-hardware.nixosModules.lenovo-thinkpad-t14s-amd-gen1
home-manager.nixosModules.home-manager
({ pkgs, lib, ... }:
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = (nixpkgs.lib.attrValues self.hmModules) ++ [
{ dadada.home.helix.package = helix.packages.${system}.helix; }
{ manual.manpages.enable = false; }
];
home-manager.users.dadada = import ../home/home;
})
./modules/profiles/laptop.nix
./gorgon/configuration.nix
];
};
ifrit = nixosSystem {
extraModules = [
./modules/profiles/server.nix
./ifrit/configuration.nix
./ifrit/hardware-configuration.nix
];
};
surgat = nixosSystem rec {
system = "x86_64-linux";
extraModules = [
{
dadada.homePage.package = homePage.defaultPackage.${system};
}
./modules/profiles/server.nix
./surgat/configuration.nix
];
};
pruflas = nixosSystem {
extraModules = [
./modules/profiles/laptop.nix
./pruflas/configuration.nix
];
};
agares = nixosSystem {
extraModules = [
./agares/configuration.nix
];
};
installer = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
nixos-generators.nixosModules.install-iso
self.nixosModules.admin
{
networking.tempAddresses = "disabled";
dadada.admin.enable = true;
documentation.enable = false;
documentation.nixos.enable = false;
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
}
];
};
ninurta = nixosSystem { extraModules = [ ./ninurta/configuration.nix ]; };
}