forked from colonelpanic/dotfiles
109 lines
2.6 KiB
Nix
109 lines
2.6 KiB
Nix
{ forEachUser, ... }:
|
|
let biskcomp-nginx-hostnames = "192.168.1.44 railbird.ai 1896Folsom.duckdns.org biskcomp.local 0.0.0.0 67.162.131.71";
|
|
in
|
|
{
|
|
imports = [
|
|
../configuration.nix
|
|
../raspberry-pi.nix
|
|
];
|
|
|
|
modules.raspberry-pi.enable = true;
|
|
|
|
modules.base.enable = true;
|
|
modules.desktop.enable = true;
|
|
modules.xmonad.enable = true;
|
|
modules.extra.enable = false;
|
|
modules.code.enable = true;
|
|
modules.games.enable = false;
|
|
modules.syncthing.enable = true;
|
|
modules.fonts.enable = true;
|
|
modules.nixified-ai.enable = false;
|
|
modules.cache-server = {
|
|
enable = true;
|
|
host-string = biskcomp-nginx-hostnames;
|
|
port = 80;
|
|
path = "/nix-cache";
|
|
};
|
|
|
|
services.vaultwarden = {
|
|
enable = true;
|
|
config = {
|
|
ROCKET_ADDRESS = "::1";
|
|
ROCKET_PORT = 8222;
|
|
};
|
|
};
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
recommendedProxySettings = true;
|
|
recommendedGzipSettings = true;
|
|
recommendedTlsSettings = true;
|
|
virtualHosts = {
|
|
"192.168.1.44 railbird.ai 1896Folsom.duckdns.org 0.0.0.0 67.162.131.71" = {
|
|
root = ../railbird.ai;
|
|
locations."/" = {
|
|
index = "index.html";
|
|
};
|
|
};
|
|
# Server block for Vaultwarden on a different port
|
|
"_:8222" = {
|
|
listen = [ { addr = "::"; port = 8222; } ]; # Listen on IPv6 and port 8222
|
|
forceSSL = false; # Assuming you're not using HTTPS for this one
|
|
locations."/" = {
|
|
proxyPass = "http://::1:8222";
|
|
proxySetHeaders = {
|
|
Host = "$host";
|
|
X-Real-IP = "$remote_addr";
|
|
X-Forwarded-For = "$proxy_add_x_forwarded_for";
|
|
X-Forwarded-Proto = "$scheme";
|
|
};
|
|
proxyRedirect = "off";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
services.plex = {
|
|
enable = true;
|
|
};
|
|
|
|
services.gitea = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
settings.server = {
|
|
DOMAIN = "1896Folsom.duckdns.org";
|
|
SSH_PORT = 1123;
|
|
};
|
|
};
|
|
|
|
fileSystems."/" = {
|
|
device = "/dev/disk/by-label/NIXOS_SD";
|
|
fsType = "ext4";
|
|
};
|
|
|
|
services.home-assistant = {
|
|
enable = true;
|
|
extraComponents = [
|
|
# Components required to complete the onboarding
|
|
"met"
|
|
"radio_browser"
|
|
];
|
|
config = {
|
|
# Includes dependencies for a basic setup
|
|
# https://www.home-assistant.io/integrations/default_config/
|
|
default_config = {};
|
|
};
|
|
};
|
|
|
|
swapDevices = [
|
|
{ device = "/swapfile"; size = 8192; } # size is in MiB
|
|
];
|
|
|
|
networking.hostName = "biskcomp";
|
|
system.stateVersion = "23.11";
|
|
|
|
home-manager.users = forEachUser {
|
|
home.stateVersion = "23.11";
|
|
};
|
|
}
|