diff options
Diffstat (limited to 'hosts/laurel/configuration.nix')
-rw-r--r-- | hosts/laurel/configuration.nix | 74 |
1 files changed, 68 insertions, 6 deletions
diff --git a/hosts/laurel/configuration.nix b/hosts/laurel/configuration.nix index a40dafd..84e5a83 100644 --- a/hosts/laurel/configuration.nix +++ b/hosts/laurel/configuration.nix | |||
@@ -9,6 +9,8 @@ | |||
9 | [ | 9 | [ |
10 | # Include the results of the hardware scan. | 10 | # Include the results of the hardware scan. |
11 | ./hardware-configuration.nix | 11 | ./hardware-configuration.nix |
12 | ./servarr.nix | ||
13 | ./media.nix | ||
12 | ]; | 14 | ]; |
13 | 15 | ||
14 | # Use the systemd-boot EFI boot loader. | 16 | # Use the systemd-boot EFI boot loader. |
@@ -20,7 +22,7 @@ | |||
20 | # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. | 22 | # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
21 | # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. | 23 | # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. |
22 | networking.hostName = "laurel"; | 24 | networking.hostName = "laurel"; |
23 | networking.firewall.allowedTCPPorts = [ 80 443 ]; | 25 | networking.firewall.allowedTCPPorts = [ 80 443 6197 ]; |
24 | 26 | ||
25 | time.timeZone = "Europe/London"; | 27 | time.timeZone = "Europe/London"; |
26 | i18n.defaultLocale = "en_US.UTF-8"; | 28 | i18n.defaultLocale = "en_US.UTF-8"; |
@@ -44,10 +46,19 @@ | |||
44 | ]; | 46 | ]; |
45 | }; | 47 | }; |
46 | 48 | ||
47 | environment.systemPackages = with pkgs; [ | 49 | environment.systemPackages = [ |
48 | vim | 50 | pkgs.vim |
49 | wget | 51 | pkgs.wget |
50 | curl | 52 | pkgs.curl |
53 | |||
54 | pkgs.jellyfin | ||
55 | pkgs.jellyfin-web | ||
56 | pkgs.jellyfin-ffmpeg | ||
57 | |||
58 | pkgs.htop | ||
59 | pkgs.ripgrep | ||
60 | pkgs.git | ||
61 | |||
51 | ]; | 62 | ]; |
52 | 63 | ||
53 | users.users.op = { | 64 | users.users.op = { |
@@ -115,15 +126,66 @@ | |||
115 | }; | 126 | }; |
116 | }; | 127 | }; |
117 | 128 | ||
129 | services.miniflux = { | ||
130 | enable = true; | ||
131 | adminCredentialsFile = "/etc/miniflux/admin"; | ||
132 | config = { | ||
133 | FETCH_YOUTUBE_WATCH_TIME = 1; | ||
134 | PORT = 8383; | ||
135 | BASE_URL = "http://rss.laurel"; | ||
136 | }; | ||
137 | }; | ||
138 | services.nginx.virtualHosts."rss.laurel" = { | ||
139 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
140 | locations."/" = { | ||
141 | proxyPass = "http://127.0.0.1:${builtins.toString config.services.miniflux.config.PORT}"; | ||
142 | }; | ||
143 | }; | ||
144 | |||
118 | services.nginx.virtualHosts."oppi.li" = { | 145 | services.nginx.virtualHosts."oppi.li" = { |
119 | listen = [{ port = 8282; addr = "0.0.0.0"; }]; | 146 | listen = [{ port = 8282; addr = "0.0.0.0"; }]; |
120 | root = "/home/op/site/docs"; | 147 | root = "/www/site/docs"; |
121 | locations."/" = { | 148 | locations."/" = { |
122 | tryFiles = "$uri $uri/ =404"; | 149 | tryFiles = "$uri $uri/ =404"; |
123 | index = "index.html"; | 150 | index = "index.html"; |
124 | }; | 151 | }; |
125 | }; | 152 | }; |
126 | 153 | ||
154 | services.matrix-conduit = { | ||
155 | enable = true; | ||
156 | settings = { | ||
157 | global = { | ||
158 | allow_encryption = true; | ||
159 | allow_federation = true; | ||
160 | allow_registration = false; | ||
161 | database_backend = "rocksdb"; | ||
162 | server_name = "oppi.li"; | ||
163 | address = "0.0.0.0"; | ||
164 | port = 6197; | ||
165 | enable_lightning_bolt = false; | ||
166 | }; | ||
167 | }; | ||
168 | }; | ||
169 | |||
170 | services.radicale = { | ||
171 | enable = true; | ||
172 | settings = { | ||
173 | server.hosts = [ "0.0.0.0:5232" ]; | ||
174 | auth = { | ||
175 | type = "htpasswd"; | ||
176 | htpasswd_filename = "/etc/radicale/users"; | ||
177 | htpasswd_encryption = "bcrypt"; | ||
178 | }; | ||
179 | }; | ||
180 | }; | ||
181 | services.nginx.virtualHosts."radicale.laurel" = { | ||
182 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
183 | locations."/" = { | ||
184 | proxyPass = "http://127.0.0.1:5232"; | ||
185 | }; | ||
186 | }; | ||
187 | |||
188 | |||
127 | nix.settings.experimental-features = [ "nix-command" "flakes" ]; | 189 | nix.settings.experimental-features = [ "nix-command" "flakes" ]; |
128 | 190 | ||
129 | # This option defines the first version of NixOS you have installed on this particular machine, | 191 | # This option defines the first version of NixOS you have installed on this particular machine, |