2024-09-02 16:42:35 +02:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
profiles,
|
|
|
|
...
|
|
|
|
}:
|
2023-01-08 21:18:11 +01:00
|
|
|
|
|
|
|
{
|
2024-05-26 19:32:00 +02:00
|
|
|
imports = [
|
|
|
|
./hardware.nix
|
|
|
|
./home-julien.nix
|
2024-11-02 02:09:27 +01:00
|
|
|
./uptime-kuma.nix
|
2024-05-26 19:32:00 +02:00
|
|
|
];
|
2023-01-08 21:18:11 +01:00
|
|
|
|
2024-08-10 17:56:30 +02:00
|
|
|
machine.meta = {
|
|
|
|
arch = "aarch64-linux";
|
|
|
|
nixpkgs_version = inputs.nixpkgs;
|
|
|
|
hm_version = inputs.home-manager;
|
2024-09-02 16:42:35 +02:00
|
|
|
profiles = with profiles; [ server ];
|
2024-08-12 18:12:00 +02:00
|
|
|
ips = {
|
|
|
|
public.ipv4 = "141.145.197.219";
|
|
|
|
vpn.ipv4 = "100.100.45.13";
|
|
|
|
public.ipv6 = "2603:c027:c001:89aa:aad9:34b3:f3c9:924f";
|
|
|
|
vpn.ipv6 = "fd7a:115c:a1e0::d";
|
2024-08-10 17:56:30 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-01-08 21:18:11 +01:00
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
2024-06-25 16:14:08 +02:00
|
|
|
networking.useNetworkd = true;
|
|
|
|
systemd.network.networks."10-wan" = {
|
|
|
|
matchConfig.Name = "enp0s3";
|
|
|
|
DHCP = "ipv4";
|
2024-12-01 17:59:34 +01:00
|
|
|
addresses = [ { Address = "2603:c027:c001:89aa:aad9:34b3:f3c9:924f"; } ];
|
2024-06-25 16:14:08 +02:00
|
|
|
linkConfig.RequiredForOnline = "routable";
|
|
|
|
};
|
|
|
|
|
2023-07-27 21:08:00 +02:00
|
|
|
deployment.buildOnTarget = true;
|
2024-05-26 20:24:00 +02:00
|
|
|
deployment.tags = [ "server" ];
|
2023-07-27 21:08:00 +02:00
|
|
|
|
2024-05-26 19:32:00 +02:00
|
|
|
luj.nginx.enable = true;
|
2023-01-08 21:18:11 +01:00
|
|
|
|
2024-05-26 19:32:00 +02:00
|
|
|
services.ntfy-sh = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.unstable.ntfy-sh;
|
|
|
|
settings = {
|
|
|
|
listen-http = ":8081";
|
|
|
|
behind-proxy = true;
|
|
|
|
upstream-base-url = "https://ntfy.sh";
|
|
|
|
base-url = "https://notifications.julienmalka.me";
|
|
|
|
auth-file = "/srv/ntfy/user.db";
|
|
|
|
auth-default-access = "deny-all";
|
2023-04-09 00:13:41 +02:00
|
|
|
};
|
2024-05-26 19:32:00 +02:00
|
|
|
};
|
2023-01-08 21:18:11 +01:00
|
|
|
|
|
|
|
services.nginx.virtualHosts."notifications.julienmalka.me" = {
|
|
|
|
forceSSL = true;
|
|
|
|
enableACME = true;
|
|
|
|
locations."/" = {
|
2023-05-20 21:42:29 +02:00
|
|
|
proxyPass = "http://localhost:8081";
|
2023-01-08 21:18:11 +01:00
|
|
|
proxyWebsockets = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-04-04 17:37:32 +02:00
|
|
|
nix.gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
|
|
|
};
|
|
|
|
|
2023-01-14 20:29:35 +01:00
|
|
|
system.stateVersion = "22.11";
|
2023-01-08 21:18:11 +01:00
|
|
|
}
|