nix-infra/flake.nix

108 lines
3.1 KiB
Nix
Raw Normal View History

2023-03-07 19:24:57 +00:00
{
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";
};
2023-04-07 16:20:50 +00:00
url-eater.url = "github:AgathaSorceress/url-eater";
2023-04-11 17:49:24 +00:00
colorpickle.url = "github:AgathaSorceress/colorpickle";
2023-04-19 08:24:08 +00:00
# Latest colmena + prettier loading icons
colmena.url = "github:AgathaSorceress/colmena";
2023-04-13 11:11:32 +00:00
frq-friend.url = "git+https://git.xenua.me/xenua/fedi-frq-friend";
2023-04-22 13:12:30 +00:00
vampysite.url = "git+https://git.lain.faith/sorceress/vampysite";
2023-04-13 11:11:32 +00:00
2023-03-07 19:24:57 +00:00
helix.url = "github:helix-editor/helix";
};
2023-04-13 11:11:32 +00:00
outputs = { nixpkgs, home-manager, mms, helix, url-eater, colorpickle
2023-04-22 13:12:30 +00:00
, frq-friend, colmena, vampysite, ... }: {
2023-04-11 17:49:24 +00:00
colmena = {
network = {
description = "Agatha's Nix Infra";
2023-03-07 19:24:57 +00:00
2023-04-11 17:49:24 +00:00
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
(final: prev: {
helix = helix.packages.${final.system}.default;
2023-04-20 20:22:22 +00:00
colorpickle = colorpickle.packages.${final.system}.default;
2023-04-13 11:11:32 +00:00
frq-friend = frq-friend.defaultPackage.${final.system};
2023-04-22 13:12:30 +00:00
vampysite = vampysite.packages.${final.system}.default;
2023-04-11 17:49:24 +00:00
})
2023-04-19 08:24:08 +00:00
colmena.overlay
2023-04-11 17:49:24 +00:00
];
};
2023-03-07 19:24:57 +00:00
};
2023-04-11 17:49:24 +00:00
bloodletting = {
imports = [
./common
./hosts/bloodletting/configuration.nix
(import "${home-manager}/nixos")
mms.module
];
2023-03-07 19:24:57 +00:00
2023-04-11 17:49:24 +00:00
deployment = {
targetUser = "root";
targetHost = "bloodletting";
2023-03-07 19:24:57 +00:00
2023-04-11 17:49:24 +00:00
tags = [ "prod" ];
2023-03-07 19:24:57 +00:00
2023-04-11 17:49:24 +00:00
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/";
};
2023-04-13 11:11:32 +00:00
"fedi-data.toml" = {
keyCommand = [ "cat" "./secrets/frq-friend-fedi-data.toml" ];
destDir = "/var/lib/frq-friend";
};
2023-03-07 19:24:57 +00:00
};
};
};
2023-03-26 16:14:49 +00:00
2023-04-11 17:49:24 +00:00
ritual = {
imports = [
./common
./hosts/ritual/configuration.nix
(import "${home-manager}/nixos")
2023-04-15 12:09:45 +00:00
url-eater.nixosModule
2023-04-20 20:22:22 +00:00
colorpickle.nixosModules.default
2023-04-11 17:49:24 +00:00
];
2023-03-26 16:14:49 +00:00
2023-04-11 17:49:24 +00:00
deployment = {
targetUser = "root";
targetHost = "ritual";
2023-03-26 16:14:49 +00:00
2023-04-11 17:49:24 +00:00
allowLocalDeployment = true;
};
2023-03-26 16:14:49 +00:00
};
};
2023-04-19 08:24:08 +00:00
devShells."x86_64-linux".default =
let pkgs = import nixpkgs { system = "x86_64-linux"; };
in pkgs.mkShell {
buildInputs = [
(pkgs.writeShellScriptBin "colmena" ''
${
colmena.defaultPackage.${pkgs.system}
}/bin/colmena --disable-emoji $@
'')
];
};
2023-03-07 19:24:57 +00:00
};
}