117 lines
3.2 KiB
Nix
117 lines
3.2 KiB
Nix
|
{
|
||
|
description = "4o1x5 infrastructure/homelab";
|
||
|
|
||
|
inputs = {
|
||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||
|
home-manager = {
|
||
|
url = "github:nix-community/home-manager/release-23.11";
|
||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||
|
};
|
||
|
|
||
|
i2pd-exporter = {
|
||
|
url = "git+https://git.4o1x5.dev/4o1x5/i2pd-exporter";
|
||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||
|
};
|
||
|
|
||
|
microvm = {
|
||
|
url = "github:astro/microvm.nix";
|
||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||
|
};
|
||
|
agenix.url = "github:ryantm/agenix";
|
||
|
};
|
||
|
|
||
|
outputs =
|
||
|
{ self
|
||
|
, nixpkgs
|
||
|
, home-manager
|
||
|
, i2pd-exporter
|
||
|
, microvm
|
||
|
, agenix
|
||
|
}:
|
||
|
let
|
||
|
system = "x86_64-linux";
|
||
|
in
|
||
|
{
|
||
|
nixosConfigurations = {
|
||
|
|
||
|
pink = nixpkgs.lib.nixosSystem {
|
||
|
inherit system;
|
||
|
modules = [
|
||
|
./hosts/pink/root.nix
|
||
|
./root.nix
|
||
|
i2pd-exporter.nixosModules.default
|
||
|
home-manager.nixosModules.home-manager
|
||
|
{
|
||
|
home-manager.useGlobalPkgs = true;
|
||
|
home-manager.useUserPackages = true;
|
||
|
}
|
||
|
|
||
|
];
|
||
|
};
|
||
|
|
||
|
carbon = nixpkgs.lib.nixosSystem {
|
||
|
inherit system;
|
||
|
modules = [
|
||
|
./hosts/carbon/root.nix
|
||
|
./root.nix
|
||
|
./secrets/carbon.nix
|
||
|
agenix.nixosModules.default
|
||
|
home-manager.nixosModules.home-manager
|
||
|
{
|
||
|
home-manager.useGlobalPkgs = true;
|
||
|
home-manager.useUserPackages = true;
|
||
|
}
|
||
|
|
||
|
({ pkgs, ... }: {
|
||
|
ixpkgs.overlays = [
|
||
|
(self: super: {
|
||
|
inadyn = super.inadyn.overrideAttrs
|
||
|
(oldAttrs: rec {
|
||
|
src = pkgs.fetchFromGitHub
|
||
|
{
|
||
|
owner = "troglobit";
|
||
|
repo = "inadyn";
|
||
|
rev = "7d576c4d00d312597c2b9c06c00529d2dde5ac89";
|
||
|
hash = "sha256-EJ9/MZhz/Gjj2RCMRDkwuKRatig/t1wAqQRqOcHA2gc=";
|
||
|
};
|
||
|
});
|
||
|
})
|
||
|
];
|
||
|
})
|
||
|
];
|
||
|
};
|
||
|
|
||
|
lime = nixpkgs.lib.nixosSystem {
|
||
|
inherit system;
|
||
|
modules = [
|
||
|
({ pkgs, ... }: {
|
||
|
nixpkgs.overlays = [
|
||
|
(self: super: {
|
||
|
inadyn = super.inadyn.overrideAttrs
|
||
|
(oldAttrs: rec {
|
||
|
src = pkgs.fetchFromGitHub
|
||
|
{
|
||
|
owner = "troglobit";
|
||
|
repo = "inadyn";
|
||
|
rev = "7d576c4d00d312597c2b9c06c00529d2dde5ac89";
|
||
|
hash = "sha256-EJ9/MZhz/Gjj2RCMRDkwuKRatig/t1wAqQRqOcHA2gc=";
|
||
|
};
|
||
|
});
|
||
|
})
|
||
|
];
|
||
|
})
|
||
|
./hosts/lime/root.nix
|
||
|
./root.nix
|
||
|
./secrets/lime.nix
|
||
|
agenix.nixosModules.default
|
||
|
home-manager.nixosModules.home-manager
|
||
|
{
|
||
|
home-manager.useGlobalPkgs = true;
|
||
|
home-manager.useUserPackages = true;
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|