summary refs log tree commit diff
path: root/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'hosts')
-rw-r--r--hosts/vm/cfg.nix6
-rw-r--r--hosts/vps/cfg.nix2
-rw-r--r--hosts/vps/git.nix40
-rw-r--r--hosts/vps/matrix.nix23
-rw-r--r--hosts/vps/website.nix14
5 files changed, 77 insertions, 8 deletions
diff --git a/hosts/vm/cfg.nix b/hosts/vm/cfg.nix
index 4af1667..f9907e4 100644
--- a/hosts/vm/cfg.nix
+++ b/hosts/vm/cfg.nix
@@ -1,4 +1,4 @@
-{config, lib, pkgs, ...}: {
+{config, lib, pkgs, modulesPath, ...}: {
   imports = [
     ../../profiles/core.nix
     ../../profiles/user.nix
@@ -9,6 +9,7 @@
     ../../mixins/greet.nix
     # ../../mixins/hyprland.nix
     ../../mixins/sway.nix
+    (modulesPath + "/profiles/qemu-guest.nix")
   ];
 
   config = {
@@ -28,6 +29,7 @@
     boot = {
       initrd = {
         supportedFilesystems = ["btrfs"];
+        availableKernelModules = [ "ata_piix" "uhci_hcd" "floppy" "sd_mod" "sr_mod" ];
       };
       kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
       kernelParams = [
@@ -72,6 +74,6 @@
       algorithm = "zstd";
     };
 
-    # greeter.initialSession = "sh -c sway";
+    greeter.initialSession = "env WLR_RENDERER=pixman sh -c ${pkgs.sway}/bin/sway";
   };
 }
\ No newline at end of file
diff --git a/hosts/vps/cfg.nix b/hosts/vps/cfg.nix
index 3e220c3..a8159ea 100644
--- a/hosts/vps/cfg.nix
+++ b/hosts/vps/cfg.nix
@@ -5,6 +5,8 @@
     ../../profiles/ssh.nix
     ../../mixins/tailscale.nix
     ../../mixins/cli.nix
+    ./website.nix
+    ./git.nix
   ];
 
   config = {
diff --git a/hosts/vps/git.nix b/hosts/vps/git.nix
new file mode 100644
index 0000000..3ad26c0
--- /dev/null
+++ b/hosts/vps/git.nix
@@ -0,0 +1,40 @@
+{ pkgs, config, ... }:
+
+{
+  config = {
+    users.users.git = {
+      isSystemUser = true;
+      description = "git";
+      home = "/home/git";
+      shell = "${pkgs.git}/bin/git-shell";
+      openssh.authorizedKeys.keys = [
+        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMDyzrs9sbstv3KFK5FV8qYlSknnEy8Cn+qch4dJLmHA"
+      ];
+    };
+    services = {
+      fcgiwrap.enable = true;
+      caddy = {
+        virtualHosts."http://localhost".extraConfig = ''
+          reverse_proxy localhost:5678 { 
+            transport fastcgi {
+              env SCRIPT_FILENAME ${pkgs.cgit}/cgit/cgit.cgi
+              env CGIT_CONFIG ${pkgs.writeText "cgitrc" (lib.generators.toKeyValue { } {
+                clone-url = (lib.concatStringsSep " " [
+                  "http://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL"
+                  "ssh://git@git.example.com:$CGIT_REPO_URL"
+                ]);
+                enable-log-filecount = 1;
+                enable-log-linecount = 1;
+                enable-git-config = 1;
+                root-title = "git.example.com";
+                root-desc = "Tzlil's Git Repositories";
+                scan-path = "/home/git";
+              })}
+            } 
+          }
+        '';
+      }
+    };
+    environment.persistence."/nix/persist".directories = [ "/home/git" ];
+  };
+}
\ No newline at end of file
diff --git a/hosts/vps/matrix.nix b/hosts/vps/matrix.nix
new file mode 100644
index 0000000..cb13326
--- /dev/null
+++ b/hosts/vps/matrix.nix
@@ -0,0 +1,23 @@
+{ pkgs, config, ... }:
+
+{
+  config = {
+    services.matrix-synapse = {
+        enable = true;
+        settings.server_name = config.networking.domain;
+        settings.listeners = [
+          { port = 8008;
+            bind_addresses = [ "::1" ];
+            type = "http";
+            tls = false;
+            x_forwarded = true;
+            resources = [ {
+              names = [ "client" "federation" ];
+              compress = true;
+            } ];
+          }
+        ];
+    };
+    networking.firewall.allowedTCPPorts = [80 443];
+  };
+}
\ No newline at end of file
diff --git a/hosts/vps/website.nix b/hosts/vps/website.nix
index 156e5da..9dc9fc7 100644
--- a/hosts/vps/website.nix
+++ b/hosts/vps/website.nix
@@ -4,12 +4,14 @@
   config = {
     services.caddy = {
       enable = true;
-      virtualHosts."https://tzlil.club".extraConfig = ''
-        try_files ${pkgs.writeText "index.html" ''
-          hello world
-        ''} /
-      '';
+      # virtualHosts = {
+      #   "http://localhost".extraConfig = ''
+      #     try_files ${pkgs.writeText "index.html" ''
+      #       hello world
+      #     ''} /
+      #   '';
+      # };
     };
-    networking.firewall.allowedTCPPorts = [443];
+    networking.firewall.allowedTCPPorts = [80 443];
   };
 }
\ No newline at end of file