summary refs log tree commit diff
path: root/hosts/vps/default.nix
diff options
context:
space:
mode:
authortzlil <tzlils@protonmail.com>2023-07-29 20:53:14 +0300
committertzlil <tzlils@protonmail.com>2023-07-29 20:53:14 +0300
commitfeefcfc89b00d4955dbb3314c20be035f3db206f (patch)
tree5099a13763dcfd274cae83af4dbac0bf4bef6cce /hosts/vps/default.nix
parent11526bdd2bb3b4b445665aa671e4bc72021b8183 (diff)
disko for laptop, wip rewrite
Diffstat (limited to 'hosts/vps/default.nix')
-rw-r--r--hosts/vps/default.nix91
1 files changed, 91 insertions, 0 deletions
diff --git a/hosts/vps/default.nix b/hosts/vps/default.nix
new file mode 100644
index 0000000..3597c5c
--- /dev/null
+++ b/hosts/vps/default.nix
@@ -0,0 +1,91 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: {
+  imports = [
+    ../../profiles/core.nix
+    ../../profiles/user.nix
+    ../../profiles/ssh.nix
+    ../../mixins/tailscale.nix
+    ../../mixins/cli.nix
+    ./website.nix
+    ./git.nix
+    ./hydrus.nix
+    ./matrix.nix
+    ./maloja.nix
+  ];
+
+  config = {
+    _module.args.nixinate = {
+      host = "vps";
+      sshUser = "tzlil";
+      buildOn = "remote"; # valid args are "local" or "remote"
+      substituteOnTarget = true; # if buildOn is "local" then it will substitute on the target, "-s"
+      hermetic = false;
+    };
+
+    networking.hostName = "vps";
+
+    boot = {
+      kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
+      loader.grub.device = "/dev/vda";
+      initrd = {
+        availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk"];
+        kernelModules = [];
+      };
+      kernelModules = [];
+      extraModulePackages = [];
+    };
+
+    networking.interfaces.ens3.useDHCP = lib.mkDefault true;
+
+    nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+    hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+    virtualisation.hypervGuest.enable = true;
+
+    time.timeZone = lib.mkDefault "Frankfurt";
+
+    fileSystems = {
+      "/" = {
+        device = "none";
+        fsType = "tmpfs";
+        options = ["noexec" "defaults" "size=2G" "mode=755"];
+      };
+      "/nix" = {
+        device = "/dev/disk/by-uuid/e4c4735d-bfdd-477f-bc43-d07510cb6a9a";
+        fsType = "btrfs";
+      };
+      "/boot" = {
+        device = "/dev/disk/by-uuid/7ea63707-099d-4c21-90eb-a51bfa6d8ba5";
+        fsType = "ext4";
+      };
+    };
+
+    swapDevices = [{device = "/dev/disk/by-uuid/00eb2d2e-4d7c-4e95-804d-e9ecb22679d4";}];
+
+    zramSwap = {
+      enable = true;
+      algorithm = "zstd";
+    };
+
+    networking.networkmanager.enable = lib.mkForce false;
+
+    nixpkgs.config.allowUnfree = true;
+    environment.persistence."/nix/persist".directories = [
+      {
+        directory = config.services.terraria.dataDir;
+        user = "terraria";
+        group = "terraria";
+      }
+    ];
+
+    services.terraria = {
+      enable = true;
+      worldPath = "${config.services.terraria.dataDir}/14.wld";
+      password = "???";
+      openFirewall = true;
+    };
+  };
+}