config-perso/machines/kat-son/configuration.nix

163 lines
4.2 KiB
Nix

{
lib,
pkgs,
modulesPath,
...
}:
{
deployment = {
targetHost = "son.kat";
tags = [ "kat-vms" ];
};
imports = [
./hardware-configuration.nix
./disks.nix
./doc
];
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelParams = [ "console=ttyS0" ];
};
kat = {
fqdn = "son.katvayor.net";
proxies.ip = "192.168.122.5";
};
systemd.network.enable = lib.mkForce false;
networking = {
useNetworkd = lib.mkForce false;
interfaces."enp1s0" = {
useDHCP = false;
ipv4.addresses = [
{
address = "192.168.122.5";
prefixLength = 24;
}
];
ipv6.addresses = [
{
address = "fe80::5";
prefixLength = 64;
}
];
};
defaultGateway = "192.168.122.1";
defaultGateway6 = {
address = "fe80::1";
interface = "enp1s0";
};
nameservers = [
"192.168.122.1"
"fe80::1%enp1s0"
];
};
networking.firewall.enable = false;
security.acme = {
acceptTerms = true;
defaults.email = "root@katvayor.net";
};
services = {
openssh.enable = true;
qemuGuest.enable = true;
getty.autologinUser = "root";
nginx = {
enable = true;
virtualHosts = {
"son.katvayor.net" = {
enableACME = true;
addSSL = true;
};
};
};
extranix = {
enable = true;
modules = {
"netconf" =
let
netconf = pkgs.fetchgit {
url = "https://git.dgnum.eu/DGNum/Netconf-Module.git";
rev = "8f58ee21fe9c0ad22e3f16e58c3837c1c97eb5e8";
outputHash = "sha256-OXKSFEOjeeRFVbVodJSkhuT+r7+p6QPUzjbw2vs6Xao=";
name = "netconf";
};
in
{
paths = [
"${netconf.outPath}/junos"
"${netconf.outPath}/dgn-module.nix"
];
base = netconf.outPath;
url = "https://git.dgnum.eu/DGNum/Netconf-Module/src/branch/master/";
};
"infra DGNum" =
let
infra = pkgs.fetchgit {
url = "https://git.dgnum.eu/DGNum/infrastructure.git";
rev = "417ce615079ca26e1251e7f0b6b24c36b293a17d";
outputHash = "sha256-LhjQoVZqYARpUxuuWhcNY7HLE64H8PIIBZ0QwlmGD2I=";
name = "DGN-infra";
};
in
{
paths = [
"${infra}/modules/generic"
"${infra}/modules/nixos"
];
ignored-modules = import "${modulesPath}/module-list.nix";
specialArgs = {
lib = lib // {
extra = import "${infra}/lib/nix-lib";
};
inherit pkgs modulesPath;
name = "<nodeName>";
nodeMeta = {
nix-modules = [ ];
admins = [ ];
adminGroups = [ ];
};
meta = {
organization.groups.root = [ ];
};
sources = (import "${infra}/hive.nix").meta.specialArgs.sources;
};
base = infra.outPath;
url = "https://git.dgnum.eu/DGNum/infrastructure/src/branch/main/";
};
};
static-data = ./static-data;
host = "son.katvayor.net";
settings = {
baseUrl = "https://dgnum.eu/";
title = "DGNum module documentation";
languageCode = "en-us";
params = {
release_current_stable = "infra-DGNum";
logo = "images/dgnum.png";
footer_credits_line = ''
Powered by catvayor |
Based on <a href="https://github.com/mipmip/home-manager-option-search">Home Manager Option Search</a>
'';
footer_copyright_line = ''
Made by catvayor for the <a href="https://dgnum.eu">DGNum</a>.
'';
main_menu = [
{
name = ''<img src="images/forgejo.png" style="display:inline-block; height:2.5em; transform:translate(0, -0.7em)" /> Source'';
url = "https://git.dgnum.eu/DGNum/Netconf-Module/";
}
];
};
};
};
};
system.stateVersion = "23.11";
}