2023-08-29 14:21:33 -06:00
|
|
|
{ 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
|
|
|
|
{
|
2021-07-10 13:39:40 -06:00
|
|
|
imports = [
|
2023-08-20 04:25:58 -06:00
|
|
|
../configuration.nix
|
2021-07-11 11:23:59 -06:00
|
|
|
../raspberry-pi.nix
|
2021-07-10 13:39:40 -06:00
|
|
|
];
|
|
|
|
|
2023-12-13 11:41:50 -07:00
|
|
|
users.users.nginx = {
|
|
|
|
group = "nginx";
|
|
|
|
isSystemUser = true;
|
|
|
|
extraGroups = ["syncthing"];
|
|
|
|
};
|
|
|
|
|
2024-09-26 14:15:27 -06:00
|
|
|
myModules.raspberry-pi.enable = true;
|
2023-08-20 04:25:58 -06:00
|
|
|
|
2024-09-26 14:15:27 -06:00
|
|
|
myModules.base.enable = true;
|
|
|
|
myModules.desktop.enable = true;
|
|
|
|
myModules.xmonad.enable = false;
|
|
|
|
myModules.extra.enable = false;
|
|
|
|
myModules.code.enable = true;
|
|
|
|
myModules.games.enable = false;
|
|
|
|
myModules.syncthing.enable = true;
|
|
|
|
myModules.fonts.enable = true;
|
|
|
|
myModules.nixified-ai.enable = false;
|
|
|
|
myModules.cache-server = {
|
2023-09-23 13:52:39 -06:00
|
|
|
enable = false;
|
2023-08-29 14:21:33 -06:00
|
|
|
host-string = biskcomp-nginx-hostnames;
|
2023-08-27 19:03:24 -06:00
|
|
|
port = 80;
|
|
|
|
path = "/nix-cache";
|
|
|
|
};
|
2024-09-26 14:15:27 -06:00
|
|
|
myModules.gitea.enable = true;
|
|
|
|
myModules.gitea-runner.enable = false;
|
2023-08-27 19:03:24 -06:00
|
|
|
|
2023-08-27 19:40:50 -06:00
|
|
|
services.vaultwarden = {
|
|
|
|
enable = true;
|
|
|
|
config = {
|
2023-08-29 14:21:33 -06:00
|
|
|
ROCKET_ADDRESS = "::1";
|
2023-08-27 19:40:50 -06:00
|
|
|
ROCKET_PORT = 8222;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-09-23 13:52:39 -06:00
|
|
|
security.acme = {
|
|
|
|
acceptTerms = true;
|
2023-09-23 16:35:14 -06:00
|
|
|
defaults.email = "IvanMalison@gmail.com";
|
2023-09-23 13:52:39 -06:00
|
|
|
};
|
|
|
|
|
2023-12-07 20:21:33 -07:00
|
|
|
# services.nextcloud = {
|
|
|
|
# enable = true;
|
|
|
|
# hostName = "nextcloud.railbird.ai";
|
|
|
|
# config = {
|
|
|
|
# dbtype = "pgsql";
|
|
|
|
# database.createLocally = true;
|
|
|
|
# };
|
|
|
|
# };
|
2023-11-21 20:09:47 -07:00
|
|
|
|
2023-11-17 13:25:22 -07:00
|
|
|
services.nginx = {
|
|
|
|
enable = true;
|
|
|
|
recommendedProxySettings = true;
|
|
|
|
recommendedGzipSettings = true;
|
|
|
|
recommendedTlsSettings = true;
|
|
|
|
virtualHosts = {
|
|
|
|
"vaultwarden.railbird.ai" = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
|
|
proxyPass = "http://[::1]:8222";
|
|
|
|
};
|
|
|
|
};
|
2023-11-17 19:55:35 -07:00
|
|
|
"cache.railbird.ai" = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
2024-03-22 16:22:34 -06:00
|
|
|
proxyPass = "http://192.168.1.20:3090";
|
2023-11-17 19:55:35 -07:00
|
|
|
};
|
|
|
|
};
|
2023-12-07 01:39:50 -07:00
|
|
|
"syncthing.railbird.ai" = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
2024-03-23 21:17:55 -06:00
|
|
|
root = "/var/lib/syncthing/railbird";
|
2023-12-07 01:39:50 -07:00
|
|
|
locations."/" = {
|
2023-12-07 20:21:33 -07:00
|
|
|
extraConfig = ''
|
|
|
|
autoindex on;
|
|
|
|
'';
|
2023-12-07 01:39:50 -07:00
|
|
|
};
|
|
|
|
};
|
2024-08-19 14:30:56 -06:00
|
|
|
"docs.railbird.ai" = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
root = "/var/lib/syncthing/railbird/docs";
|
|
|
|
locations."/" = {
|
|
|
|
extraConfig = ''
|
|
|
|
autoindex on;
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
2023-11-17 13:25:22 -07:00
|
|
|
};
|
|
|
|
};
|
2023-08-20 04:25:58 -06:00
|
|
|
|
2023-08-03 21:28:38 -06:00
|
|
|
services.plex = {
|
|
|
|
enable = true;
|
|
|
|
};
|
2023-06-17 12:16:47 -06:00
|
|
|
|
2023-08-01 17:47:16 -06:00
|
|
|
fileSystems."/" = {
|
2023-08-01 19:20:33 -06:00
|
|
|
device = "/dev/disk/by-label/NIXOS_SD";
|
2023-08-01 17:47:16 -06:00
|
|
|
fsType = "ext4";
|
|
|
|
};
|
|
|
|
|
2023-06-17 12:16:47 -06:00
|
|
|
services.home-assistant = {
|
2024-06-12 22:49:59 -06:00
|
|
|
enable = false;
|
2023-06-17 12:16:47 -06:00
|
|
|
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 = {};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-08-05 17:13:32 -06:00
|
|
|
swapDevices = [
|
|
|
|
{ device = "/swapfile"; size = 8192; } # size is in MiB
|
|
|
|
];
|
|
|
|
|
2021-07-10 13:39:40 -06:00
|
|
|
networking.hostName = "biskcomp";
|
2023-08-01 19:20:33 -06:00
|
|
|
system.stateVersion = "23.11";
|
2023-08-20 04:34:42 -06:00
|
|
|
|
|
|
|
home-manager.users = forEachUser {
|
|
|
|
home.stateVersion = "23.11";
|
|
|
|
};
|
2021-07-10 13:39:40 -06:00
|
|
|
}
|