Purge Bloxelcom

This commit is contained in:
Jimbo 2024-08-20 02:54:33 -04:00
parent bdd47c9572
commit 7d30617bb7
4 changed files with 128 additions and 145 deletions

View file

@ -97,7 +97,7 @@ in
}; };
}; };
# Add a kernel entry to boot from the secondary GPU # Additional entry to boot from the second GPU
specialisation = { specialisation = {
gputwo.configuration = { gputwo.configuration = {
boot.kernelParams = commonKernelParams ++ [ "vfio-pci.ids=10de:2504,10de:228e" ]; boot.kernelParams = commonKernelParams ++ [ "vfio-pci.ids=10de:2504,10de:228e" ];

View file

@ -80,11 +80,11 @@ let
rofiScripts = pkgs.writeScriptBin "rofiscripts" '' rofiScripts = pkgs.writeScriptBin "rofiscripts" ''
# Scratchpad function # Scratchpad function
handle_scratchpads() { handle_scratchpads() {
SCRATCHPADS=$(echo -e "Gotop\nMusic\nAudio\nEasyEffects" | rofi -dmenu -i -p "Scratchpads") SCRATCHPADS=$(echo -e "Gotop\nMusic\nSound\nEasyEffects" | rofi -dmenu -i -p "Scratchpads")
case $SCRATCHPADS in case $SCRATCHPADS in
Gotop) foot -a gotop -T Gotop gotop;; Gotop) foot -a gotop -T Gotop gotop;;
Music) foot -a music -T Music ncmpcpp;; Music) foot -a music -T Music ncmpcpp;;
Audio) foot -a audio -T Audio ncpamixer;; Sound) foot -a sound -T Sound ncpamixer;;
EasyEffects) easyeffects;; EasyEffects) easyeffects;;
esac esac
} }
@ -1192,7 +1192,7 @@ in
# Scratchpads # Scratchpads
{ command = "foot -a gotop -T Gotop gotop"; } { command = "foot -a gotop -T Gotop gotop"; }
{ command = "foot -a music -T Music ncmpcpp"; } { command = "foot -a music -T Music ncmpcpp"; }
{ command = "foot -a audio -T Audio ncpamixer"; } { command = "foot -a sound -T Sound ncpamixer"; }
{ command = "easyeffects"; } { command = "easyeffects"; }
# Daemons and tray apps # Daemons and tray apps
@ -1543,32 +1543,31 @@ in
titlebar = false; titlebar = false;
commands = [ commands = [
# Scratchpads # Scratchpads
{ command = ''floating enable, sticky enable, move scratchpad, mark borderless''; { criteria = { con_mark = "scratchpad"; };
criteria = { con_mark = "scratchpad"; }; } command = ''floating enable, sticky enable, move scratchpad, mark borderless''; }
{ command = ''mark scratchpad''; { criteria = { app_id = "gotop"; };
criteria = { app_id = "gotop"; }; } command = ''mark scratchpad''; }
{ command = ''mark scratchpad''; { criteria = { app_id = "music"; };
criteria = { app_id = "music"; }; } command = ''mark scratchpad''; }
{ command = ''mark scratchpad''; { criteria = { app_id = "audio"; };
criteria = { app_id = "audio"; }; } command = ''mark scratchpad''; }
{ command = ''mark scratchpad, opacity 0.9''; { criteria = { app_id = "com.github.wwmm.easyeffects"; };
criteria = { app_id = "com.github.wwmm.easyeffects"; }; } command = ''mark scratchpad, opacity 0.9''; }
# Create a "Scratchpad" for apps I don't want to be seen when launched # Create a "Scratchpad" for apps I don't want to be seen when launched
{ command = ''move scratchpad''; criteria = { con_mark = "hiddenaway"; }; } { criteria = { con_mark = "hiddenaway"; }; command = ''move scratchpad''; }
# Give apps that don't have them borders # Give apps that don't have them borders
{ command = ''border pixel ${borderWeight}''; criteria = { con_mark = "borderless"; }; } { criteria = { con_mark = "borderless"; }; command = ''border pixel ${borderWeight}''; }
{ command = ''mark borderless''; criteria = { app_id = "com.github.wwmm.easyeffects"; }; } { criteria = { app_id = "com.github.wwmm.easyeffects"; }; command = ''mark borderless''; }
{ command = ''mark borderless''; criteria = { class = "steam"; }; } { criteria = { class = "steam"; }; command = ''mark borderless''; }
{ command = ''mark borderless''; criteria = { app_id = "swappy"; }; } { criteria = { app_id = "swappy"; }; command = ''mark borderless''; }
{ command = ''mark borderless''; criteria = { app_id = "virt-manager"; }; } { criteria = { app_id = "virt-manager"; }; command = ''mark borderless''; }
{ command = ''mark borderless''; criteria = { window_role = "pop-up"; }; } { criteria = { window_role = "pop-up"; }; command = ''mark borderless''; }
# Floating or fullscreen rules # Floating or fullscreen rules
{ command = ''floating enable''; criteria = { app_id = "smb"; }; } { criteria = { app_id = "float"; }; command = ''floating enable''; }
{ command = ''floating enable''; criteria = { app_id = "float"; }; } { criteria = { title = "^GlobalShot"; }; command = ''floating enable, fullscreen enable global''; }
{ command = ''floating enable, fullscreen enable global''; criteria = { title = "^GlobalShot"; }; }
]; ];
}; };
assigns = { assigns = {
@ -1632,9 +1631,9 @@ in
all-outputs = true; all-outputs = true;
tooltip = false; tooltip = false;
rewrite = { rewrite = {
"(.*) Firefox" = " $1"; "(.*) LibreWolf" = " $1";
"Firefox" = " Firefox"; "LibreWolf" = " Firefox";
"(.*) - YouTube Firefox" = "󰗃 $1"; "(.*) - LibreWolf Firefox" = "󰗃 $1";
}; };
}; };

View file

@ -6,7 +6,6 @@ let
# Define domains and ips # Define domains and ips
jimDomain = ''jimbosfiles.com''; jimDomain = ''jimbosfiles.com'';
bloxelDomain = ''bloxelcom.net'';
# IPs # IPs
netInt = ''eno1''; netInt = ''eno1'';
@ -225,11 +224,36 @@ in
"${jimDomain}" = { "${jimDomain}" = {
enableACME = true; enableACME = true;
addSSL = true; addSSL = true;
locations."/" = { locations = {
"= /" = {
extraConfig = " extraConfig = "
return 301 https://social.${bloxelDomain}/@jimbo; return 301 https://social.${jimDomain}/@jimbo;
"; ";
}; };
"/.well-known/matrix/client" = {
extraConfig = ''
default_type application/json;
return 200 '
{
"m.homeserver": {
"base_url": "https://matrix.${jimDomain}"
},
"m.identity_server": {
"base_url": "https://matrix.org"
},
"org.matrix.msc3575.proxy": {
"url": "https://matrix.${jimDomain}"
}
}';
'';
};
"/.well-known/matrix/server" = {
extraConfig = ''
default_type application/json;
return 200 '{"m.server": "matrix.${jimDomain}:443"}';
'';
};
};
}; };
# Nextcloud Proxy # Nextcloud Proxy
@ -242,7 +266,6 @@ in
location /.well-known/carddav { location /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav; return 301 $scheme://$host/remote.php/dav;
} }
location /.well-known/caldav { location /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav; return 301 $scheme://$host/remote.php/dav;
} }
@ -301,27 +324,27 @@ in
}; };
# Matrix Proxy # Matrix Proxy
"matrix.${bloxelDomain}" = { "matrix.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations = { locations = {
"/".extraConfig = ''return 403;''; "/".extraConfig = ''return 403;'';
"/_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://127.0.0.1:8009";
"/client".proxyPass = "http://127.0.0.1:8009"; "/client".proxyPass = "http://127.0.0.1:8009";
"/_matrix".proxyPass = "http://127.0.0.1:8008"; "/_matrix".proxyPass = "http://127.0.0.1:8008";
"/_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://127.0.0.1:8009";
"/_synapse/client".proxyPass = "http://127.0.0.1:8008"; "/_synapse/client".proxyPass = "http://127.0.0.1:8008";
}; };
}; };
# Element Proxy # Element Proxy
"chat.${bloxelDomain}" = { "chat.${jimDomain}" = {
enableACME = true; enableACME = true;
addSSL = true; addSSL = true;
root = "${pkgs.element-web}"; root = "${pkgs.element-web}";
}; };
# Coturn Proxy # Coturn Proxy
"turn.${bloxelDomain}" = { "turn.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
listen = [ listen = [
@ -331,7 +354,7 @@ in
}; };
# Radio Proxy # Radio Proxy
"wbxdradio.${bloxelDomain}" = { "radio.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
@ -341,7 +364,7 @@ in
}; };
# Streaming proxy # Streaming proxy
"live.${bloxelDomain}" = { "live.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
@ -351,7 +374,7 @@ in
}; };
# Mail certificate proxy # Mail certificate proxy
"mx.${bloxelDomain}" = { "mx.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
@ -361,51 +384,10 @@ in
}; };
# Add SSL to Lemmy # Add SSL to Lemmy
"lemmy.${bloxelDomain}" = { "lemmy.${jimDomain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
}; };
# Staging Bloxel Proxy
"staging.${bloxelDomain}" = {
enableACME = true;
addSSL = true;
root = "/var/www/bloxelcomweb/landing-page/";
locations = {
"/BloxelcomCable/hls" = {
extraConfig = ''
# Allow serving m3u8 files
types {
application/vnd.apple.mpegurl m3u8;
}
'';
};
"/.well-known/matrix/client" = {
extraConfig = ''
default_type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '
{
"m.homeserver": {
"base_url": "https://matrix.${bloxelDomain}"
},
"m.identity_server": {
"base_url": "https://matrix.${bloxelDomain}"
},
"org.matrix.msc3575.proxy": {
"url": "https://matrix.${bloxelDomain}"
}
}';
'';
};
"/.well-known/matrix/server" = {
extraConfig = ''
default_type application/json;
return 200 '{"m.server": "https://matrix.${bloxelDomain}"}';
'';
};
};
};
}; };
appendConfig = '' appendConfig = ''
rtmp { rtmp {
@ -418,7 +400,7 @@ in
live on; live on;
allow play all; allow play all;
hls on; hls on;
hls_path /var/www/bloxelcomweb/landing-page/bloxelcom-cable/hls; hls_path /var/www/jimwebsite/hls;
hls_fragment_naming system; hls_fragment_naming system;
hls_fragment 3; hls_fragment 3;
hls_playlist_length 40; hls_playlist_length 40;
@ -445,11 +427,11 @@ in
overwriteprotocol = "https"; overwriteprotocol = "https";
# Mailserver settings # Mailserver settings
mail_smtphost = "mx.${bloxelDomain}"; mail_smtphost = "mx.${jimDomain}";
mail_domain = "${bloxelDomain}"; mail_domain = "${jimDomain}";
mail_from_address = "noreply"; mail_from_address = "noreply";
mail_smtpauth = "true"; mail_smtpauth = "true";
mail_smtpname = "noreply@${bloxelDomain}"; mail_smtpname = "noreply@${jimDomain}";
mail_smtppassword = secrets.noreplyPassword; mail_smtppassword = secrets.noreplyPassword;
mail_smtpmode = "smtp"; mail_smtpmode = "smtp";
mail_smtpport = 587; mail_smtpport = 587;
@ -467,10 +449,10 @@ in
ROCKET_LOG = "critical"; ROCKET_LOG = "critical";
# Smtp email # Smtp email
SMTP_HOST = "mx.${bloxelDomain}"; SMTP_HOST = "mx.${jimDomain}";
SMTP_FROM = "noreply@${bloxelDomain}"; SMTP_FROM = "noreply@${jimDomain}";
SMTP_FROM_NAME = "Vaultwarden"; SMTP_FROM_NAME = "Vaultwarden";
SMTP_USERNAME = "noreply@${bloxelDomain}"; SMTP_USERNAME = "noreply@${jimDomain}";
SMTP_PASSWORD = secrets.noreplyPassword; SMTP_PASSWORD = secrets.noreplyPassword;
SMTP_SECURITY = "starttls"; SMTP_SECURITY = "starttls";
SMTP_PORT = 587; SMTP_PORT = 587;
@ -497,8 +479,8 @@ in
}; };
mailer = { mailer = {
ENABLED = true; ENABLED = true;
SMTP_ADDR = "mx.${bloxelDomain}"; SMTP_ADDR = "mx.${jimDomain}";
FROM = "noreply@${bloxelDomain}"; FROM = "noreply@${jimDomain}";
PASSWD = secrets.noreplyPassword; PASSWD = secrets.noreplyPassword;
PROTOCOL = "smtp+starttls"; PROTOCOL = "smtp+starttls";
SMTP_PORT = 587; SMTP_PORT = 587;
@ -514,9 +496,9 @@ in
PUFFER_WEB_HOST = ":5010"; PUFFER_WEB_HOST = ":5010";
PUFFER_PANEL_SETTINGS_MASTERURL = "https://mc.${jimDomain}"; PUFFER_PANEL_SETTINGS_MASTERURL = "https://mc.${jimDomain}";
PUFFER_PANEL_EMAIL_PROVIDER = "smtp"; PUFFER_PANEL_EMAIL_PROVIDER = "smtp";
PUFFER_PANEL_EMAIL_HOST = "mx.${bloxelDomain}:587"; PUFFER_PANEL_EMAIL_HOST = "mx.${jimDomain}:587";
PUFFER_PANEL_EMAIL_FROM = "noreply@${bloxelDomain}"; PUFFER_PANEL_EMAIL_FROM = "noreply@${jimDomain}";
PUFFER_PANEL_EMAIL_USERNAME = "noreply@${bloxelDomain}"; PUFFER_PANEL_EMAIL_USERNAME = "noreply@${jimDomain}";
PUFFER_PANEL_EMAIL_PASSWORD = secrets.noreplyPassword; PUFFER_PANEL_EMAIL_PASSWORD = secrets.noreplyPassword;
}; };
extraPackages = with pkgs; [ bash curl gawk gnutar gzip ]; extraPackages = with pkgs; [ bash curl gawk gnutar gzip ];
@ -562,7 +544,7 @@ in
min-port = 49000; min-port = 49000;
max-port = 50000; max-port = 50000;
use-auth-secret = true; use-auth-secret = true;
realm = "turn.${bloxelDomain}"; realm = "turn.${jimDomain}";
static-auth-secret = "will be world readable for local users :("; static-auth-secret = "will be world readable for local users :(";
cert = "${config.security.acme.certs.${realm}.directory}/full.pem"; cert = "${config.security.acme.certs.${realm}.directory}/full.pem";
pkey = "${config.security.acme.certs.${realm}.directory}/key.pem"; pkey = "${config.security.acme.certs.${realm}.directory}/key.pem";
@ -572,8 +554,8 @@ in
matrix-synapse = with config.services.coturn; { matrix-synapse = with config.services.coturn; {
enable = true; enable = true;
settings = { settings = {
server_name = "${bloxelDomain}"; server_name = "${jimDomain}";
public_baseurl = "https://matrix.${bloxelDomain}"; public_baseurl = "https://matrix.${jimDomain}";
suppress_key_server_warning = true; suppress_key_server_warning = true;
# Set the network config # Set the network config
@ -589,9 +571,9 @@ in
# Enable smtp for password resets # Enable smtp for password resets
email = { email = {
notif_from = "Bloxelcom's Matrix Homeserver <noreply@bloxelcom.net>"; notif_from = "Jimbo's Matrix Homeserver <noreply@${jimDomain}>";
smtp_host = "mx.${bloxelDomain}"; smtp_host = "mx.${jimDomain}";
smtp_user = "noreply@${bloxelDomain}"; smtp_user = "noreply@${jimDomain}";
smtp_pass = secrets.noreplyPassword; smtp_pass = secrets.noreplyPassword;
enable_tls = true; enable_tls = true;
smtp_port = 587; smtp_port = 587;
@ -604,7 +586,7 @@ in
# Allow only this range of emails # Allow only this range of emails
allowed_local_3pids = [{ allowed_local_3pids = [{
medium = "email"; medium = "email";
pattern = "^[^@]+@bloxelcom\\.net$"; pattern = "^[^@]+@jimbosfiles\\.com$";
}]; }];
# Set the type of database # Set the type of database
@ -619,7 +601,10 @@ in
report_stats = false; report_stats = false;
# Turn settings # Turn settings
turn_uris = [ "turn:${realm}:3478?transport=udp" "turn:${realm}:3478?transport=tcp" ]; turn_uris = [
"turn:${realm}:3478?transport=udp"
"turn:${realm}:3478?transport=tcp"
];
turn_shared_secret = static-auth-secret; turn_shared_secret = static-auth-secret;
turn_user_lifetime = "1h"; turn_user_lifetime = "1h";
@ -636,7 +621,7 @@ in
in { in {
enable = true; enable = true;
settings = { settings = {
SYNCV3_SERVER = "https://matrix.${bloxelDomain}"; SYNCV3_SERVER = "https://matrix.${jimDomain}";
SYNCV3_BINDADDR = "0.0.0.0:8009"; SYNCV3_BINDADDR = "0.0.0.0:8009";
}; };
environmentFile = "${matrixSecretFile}"; environmentFile = "${matrixSecretFile}";
@ -645,16 +630,16 @@ in
# Mastodon # Mastodon
mastodon = { mastodon = {
enable = true; enable = true;
localDomain = "social.${bloxelDomain}"; localDomain = "social.${jimDomain}";
streamingProcesses = 4; streamingProcesses = 4;
configureNginx = true; configureNginx = true;
smtp = { smtp = {
createLocally = false; createLocally = false;
host = "mx.${bloxelDomain}"; host = "mx.${jimDomain}";
port = 587; port = 587;
authenticate = true; authenticate = true;
fromAddress = "noreply@${bloxelDomain}"; fromAddress = "noreply@${jimDomain}";
user = "noreply@${bloxelDomain}"; user = "noreply@${jimDomain}";
passwordFile = pkgs.writeText "smtp_pass.txt" secrets.noreplyPassword; passwordFile = pkgs.writeText "smtp_pass.txt" secrets.noreplyPassword;
}; };
}; };
@ -665,11 +650,11 @@ in
nginx.enable = true; nginx.enable = true;
database.createLocally = true; database.createLocally = true;
settings = { settings = {
hostname = "lemmy.${bloxelDomain}"; hostname = "lemmy.${jimDomain}";
email = { email = {
smtp_server = "mx.${bloxelDomain}:587"; smtp_server = "mx.${jimDomain}:587";
smtp_login = "noreply@${bloxelDomain}"; smtp_login = "noreply@${jimDomain}";
smtp_from_address = "noreply@${bloxelDomain}"; smtp_from_address = "noreply@${jimDomain}";
smtp_password = secrets.noreplyPassword; smtp_password = secrets.noreplyPassword;
tls_type = "starttls"; tls_type = "starttls";
}; };
@ -679,7 +664,7 @@ in
# Roundcube mail server # Roundcube mail server
roundcube = { roundcube = {
enable = true; enable = true;
hostName = "mail.${bloxelDomain}"; hostName = "mail.${jimDomain}";
extraConfig = '' extraConfig = ''
$config['smtp_server'] = "tls://${config.mailserver.fqdn}"; $config['smtp_server'] = "tls://${config.mailserver.fqdn}";
$config['smtp_user'] = "%u"; $config['smtp_user'] = "%u";
@ -700,7 +685,7 @@ in
SupplementaryGroups = [ "shadow" ]; SupplementaryGroups = [ "shadow" ];
}; };
systemd.services.nginx.serviceConfig.ReadWritePaths = [ systemd.services.nginx.serviceConfig.ReadWritePaths = [
"/var/www/bloxelcomweb/landing-page/bloxelcom-cable/hls/" "/var/www/jimwebsite/hls/"
]; ];
# Get certificates for Coturn # Get certificates for Coturn
@ -719,16 +704,16 @@ in
nixpkgs.config.element-web.conf = { nixpkgs.config.element-web.conf = {
default_server_config = { default_server_config = {
"m.homeserver" = { "m.homeserver" = {
base_url = "https://matrix.${bloxelDomain}"; base_url = "https://matrix.${jimDomain}";
server_name = "matrix.${bloxelDomain}"; server_name = "matrix.${jimDomain}";
}; };
}; };
branding = { branding = {
welcome_background_url = "https://staging.${bloxelDomain}/images/backgrounds/bloxelcom-sunset.jpg"; #welcome_background_url = "https://staging.${jimDomain}/images/backgrounds/bloxelcom-sunset.jpg";
auth_header_logo_url = "https://staging.${bloxelDomain}/images/logos/bloxelcom.png"; #auth_header_logo_url = "https://staging.${jimDomain}/images/logos/bloxelcom.png";
}; };
embedded_pages = { embedded_pages = {
home_url = "https://www.${bloxelDomain}/"; home_url = "https://www.${jimDomain}/";
}; };
disable_custom_urls = true; disable_custom_urls = true;
disable_guests = true; disable_guests = true;
@ -747,30 +732,30 @@ in
mailserver = rec { mailserver = rec {
enable = true; enable = true;
enableManageSieve = true; enableManageSieve = true;
domains = [ "${bloxelDomain}" ]; domains = [ "${jimDomain}" ];
fqdn = "mx.${bloxelDomain}"; fqdn = "mx.${jimDomain}";
certificateScheme = "acme-nginx"; certificateScheme = "acme-nginx";
# A list of accounts. # A list of accounts.
# Generate passwords with nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt' # Generate passwords with nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
loginAccounts = { loginAccounts = {
"noreply@${bloxelDomain}" = { "noreply@${jimDomain}" = {
hashedPasswordFile = pkgs.writeText "noreply" secrets.noreplyMailHash; hashedPasswordFile = pkgs.writeText "noreply" secrets.noreplyMailHash;
sendOnly = true; sendOnly = true;
}; };
"jimbo@${bloxelDomain}" = { "jimbo@${jimDomain}" = {
hashedPasswordFile = pkgs.writeText "jimbo" secrets.jimboMailHash; hashedPasswordFile = pkgs.writeText "jimbo" secrets.jimboMailHash;
aliases = [ "canada@${bloxelDomain}" "contact@${bloxelDomain}" ]; aliases = [ "canada@${jimDomain}" "contact@${jimDomain}" ];
}; };
"lunamoonlight@${bloxelDomain}" = { "lunamoonlight@${jimDomain}" = {
hashedPasswordFile = pkgs.writeText "luna" secrets.lunaMailHash; hashedPasswordFile = pkgs.writeText "luna" secrets.lunaMailHash;
aliases = [ "us@${bloxelDomain}" "contact@${bloxelDomain}" ]; aliases = [ "us@${jimDomain}" "contact@${jimDomain}" ];
}; };
"freecorn1854@${bloxelDomain}" = { "freecorn1854@${jimDomain}" = {
hashedPasswordFile = pkgs.writeText "freecorn" secrets.freecornMailHash; hashedPasswordFile = pkgs.writeText "freecorn" secrets.freecornMailHash;
aliases = [ "canada@${bloxelDomain}" "contact@${bloxelDomain}" ]; aliases = [ "canada@${jimDomain}" "contact@${jimDomain}" ];
}; };
"tinyattack09@${bloxelDomain}" = { "tinyattack09@${jimDomain}" = {
hashedPasswordFile = pkgs.writeText "tiny" secrets.tinyMailHash; hashedPasswordFile = pkgs.writeText "tiny" secrets.tinyMailHash;
}; };
}; };

View file

@ -16,63 +16,62 @@
device = "/dev/disk/by-uuid/2034-754A"; device = "/dev/disk/by-uuid/2034-754A";
fsType = "vfat"; fsType = "vfat";
}; };
"/home/jimbo/JimboNFS" = { "/export/JimboNFS" = {
device = "/dev/disk/by-uuid/713fcd92-534c-4153-8e04-e0c6fe5f6a51"; device = "/dev/disk/by-uuid/713fcd92-534c-4153-8e04-e0c6fe5f6a51";
fsType = "ext4"; fsType = "ext4";
noCheck = true;
}; };
"/export/JimboNFS" = { "/home/jimbo/JimboNFS" = {
device = "/home/jimbo/JimboNFS";
fsType = "none";
options = [ "bind" ];
};
"/mnt/nextcloud/data/JimboNFS" = {
device = "/export/JimboNFS"; device = "/export/JimboNFS";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
}; };
# Atrocity of var bindmounts # Atrocity of var bindmounts
"/mnt/nextcloud/data/JimboNFS" = {
device = "/export/JimboNFS";
fsType = "none";
options = [ "bind" ];
};
"/var/lib/bitwarden_rs" = { "/var/lib/bitwarden_rs" = {
device = "/export/JimboNFS/System/var/lib/bitwarden_rs"; device = "/export/JimboNFS/System/var/lib/bitwarden_rs";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/gitea" = { "/var/lib/gitea" = {
device = "/export/JimboNFS/System/var/lib/gitea"; device = "/export/JimboNFS/System/var/lib/gitea";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/matrix-synapse" = { "/var/lib/matrix-synapse" = {
device = "/export/JimboNFS/System/var/lib/matrix-synapse"; device = "/export/JimboNFS/System/var/lib/matrix-synapse";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/nextcloud" = { "/var/lib/nextcloud" = {
device = "/export/JimboNFS/System/var/lib/nextcloud"; device = "/export/JimboNFS/System/var/lib/nextcloud";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/owncast" = { "/var/lib/owncast" = {
device = "/export/JimboNFS/System/var/lib/owncast"; device = "/export/JimboNFS/System/var/lib/owncast";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/docker/volumes/azuracast_station_data/_data/bloxradio/media/Music" = { "/var/lib/docker/volumes/azuracast_station_data/_data/jimbops/media/Music" = {
device = "/export/JimboNFS/Music"; device = "/export/JimboNFS/Music";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ];
}; };
"/var/lib/private/pufferpanel/servers" = { "/var/lib/private/pufferpanel/servers" = {
device = "/export/JimboNFS/System/var/lib/pufferpanel/servers"; device = "/export/JimboNFS/System/var/lib/pufferpanel/servers";
fsType = "none"; fsType = "none";
options = [ "bind" ]; options = [ "bind" ];
depends = [ "/export/JimboNFS" ]; };
"/var/lib/mastodon" = {
device = "/export/JimboNFS/System/var/lib/mastodon";
fsType = "none";
options = [ "bind" ];
}; };
}; };
swapDevices = [ swapDevices = [