Compare commits

...

7 commits

13 changed files with 131 additions and 72 deletions

View file

@ -21,6 +21,7 @@
"minioRootCredentials" = { };
"atticdEnvironment" = { };
"nextcloudPassword" = { };
"gluetunEnvironment" = { };
"matrixRegistrationSecret" = {
owner = "matrix-synapse";
};

View file

@ -261,7 +261,8 @@
"$mainMod, Q, killactive,"
"$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar
"$mainMod, Space, togglefloating,"
"$mainMod, D, exec, bemenu-run -l 5 --ignorecase"
# "$mainMod, D, exec, bemenu-run -l 5 --ignorecase"
"$mainMod, D, exec, vicinae toggle"
"SUPER SHIFT, L, exec, swaylock --image /home/${username}/.local/share/bg.png"
"SUPER, L, exec, swaylock --image /home/${username}/.local/share/bg.png"
"$mainMod, E, exec, nautilus"

View file

@ -13,6 +13,7 @@
nwg-dock-hyprland
hyprland-monitor-attached
hypridle
vicinae
];
# systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
wayland.windowManager.hyprland = {

View file

@ -1,12 +1,12 @@
{ config, lib, ... }:
{
users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
services.anubis = {
defaultOptions = {
enable = true;
settings = {
SERVE_ROBOTS_TXT = true;
};
};
};
# users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
#services.anubis = {
# defaultOptions = {
# enable = true;
# settings = {
# SERVE_ROBOTS_TXT = true;
# };
# };
#};
}

View file

@ -32,19 +32,20 @@
};
};
};
anubis.instances.atticd = {
settings = {
TARGET = "http://localhost:8060";
BIND = ":8061";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.atticd = {
# settings = {
# TARGET = "http://localhost:8060";
# BIND = "/run/anubis/anubis-atticd/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-atticd/anubis.sock";
# };
#};
nginx.virtualHosts."cache.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.atticd.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.atticd.settings.BIND}";
proxyPass = "http://localhost:8060";
proxyWebsockets = true;
};
};

View file

@ -1,19 +1,23 @@
{ config, ... }:
let
target = "http://localhost:8081";
in
{
services = {
anubis.instances.binternet = {
settings = {
TARGET = "http://localhost:8081";
BIND = ":8082";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.binternet = {
# settings = {
# TARGET = target;
# BIND = "/run/anubis/anubis-binternet/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-binternet/anubis.sock";
# };
#};
nginx.virtualHosts."curate.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.binternet.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.binternet.settings.BIND}";
proxyPass = target;
proxyWebsockets = true;
};
};

View file

@ -68,19 +68,20 @@ in
# };
# };
# };
anubis.instances.forgejo = {
settings = {
TARGET = "http://localhost:3050";
BIND = ":3051";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.forgejo = {
# settings = {
# TARGET = "http://localhost:3050";
# BIND = "/run/anubis/anubis-forgejo/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-forgejo/anubis.sock";
# };
#};
nginx.virtualHosts."code.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.forgejo.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.forgejo.settings.BIND}";
proxyPass = "http://localhost:3050";
proxyWebsockets = true;
};
};

View file

@ -17,19 +17,20 @@
guacd-hostname = "localhost";
};
};
anubis.instances.guacamole = {
settings = {
TARGET = "http://localhost:4822";
BIND = ":4883";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.guacamole = {
# settings = {
# TARGET = "http://localhost:4822";
# BIND = "/run/anubis/anubis-guacamole/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-guacamole/anubis.sock";
# };
#};
nginx.virtualHosts."remote.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.guacamole.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.guacamole.settings.BIND}";
proxyPass = "http://${toString config.services.guacamole-server.host}:${toString config.services.guacamole-server.port}";
proxyWebsockets = true;
};
};

View file

@ -1,19 +1,23 @@
{ config, ... }:
let
target = "http://localhost:8078";
in
{
services = {
anubis.instances.librey = {
settings = {
TARGET = "http://localhost:8078";
BIND = ":8079";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.librey = {
# settings = {
# TARGET = target;
# BIND = "/run/anubis/anubis-librey/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-librey/anubis.sock";
# };
#};
nginx.virtualHosts."search.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.librey.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.librey.settings.BIND}";
proxyPass = target;
proxyWebsockets = true;
};
};

View file

@ -1,19 +1,33 @@
{ ... }:
{ config, pkgs, ... }:
{
services.nextcloud = {
enable = false;
config.dbtype = "sqlite";
configureRedis = true;
home = "/home/liv/nextcloud";
config.adminpassFile = "/run/nextcloud/adminpassFile";
maxUploadSize = "25G";
enable = true;
package = pkgs.nextcloud32;
hostName = "cloud.liv.town";
# appstoreEnable = true;
https = true;
hostName = "dandelion.srv.liv.town";
maxUploadSize = "10G";
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
news
contacts
calendar
groupfolders
notify_push
;
};
config = {
adminuser = "root";
adminpassFile = config.sops.secrets.nextcloudPassword.path;
dbtype = "sqlite";
};
configureRedis = true;
settings = {
trusted_domains = [
"dandelion.srv.liv.town"
"files.dandelion.srv.liv.town"
];
mail_smtphost = "smtp.migadu.com";
mail_smtpport = 465;
mail_smtpname = "notifications@liv.town";
mail_smtpauth = true;
trusted_domains = [ "cloud.liv.town" ];
enabledPreviewProviders = [
"OC\\Preview\\BMP"
"OC\\Preview\\GIF"
@ -29,4 +43,25 @@
];
};
};
services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
};
systemd.services.nextcloud-custom-config = {
path = [
config.services.nextcloud.occ
];
script = ''
nextcloud-occ theming:config name "livnet"
# nextcloud-occ theming:config description "liv to your fullest"
nextcloud-occ theming:config url "https://cloud.liv.town";
# nextcloud-occ theming:config privacyUrl "https://liv.town/privacy";
nextcloud-occ theming:config color "#3253a5";
'';
# nextcloud-occ theming:config logo ${./logo.png}
after = [ "nextcloud-setup.service" ];
wantedBy = [ "multi-user.target" ];
};
}

View file

@ -24,6 +24,14 @@
environmentFile = "/home/liv/desec.env"; # location of your DESEC_TOKEN=[value]
webroot = null;
};
"ahwx.org" = {
domain = "*.ahwx.org";
extraDomainNames = [ "ahwx.org" ];
group = config.services.nginx.group;
dnsProvider = "desec";
environmentFile = "/home/liv/desec.env"; # location of your DESEC_TOKEN=[value]
webroot = null;
};
"quack.social" = {
domain = "*.quack.social";
extraDomainNames = [ "quack.social" ];

View file

@ -5,19 +5,20 @@
enable = true;
settings.PORT = "4800";
};
anubis.instances.uptime-kuma = {
settings = {
TARGET = "http://localhost:4800";
BIND = ":4801";
BIND_NETWORK = "tcp";
};
};
#anubis.instances.uptime-kuma = {
# settings = {
# TARGET = "http://localhost:4800";
# BIND = "/run/anubis/anubis-uptime-kuma/anubis.sock";
# METRICS_BIND = "/run/anubis/anubis-uptime-kuma/anubis.sock";
# };
#};
nginx.virtualHosts."uptime.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost${toString config.services.anubis.instances.uptime-kuma.settings.BIND}";
# proxyPass = "http://unix:${toString config.services.anubis.instances.uptime-kuma.settings.BIND}";
proxyPass = "http://localhost:4800";
proxyWebsockets = true;
};
};

File diff suppressed because one or more lines are too long