config-perso/machines/kat-orchid/default.nix

142 lines
2.9 KiB
Nix
Raw Normal View History

2024-08-07 17:26:34 +02:00
{
config,
lib,
pkgs,
mods,
...
}:
{
imports = [
./hardware-configuration.nix
./disks.nix
];
2024-10-03 17:42:38 +02:00
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
2024-08-07 17:26:34 +02:00
2024-10-20 18:52:05 +02:00
kat.proxies = {
ip = "192.168.122.6";
aliases = [
"simply-wise.fr"
"www.simply-wise.fr"
];
open-tcp = [
{
internal = 22;
external = 22042;
}
];
};
2024-10-20 15:11:00 +02:00
systemd.network.enable = lib.mkForce false;
2024-08-07 17:26:34 +02:00
networking = {
2024-10-03 17:42:38 +02:00
useNetworkd = lib.mkForce false;
2024-08-07 17:26:34 +02:00
interfaces."enp1s0" = {
useDHCP = false;
ipv4.addresses = [
{
address = "192.168.122.6";
prefixLength = 24;
}
];
ipv6.addresses = [
{
address = "fe80::6";
prefixLength = 64;
}
];
};
defaultGateway = "192.168.122.1";
defaultGateway6 = {
address = "fe80::1";
interface = "enp1s0";
};
nameservers = [
"192.168.122.1"
"fe80::1%enp1s0"
];
};
nixpkgs.config.allowUnfree = true;
services.openssh.enable = true;
networking.firewall.enable = false;
security.acme = {
acceptTerms = true;
defaults.email = "root@katvayor.net";
2024-08-21 19:50:37 +02:00
certs."orchid.katvayor.net".extraDomainNames = [
"simply-wise.fr"
"www.simply-wise.fr"
];
2024-08-07 17:26:34 +02:00
};
services.nginx = {
enable = true;
virtualHosts = {
"orchid.katvayor.net" = {
enableACME = true;
forceSSL = true;
locations."/static/" = {
alias = "/srv/orchid/";
};
};
2024-08-21 19:50:37 +02:00
"simply-wise.fr" = {
useACMEHost = "orchid.katvayor.net";
forceSSL = true;
serverAliases = [ "www.simply-wise.fr" ];
locations."/" = {
root = pkgs.runCommand "building" { } ''
mkdir -p $out
ln -nsf ${./building.html} $out/building.html
'';
extraConfig = ''
internal;
error_page 404 =503 /building.html;
'';
};
};
2024-08-07 17:26:34 +02:00
};
};
services.wordpress = {
webserver = "nginx";
2024-10-20 15:11:00 +02:00
sites."orchid.katvayor.net" = {
themes = { inherit (pkgs.wordpressPackages.themes) twentytwentythree; };
};
2024-08-07 17:26:34 +02:00
};
fileSystems."/home/orchid/content/www" = {
device = "/srv/orchid";
options = [ "bind" ];
};
2024-08-21 19:50:37 +02:00
systemd = {
tmpfiles.settings."10-srv-orchid"."/srv/orchid" = {
d = {
group = "users";
user = "orchid";
};
Z = {
group = "users";
user = "orchid";
mode = "0755";
};
};
timers.srv-tmpfiles = {
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "*-*-* *:*:07..57/10";
};
services.srv-tmpfiles = {
path = [ pkgs.systemd ];
script = ''
systemd-tmpfiles --create --prefix=/srv
'';
};
};
2024-08-07 17:26:34 +02:00
2024-09-26 11:51:04 +02:00
users.users.orchid.isNormalUser = true;
home-manager.users.orchid = { };
2024-08-07 17:26:34 +02:00
system.stateVersion = "23.11";
}