summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--configuration.nix21
-rw-r--r--flake.lock27
-rw-r--r--flake.nix21
-rw-r--r--hardware-configuration.nix35
-rw-r--r--hosts/vhack.eu/configuration.nix25
-rw-r--r--hosts/vhack.eu/networking.nix (renamed from networking.nix)0
-rw-r--r--system/fileSystemLayouts.nix45
-rw-r--r--system/hardware.nix9
-rw-r--r--system/packages.nix (renamed from packages.nix)0
-rw-r--r--system/users.nix (renamed from users.nix)0
10 files changed, 127 insertions, 56 deletions
diff --git a/configuration.nix b/configuration.nix
deleted file mode 100644
index 8fc047a..0000000
--- a/configuration.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{pkgs, ...}: {
- imports = [
- ./hardware-configuration.nix
- ./packages.nix
- ./networking.nix # network configuration that just works
- ./users.nix
-
- ./services/minecraft.nix
- ./services/rust-motd.nix
- ./services/opensshd.nix
- ];
-
- boot.cleanTmpDir = true;
- zramSwap.enable = true;
- networking.hostName = "server1";
- networking.domain = "vhack.eu";
-
- system.stateVersion = "22.11";
-}
-# vim: ts=2
-
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..8af459c
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,27 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1675512093,
+ "narHash": "sha256-u1CY4feK14B57E6T+0Bhkuoj8dpBxCPrWO+SP87UVP8=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "8e8240194eda25b61449f29bb5131e02b28a5486",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-22.11-small",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..a6d95b6
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,21 @@
+# vim: ts=2
+{
+ description = "Nixos server config";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11-small";
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ ...
+ } @ attrs: {
+ nixosConfigurations."vhack.eu" = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ specialArgs = attrs;
+ modules = [./hosts/vhack.eu/configuration.nix];
+ };
+ };
+}
+
diff --git a/hardware-configuration.nix b/hardware-configuration.nix
deleted file mode 100644
index d960da6..0000000
--- a/hardware-configuration.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{modulesPath, ...}: {
- imports = [
- (modulesPath + "/profiles/qemu-guest.nix")
- (modulesPath + "/profiles/headless.nix")
- ];
- boot.loader.grub.device = "/dev/vda";
- boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
- boot.initrd.kernelModules = ["nvme" "btrfs"];
- fileSystems = {
- "/" = {
- device = "tmpfs";
- fsType = "tmpfs";
- options = ["defaults" "size=2G" "mode=755"];
- };
- "/nix" = {
- device = "/dev/vda3";
- fsType = "btrfs";
- options = ["subvol=nix" "compress-force=zstd"];
- };
- "/srv" = {
- device = "/dev/vda3";
- fsType = "btrfs";
- options = ["subvol=storage" "compress-force=zstd"];
- };
- "/boot" = {
- device = "/dev/vda3";
- options = ["subvol=boot" "compress-force=zstd"];
- };
-
- "/etc/nixos" = {
- device = "/srv/nix-config";
- options = ["bind"];
- };
- };
-}
diff --git a/hosts/vhack.eu/configuration.nix b/hosts/vhack.eu/configuration.nix
new file mode 100644
index 0000000..a58e58d
--- /dev/null
+++ b/hosts/vhack.eu/configuration.nix
@@ -0,0 +1,25 @@
+{pkgs, ...}: {
+ imports = [
+ ./networking.nix # network configuration that just works
+
+ ../../system/hardware.nix
+ ../../system/fileSystemLayouts.nix
+ ../../system/packages.nix
+ ../../system/users.nix
+
+ ../../services/minecraft.nix
+ ../../services/rust-motd.nix
+ ../../services/opensshd.nix
+ ];
+
+ boot.cleanTmpDir = true;
+ zramSwap.enable = true;
+ networking.hostName = "server1";
+ networking.domain = "vhack.eu";
+
+ system.fileSystemLayouts.mainDisk = "/dev/vda3";
+
+ system.stateVersion = "22.11";
+}
+# vim: ts=2
+
diff --git a/networking.nix b/hosts/vhack.eu/networking.nix
index 26d6719..26d6719 100644
--- a/networking.nix
+++ b/hosts/vhack.eu/networking.nix
diff --git a/system/fileSystemLayouts.nix b/system/fileSystemLayouts.nix
new file mode 100644
index 0000000..9d03a05
--- /dev/null
+++ b/system/fileSystemLayouts.nix
@@ -0,0 +1,45 @@
+{
+ modulesPath,
+ config,
+ lib,
+ ...
+}:
+with lib; let
+ cfg = config.system.fileSystemLayouts;
+in {
+ options.system.fileSystemLayouts = {
+ mainDisk = mkOption {
+ type = lib.types.path;
+ example = literalExpression "/dev/disk/by-uuid/0442cb6d-f13a-4635-b487-fa76189774c5";
+ description = lib.mdDoc "Path to the main disk";
+ };
+ };
+ config = {
+ fileSystems = {
+ "/" = {
+ device = "tmpfs";
+ fsType = "tmpfs";
+ options = ["defaults" "size=2G" "mode=755"];
+ };
+ "/nix" = {
+ device = cfg.mainDisk;
+ fsType = "btrfs";
+ options = ["subvol=nix" "compress-force=zstd"];
+ };
+ "/srv" = {
+ device = cfg.mainDisk;
+ fsType = "btrfs";
+ options = ["subvol=storage" "compress-force=zstd"];
+ };
+ "/boot" = {
+ device = cfg.mainDisk;
+ options = ["subvol=boot" "compress-force=zstd"];
+ };
+
+ "/etc/nixos" = {
+ device = "/srv/nix-config";
+ options = ["bind"];
+ };
+ };
+ };
+}
diff --git a/system/hardware.nix b/system/hardware.nix
new file mode 100644
index 0000000..c4c7dc9
--- /dev/null
+++ b/system/hardware.nix
@@ -0,0 +1,9 @@
+{modulesPath, ...}: {
+ imports = [
+ (modulesPath + "/profiles/qemu-guest.nix")
+ (modulesPath + "/profiles/headless.nix")
+ ];
+ boot.loader.grub.device = "/dev/vda";
+ boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
+ boot.initrd.kernelModules = ["nvme" "btrfs"];
+}
diff --git a/packages.nix b/system/packages.nix
index 4d33c6e..4d33c6e 100644
--- a/packages.nix
+++ b/system/packages.nix
diff --git a/users.nix b/system/users.nix
index 34e1648..34e1648 100644
--- a/users.nix
+++ b/system/users.nix