config-perso/hive.nix

224 lines
4.8 KiB
Nix
Raw Normal View History

2024-05-14 19:21:19 +02:00
let
2024-03-13 11:11:16 +01:00
mods = import ./modules;
users = import ./users;
2024-06-01 00:28:17 +02:00
sources = import ./npins;
mkNixpkgsSrc = (import sources.nix-patches { patchFile = ./patches; }).mkNixpkgsSrc;
2024-05-14 19:21:19 +02:00
in
{
meta = {
nixpkgs = mkNixpkgsSrc {
src = sources.nixpkgs;
version = "unstable";
};
nodeNixpkgs."kat-mail-test" = mkNixpkgsSrc {
src = sources.nixpkgs;
version = "betamail";
};
specialArgs = {
inherit mods users sources;
};
2024-03-13 11:11:16 +01:00
};
2024-05-14 19:21:19 +02:00
defaults =
2024-06-01 16:26:08 +02:00
{
2024-06-18 09:47:57 +02:00
nodes,
2024-06-01 16:26:08 +02:00
name,
pkgs,
lib,
config,
...
}:
2024-05-14 19:21:19 +02:00
{
2024-06-01 00:28:17 +02:00
imports = [
2024-09-26 11:51:04 +02:00
./kat
2024-06-01 00:28:17 +02:00
];
2024-09-26 11:51:04 +02:00
networking.hostName = name;
2024-05-14 19:21:19 +02:00
};
2024-03-18 20:26:22 +01:00
2024-05-14 19:21:19 +02:00
kat-probook =
2024-06-25 18:31:43 +02:00
{ users, ... }:
2024-05-14 19:21:19 +02:00
{
deployment.allowLocalDeployment = true;
imports = [
2024-06-25 18:19:34 +02:00
./machines/kat-probook
2024-05-14 19:21:19 +02:00
users.catvayor
];
nix.settings.trusted-users = [
"root"
"@wheel"
];
};
2024-03-16 20:03:01 +01:00
2024-06-27 16:59:33 +02:00
kat-manah =
2024-06-25 18:31:43 +02:00
{ users, ... }:
2024-05-14 19:21:19 +02:00
{
2024-06-27 16:59:33 +02:00
deployment.targetHost = "manah.kat";
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-10-20 18:52:05 +02:00
kat.fqdn = "manah.katvayor.net";
2024-05-14 19:21:19 +02:00
imports = [
2024-06-27 16:59:33 +02:00
./machines/kat-manah
2024-05-14 19:21:19 +02:00
];
};
2024-03-18 20:26:22 +01:00
2024-06-25 18:31:43 +02:00
kat-watcher =
{ users, ... }:
{
deployment.targetHost = "watcher.kat";
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-10-20 18:52:05 +02:00
kat.fqdn = "watcher.katvayor.net";
2024-06-25 18:31:43 +02:00
imports = [
./machines/kat-watcher
];
};
2024-05-14 19:21:19 +02:00
kat-virt =
2024-10-26 18:29:35 +02:00
{ ssh-keys, ... }:
2024-05-14 19:21:19 +02:00
{
2024-06-25 18:31:43 +02:00
deployment = {
targetHost = "virt.kat";
tags = [ "kat-vms" ];
};
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-06-30 19:49:07 +02:00
services.qemuGuest.enable = true;
boot.kernelParams = [ "console=ttyS0" ];
2024-10-20 18:52:05 +02:00
kat.fqdn = "degette.katvayor.net";
2024-05-14 19:21:19 +02:00
imports = [
2024-06-25 18:19:34 +02:00
./machines/kat-virt
2024-05-14 19:21:19 +02:00
];
2024-10-26 18:29:35 +02:00
users.users.root.openssh.authorizedKeys.keys = with ssh-keys; sylvain ++ gaby;
2024-03-22 14:24:31 +01:00
};
2024-03-18 20:26:22 +01:00
2024-06-19 08:34:47 +02:00
kat-mail-test =
2024-10-26 18:29:35 +02:00
{ ssh-keys, ... }:
2024-06-19 08:34:47 +02:00
{
2024-06-25 18:31:43 +02:00
deployment = {
targetHost = "mail-test.kat";
tags = [ "kat-vms" ];
};
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-06-30 19:49:07 +02:00
services.qemuGuest.enable = true;
boot.kernelParams = [ "console=ttyS0" ];
2024-10-20 18:52:05 +02:00
kat.fqdn = "betamail.katvayor.net";
2024-06-19 08:34:47 +02:00
imports = [
./machines/kat-mail-test
2024-06-01 16:26:08 +02:00
];
2024-10-26 18:29:35 +02:00
users.users.root.openssh.authorizedKeys.keys = ssh-keys.sylvain;
2024-06-01 16:26:08 +02:00
};
2024-06-25 10:54:31 +02:00
kat-son =
2024-06-25 18:31:43 +02:00
{ users, ... }:
2024-06-25 10:54:31 +02:00
{
2024-06-25 18:31:43 +02:00
deployment = {
targetHost = "son.kat";
tags = [ "kat-vms" ];
};
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-06-30 19:49:07 +02:00
services.qemuGuest.enable = true;
boot.kernelParams = [ "console=ttyS0" ];
2024-10-20 18:52:05 +02:00
kat.fqdn = "son.katvayor.net";
2024-06-25 10:54:31 +02:00
imports = [
./machines/kat-son
];
};
2024-08-07 17:26:34 +02:00
kat-orchid =
{ users, ... }:
{
deployment = {
targetHost = "orchid.kat";
tags = [ "kat-vms" ];
};
2024-09-26 11:51:04 +02:00
services.openssh.enable = true;
2024-08-07 17:26:34 +02:00
services.qemuGuest.enable = true;
boot.kernelParams = [ "console=ttyS0" ];
2024-10-20 18:52:05 +02:00
kat.fqdn = "orchid.katvayor.net";
2024-08-07 17:26:34 +02:00
imports = [
./machines/kat-orchid
];
};
2024-05-14 19:21:19 +02:00
kat-iso =
2024-06-01 00:28:17 +02:00
{
2024-06-25 18:31:43 +02:00
users,
2024-06-01 00:28:17 +02:00
pkgs,
modulesPath,
2024-06-30 19:49:07 +02:00
lib,
2024-06-01 00:28:17 +02:00
...
}:
2024-05-14 19:21:19 +02:00
{
deployment = {
allowLocalDeployment = false;
targetHost = null;
};
2024-03-16 20:03:01 +01:00
2024-05-14 19:21:19 +02:00
imports = [
2024-06-01 00:28:17 +02:00
(modulesPath + "/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix")
2024-05-14 19:21:19 +02:00
];
2024-03-16 20:03:01 +01:00
2024-05-14 19:21:19 +02:00
networking = {
networkmanager.enable = true;
wireless.enable = false;
};
console.keyMap = "fr";
environment.systemPackages = with pkgs; [
perl
git
];
programs.zsh.enable = true;
services.openssh.enable = true;
services.qemuGuest.enable = true;
2024-10-03 17:42:38 +02:00
boot.supportedFilesystems = {
bcachefs = true;
zfs = lib.mkForce false;
};
2024-05-14 19:21:19 +02:00
boot.kernelParams = [ "console=ttyS0" ];
2024-10-03 17:42:38 +02:00
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
2024-06-30 19:49:07 +02:00
services.getty.autologinUser = lib.mkForce "root";
2024-10-03 17:42:38 +02:00
system.stateVersion = lib.mkForce "24.11";
2024-03-18 20:26:22 +01:00
};
2024-06-18 09:47:57 +02:00
kat-kexec =
{
2024-06-25 18:31:43 +02:00
users,
2024-06-18 09:47:57 +02:00
pkgs,
modulesPath,
lib,
...
}:
{
deployment = {
allowLocalDeployment = false;
targetHost = null;
};
imports = [
("${sources.nixos-images}/nix/kexec-installer/module.nix")
];
networking = {
networkmanager.enable = false;
wireless.enable = false;
};
console.keyMap = "fr";
environment.systemPackages = with pkgs; [
perl
git
];
programs.zsh.enable = true;
services.openssh.enable = true;
services.qemuGuest.enable = true;
boot.kernelParams = [ "console=ttyS0" ];
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
boot.supportedFilesystems = {
bcachefs = true;
zfs = lib.mkForce false;
};
2024-06-30 19:49:07 +02:00
services.getty.autologinUser = lib.mkForce "root";
2024-10-03 17:42:38 +02:00
system.stateVersion = lib.mkForce "24.11";
2024-06-18 09:47:57 +02:00
};
2024-03-12 17:26:16 +01:00
}