summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKleidi Bujari <mail@4kb.net>2026-07-15 18:53:00 -0700
committerKleidi Bujari <mail@4kb.net>2026-07-15 18:55:53 -0700
commite791cf43bcb5a7ec180988a9bcec982d7000af9b (patch)
tree07914fd0808bf739a2b3e6e43588073a71d2f1b8
parente0e0d833af144e3d8049585e167153107e05a46c (diff)
downloaddepot-e791cf43bcb5a7ec180988a9bcec982d7000af9b.tar.gz
depot-e791cf43bcb5a7ec180988a9bcec982d7000af9b.tar.bz2
depot-e791cf43bcb5a7ec180988a9bcec982d7000af9b.zip
-rw-r--r--machines/iridium.nix33
-rw-r--r--machines/iso.nix42
-rw-r--r--machines/radon/default.nix18
-rw-r--r--machines/t1.nix90
-rw-r--r--packages/make-zfs-image.nix2
5 files changed, 131 insertions, 54 deletions
diff --git a/machines/iridium.nix b/machines/iridium.nix
index ef3d55b..01e4b86 100644
--- a/machines/iridium.nix
+++ b/machines/iridium.nix
@@ -15,10 +15,43 @@
];
depot.net = {
+ v6Token = "::0102";
sshd.enable = true;
sshd.publish = true;
};
+ services.nginx.virtualHosts."kleidi.ca" = {
+ acmeRoot = null;
+ useACMEHost = "kleidi.ca";
+ addSSL = true;
+ root = pkgs.depot.web.site;
+ };
+
+ security.acme = {
+ acceptTerms = true;
+
+ defaults = {
+ email = "certs@4kb.net";
+ dnsProvider = "porkbun";
+ environmentFile = "/persist/porkbun";
+ group = config.services.nginx.group;
+ };
+
+ certs."kleidi.ca".extraDomainNames = [ "*.kleidi.ca" ];
+ certs."4kb.net".extraDomainNames = [ "*.4kb.net" ];
+ };
+
+ services.redlib.enable = true;
+ services.nginx.virtualHosts."redlib.4kb.net" = {
+ acmeRoot = null;
+ useACMEHost = "4kb.net";
+ forceSSL = true;
+ locations."/" = {
+ extraConfig = "proxy_http_version 1.1;";
+ proxyPass = "http://${config.services.redlib.address}:${toString config.services.redlib.port}";
+ };
+ };
+
xnet = {
disk = {
enable = true;
diff --git a/machines/iso.nix b/machines/iso.nix
index d3ca992..726f0aa 100644
--- a/machines/iso.nix
+++ b/machines/iso.nix
@@ -1,33 +1,23 @@
-{ modulesPath, pkgs, ... }: {
+{
+ modulesPath,
+ pkgs,
+ config,
+ lib,
+ flake,
+ ...
+}:
+{
imports = [
- (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix")
- (modulesPath + "/installer/cd-dvd/channel.nix")
+ # (modulesPath + "/installer/cd-dvd/iso-image.nix")
+ # (modulesPath + "/installer/cd-dvd/channel.nix")
+ (modulesPath + "/profiles/qemu-guest.nix")
+ flake.outputs.nixosModules.disk
];
nixpkgs.hostPlatform.system = "x86_64-linux";
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
+ depot.disk = {
+ enable = true;
};
- environment.systemPackages = with pkgs; [
- bash
- git
- gum
- jq
- (writeShellScriptBin "xinstall" ''
- set -euo pipefail
-
- FLAKE="github:kbujari/depot/xnet"
-
- TARGET=$(
- nix flake show "$FLAKE" --json 2>/dev/null \
- | jq -r '.["nixosConfigurations"] | keys[] | select(. != "iso")' \
- | gum choose
- )
-
- gum confirm --default=false "This will erase the selected disk, confirm:"
-
- echo selected "$FLAKE"#"$TARGET"
- '')
- ];
+ users.users.root.initialPassword = "hello";
}
diff --git a/machines/radon/default.nix b/machines/radon/default.nix
index c77db03..5e40f89 100644
--- a/machines/radon/default.nix
+++ b/machines/radon/default.nix
@@ -15,21 +15,17 @@ in
];
nixpkgs.hostPlatform.system = "x86_64-linux";
- system.stateVersion = "24.11";
networking.hostName = "radon";
users.groups.media.gid = 2000;
- boot.zfs.pools.radon.devNodes = "/dev/disk/by-id/";
- boot.zfs.extraPools = [ "radon" ];
+ # boot.zfs.pools.radon.devNodes = "/dev/disk/by-id/";
+ # boot.zfs.extraPools = [ "radon" ];
services.nfs.server.enable = true;
networking.firewall.allowedTCPPorts = [ 2049 ];
- # depot.disk = {
- # enable = true;
- # device = "/dev/nvme0n1";
- # };
+ depot.disk.enable = true;
depot.net = {
v6Token = "::cafe";
@@ -39,10 +35,10 @@ in
xnet = {
nginx.enable = true;
- disk = {
- enable = true;
- device = "/dev/nvme0n1";
- };
+ # disk = {
+ # enable = true;
+ # device = "/dev/nvme0n1";
+ # };
gitServer = {
enable = true;
gitweb.enable = true;
diff --git a/machines/t1.nix b/machines/t1.nix
index b443da5..f8da4aa 100644
--- a/machines/t1.nix
+++ b/machines/t1.nix
@@ -35,11 +35,9 @@ in
users.users.kle = kle;
- xnet = {
- disk = {
- enable = true;
- device = "/dev/nvme0n1";
- };
+ xnet.disk = {
+ enable = true;
+ device = "/dev/nvme0n1";
};
depot.net = {
@@ -48,19 +46,17 @@ in
sshd.publish = true;
};
- # depot.disk = {
- # enable = true;
- # device = "/dev/nvme0n1";
- # persistHome = true;
- # };
+ # depot.disk.enable = true;
services.avahi.enable = false;
networking.hostName = "t1";
programs = {
- steam.enable = true;
- steam.extraCompatPackages = [ pkgs.proton-ge-bin ];
+ steam = {
+ enable = true;
+ extraCompatPackages = [ pkgs.proton-ge-bin ];
+ };
};
fileSystems = {
@@ -68,24 +64,86 @@ in
device = "zroot/local/var";
fsType = "zfs";
};
+
+ "/gnu" = {
+ device = "zroot/local/gnu";
+ fsType = "zfs";
+ };
};
services = {
trezord.enable = true;
guix.enable = true;
- lact.enable = true;
+ # lact.enable = true;
+ };
+
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+
+ settings.General = {
+ Experimental = true;
+ # FastConnectable = true;
+ };
+
+ settings.Policy = {
+ AutoEnable = true;
+ };
};
- services.udev.packages = [ pkgs.ddcutil ];
- environment.shellAliases.b = "${pkgs.ddcutil}/bin/ddcutil setvcp 10";
- boot.kernelModules = [ "i2c-dev" ];
+ services.blueman.enable = true;
+ # services.udev.packages = [ pkgs.ddcutil ];
+ # environment.shellAliases.b = "${pkgs.ddcutil}/bin/ddcutil setvcp 10";
+ # boot.kernelModules = [ "i2c-dev" "ddcci-backlight" ];
+
+ # boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ];
+ # hardware.i2c.enable = true;
environment.systemPackages = with pkgs; [
+ # depot.misc.northstar-proton
ddcutil
prismlauncher
spotify
runelite
bolt-launcher
];
+
+ containers.hello = {
+ autoStart = true;
+ ephemeral = true;
+ privateUsers = "pick";
+ privateNetwork = true;
+ hostBridge = "plaza";
+ config = { ... }: {
+ services.httpd = {
+ enable = true;
+ adminAddr = "wow@wxample.org";
+ };
+
+ networking.firewall.allowedTCPPorts = [ 80 ];
+ };
+ };
+
+ systemd.network = {
+ netdevs."20-plaza".netdevConfig = {
+ Kind = "bridge";
+ Name = "plaza";
+ };
+
+ networks."30-virtuals" = {
+ matchConfig.Name = "vb-*";
+ networkConfig.Bridge = "plaza";
+ };
+
+ networks."20-plaza" = {
+ matchConfig.Name = "plaza";
+ linkConfig.RequiredForOnline = "no";
+
+ networkConfig = {
+ LinkLocalAddressing = "ipv6";
+ ConfigureWithoutCarrier = "yes";
+ };
+ };
+ };
}
diff --git a/packages/make-zfs-image.nix b/packages/make-zfs-image.nix
index 5a7500b..d900d47 100644
--- a/packages/make-zfs-image.nix
+++ b/packages/make-zfs-image.nix
@@ -13,7 +13,7 @@
memSize ? 2048,
# The size of the root partition, in MiB (1024x1024 bytes).
- rootSize ? 4096,
+ rootSize ? 8192,
# Shell code executed after the VM has finished.
postVM ? "",