nix-infra/flake.nix

83 lines
2.1 KiB
Nix

{
inputs = {
nixpkgs.url = "nixpkgs/nixos-22.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
mms = {
url = "github:mkaito/nixos-modded-minecraft-servers";
inputs.nixpkgs.follows = "nixpkgs";
};
url-eater.url = "github:AgathaSorceress/url-eater";
colorpickle.url = "github:AgathaSorceress/colorpickle";
helix.url = "github:helix-editor/helix";
};
outputs =
{ nixpkgs, home-manager, mms, helix, url-eater, colorpickle, ... }: {
colmena = {
network = {
description = "Agatha's Nix Infra";
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
(final: prev: {
helix = helix.packages.${final.system}.default;
url-eater = url-eater.defaultPackage.${final.system};
colorpickle = colorpickle.defaultPackage.${final.system};
})
];
};
};
bloodletting = {
imports = [
./common
./hosts/bloodletting/configuration.nix
(import "${home-manager}/nixos")
mms.module
];
deployment = {
targetUser = "root";
targetHost = "bloodletting";
tags = [ "prod" ];
keys = {
"nyandroid-token" = {
keyCommand = [ "cat" "./secrets/nyandroid-token" ];
destDir = "/var/lib/secrets/";
};
"rfc2136-technogothic-net" = {
keyCommand = [ "cat" "./secrets/rfc2136-technogothic-net" ];
destDir = "/var/lib/secrets/";
};
};
};
};
ritual = {
imports = [
./common
./hosts/ritual/configuration.nix
(import "${home-manager}/nixos")
];
deployment = {
targetUser = "root";
targetHost = "ritual";
allowLocalDeployment = true;
};
};
};
};
}