Merge branch 'main' of ssh://gitea.xeovalyte.dev:2222/xeovalyte/nix

This commit is contained in:
Timo Boomers 2025-05-09 08:41:44 +02:00
commit 22f69febf9
Signed by: xeovalyte
SSH Key Fingerprint: SHA256:GWI1hq+MNKR2UOcvk7n9tekASXT8vyazK7vDF9Xyciw
9 changed files with 144 additions and 2 deletions

View File

@ -53,7 +53,12 @@
# Enable host # Enable host
networking.hosts = { networking.hosts = {
"127.0.0.1" = [ "adguard.timo.bmrs.nl" "git.timo.bmrs.nl" "auth.timo.bmrs.nl" "ldap.timo.bmrs.nl" "dozzle.timo.bmrs.nl" "home.timo.bmrs.nl" "immich.timo.bmrs.nl" "paperless.timo.bmrs.nl" "search.timo.bmrs.nl" ]; "127.0.0.1" = [
"tbmrs.nl"
"auth.tbmrs.nl"
"forgejo.tbmrs.nl"
"immich.tbmrs.nl"
];
}; };
# Bootloader. # Bootloader.
@ -69,7 +74,7 @@
networking.firewall = { networking.firewall = {
enable = true; enable = true;
allowedTCPPorts = [ 80 443 53 ]; allowedTCPPorts = [ 22 80 443 53 ];
allowedUDPPorts = [ 80 443 53 ]; allowedUDPPorts = [ 80 443 53 ];
}; };

View File

@ -25,6 +25,7 @@
applications.yazi.enable = true; applications.yazi.enable = true;
applications.zellij.enable = true; applications.zellij.enable = true;
applications.wezterm.enable = true; applications.wezterm.enable = true;
applications.nushell.enable = true;
services.nextcloud-sync.enable = true; services.nextcloud-sync.enable = true;

View File

@ -51,6 +51,8 @@
vaultwarden.enable = true; vaultwarden.enable = true;
paperless-ngx.enable = true; paperless-ngx.enable = true;
beszel.enable = true; beszel.enable = true;
storage.enable = true;
homeassistant.enable = true;
}; };
}; };

View File

@ -0,0 +1,37 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.settings.applications.nushell;
in {
options = {
settings.applications.nushell.enable = lib.mkOption {
type = lib.types.bool;
description = ''
Enable nushell shell
'';
default = false;
};
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
eza
bat
];
programs.bash = {
enable = false;
};
programs.nushell = {
enable = true;
};
programs.starship = {
enable = true;
enableNushellIntegration = true;
};
};
}

View File

@ -71,6 +71,11 @@ in {
handle @pingvin-share { handle @pingvin-share {
reverse_proxy pingvin-share:3000 reverse_proxy pingvin-share:3000
} }
@dufs host files.tbmrs.nl
handle @dufs {
reverse_proxy dufs:5000
}
} }
*.local.tbmrs.nl { *.local.tbmrs.nl {
@ -93,6 +98,16 @@ in {
handle @beszel { handle @beszel {
reverse_proxy beszel:8090 reverse_proxy beszel:8090
} }
@syncthing host syncthing.local.tbmrs.nl
handle @syncthing {
reverse_proxy syncthing:8384
}
@homeassistant host home-assistant.local.tbmrs.nl
handle @homeassistant {
reverse_proxy homeassistant:8123
}
} }
''; '';
}; };

View File

@ -0,0 +1,31 @@
{ config, lib, ... }:
with lib;
let
cfg = config.settings.containers.homeassistant;
in {
options = {
settings.containers.homeassistant.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable storage configuration
'';
};
};
config = mkIf cfg.enable {
services.podman.containers.homeassistant = {
image = "ghcr.io/home-assistant/home-assistant:stable";
network = "proxy";
volumes = [
"%h/containers/homeassistant/config:/config"
];
userNS = "keep-id";
environment = {
TZ = "Europe/Amsterdam";
};
};
};
}

View File

@ -26,6 +26,7 @@ in {
"%h/containers/homepage/config/docker.yaml:/app/config/docker.yaml" "%h/containers/homepage/config/docker.yaml:/app/config/docker.yaml"
"/run/user/1000/podman/podman.sock:/var/run/podman.sock:ro" "/run/user/1000/podman/podman.sock:/var/run/podman.sock:ro"
]; ];
userNS = "keep-id";
environment = { environment = {
HOMEPAGE_ALLOWED_HOSTS = "home.tbmrs.nl"; HOMEPAGE_ALLOWED_HOSTS = "home.tbmrs.nl";
}; };

View File

@ -0,0 +1,47 @@
{ config, lib, ... }:
with lib;
let
cfg = config.settings.containers.storage;
in {
options = {
settings.containers.storage.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable storage configuration
'';
};
};
config = mkIf cfg.enable {
services.podman.containers.dufs = {
image = "sigoden/dufs";
network = "proxy";
volumes = [
"%h/storage:/data"
];
userNS = "keep-id";
environment = {
DUFS_SERVE_PATH = "data";
DUFS_AUTH = "@/tboomers/public:ro|tboomers:password@/tboomers:rw";
DUFS_ALLOW_ALL = true;
};
};
services.podman.containers.syncthing = {
image = "syncthing/syncthing";
network = "proxy";
volumes = [
"%h/storage:/storage"
"%h/containers/syncthing/data:/var/syncthing"
];
userNS = "keep-id";
ports = [
"22000:22000/tcp"
"22000:22000/udp"
];
};
};
}

View File

@ -14,6 +14,7 @@
./applications/yazi.nix ./applications/yazi.nix
./applications/zellij.nix ./applications/zellij.nix
./applications/wezterm.nix ./applications/wezterm.nix
./applications/nushell.nix
./services/nextcloud.nix ./services/nextcloud.nix
./services/podman.nix ./services/podman.nix
@ -37,5 +38,7 @@
./containers/vaultwarden.nix ./containers/vaultwarden.nix
./containers/paperless-ngx.nix ./containers/paperless-ngx.nix
./containers/beszel.nix ./containers/beszel.nix
./containers/storage.nix
./containers/homeassistant.nix
]; ];
} }