Server NixOS configs
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: begin init

Hayden Young 31b7cdd7

+225
+77
flake.lock
··· 1 + { 2 + "nodes": { 3 + "easy-hosts": { 4 + "locked": { 5 + "lastModified": 1755470564, 6 + "narHash": "sha256-KB1ZryVDoQcbIsItOf4WtxkHhh3ppj+XwMpSnt/2QHc=", 7 + "owner": "tgirlcloud", 8 + "repo": "easy-hosts", 9 + "rev": "d0422bc7b3db26268982aa15d07e60370e76ee1d", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "tgirlcloud", 14 + "repo": "easy-hosts", 15 + "type": "github" 16 + } 17 + }, 18 + "flake-parts": { 19 + "inputs": { 20 + "nixpkgs-lib": "nixpkgs-lib" 21 + }, 22 + "locked": { 23 + "lastModified": 1775087534, 24 + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", 25 + "owner": "hercules-ci", 26 + "repo": "flake-parts", 27 + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", 28 + "type": "github" 29 + }, 30 + "original": { 31 + "owner": "hercules-ci", 32 + "repo": "flake-parts", 33 + "type": "github" 34 + } 35 + }, 36 + "nixpkgs": { 37 + "locked": { 38 + "lastModified": 1777268161, 39 + "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=", 40 + "owner": "nixos", 41 + "repo": "nixpkgs", 42 + "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76", 43 + "type": "github" 44 + }, 45 + "original": { 46 + "owner": "nixos", 47 + "ref": "nixos-unstable", 48 + "repo": "nixpkgs", 49 + "type": "github" 50 + } 51 + }, 52 + "nixpkgs-lib": { 53 + "locked": { 54 + "lastModified": 1774748309, 55 + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", 56 + "owner": "nix-community", 57 + "repo": "nixpkgs.lib", 58 + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", 59 + "type": "github" 60 + }, 61 + "original": { 62 + "owner": "nix-community", 63 + "repo": "nixpkgs.lib", 64 + "type": "github" 65 + } 66 + }, 67 + "root": { 68 + "inputs": { 69 + "easy-hosts": "easy-hosts", 70 + "flake-parts": "flake-parts", 71 + "nixpkgs": "nixpkgs" 72 + } 73 + } 74 + }, 75 + "root": "root", 76 + "version": 7 77 + }
+28
flake.nix
··· 1 + { 2 + nixConfig = { 3 + experimental-features = "nix-command flakes"; 4 + substitute = "true"; 5 + extra-substituters = [ 6 + "https://cache.nixos.org" 7 + "https://nix-community.cachix.org" 8 + ]; 9 + trusted-public-keys = [ 10 + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 11 + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" 12 + ]; 13 + cores = 0; 14 + max-jobs = 2; 15 + }; 16 + 17 + inputs.flake-parts.url = "github:hercules-ci/flake-parts"; 18 + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 19 + inputs.easy-hosts.url = "github:tgirlcloud/easy-hosts"; 20 + 21 + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { 22 + systems = ["x86_64-linux"]; 23 + imports = [ 24 + inputs.easy-hosts.flakeModule 25 + ./hosts 26 + ]; 27 + }; 28 + }
+18
hosts/default.nix
··· 1 + { inputs, ... }: 2 + { 3 + easy-hosts = { 4 + shared = { 5 + modules = []; 6 + }; 7 + }; 8 + 9 + path = ./.; 10 + 11 + hosts = { 12 + tethys = { 13 + deployable = true; 14 + tags = ["server", "hetzner"]; 15 + modules = []; 16 + }; 17 + }; 18 + }
+28
hosts/tethys/bootloader.nix
··· 1 + { pkgs, ... }: 2 + let 3 + fileSystems = { xfs = true; vfat = true; }; 4 + in 5 + { 6 + boot = { 7 + extraModulePackages = [ ]; 8 + kernelModules = []; 9 + kernelPackages = pkgs.linuxPackages_6_1; 10 + kernelParams = []; 11 + supportedFilesystems = fileSystems; 12 + 13 + initrd = { 14 + availableKernelModules = ["xhci_pci" "ahci" "nvme"]; 15 + supportedFilesystems = fileSystems; 16 + kernelModules = []; 17 + }; 18 + 19 + loader = { 20 + systemd-boot.enable = true; 21 + systemd-boot.configurationLimit = 5; 22 + efi = { 23 + canTouchEfiVariables = true; 24 + efiSysMountPoint = "/boot/efi"; 25 + }; 26 + }; 27 + }; 28 + }
+4
hosts/tethys/default.nix
··· 1 + { inputs, ... }: 2 + { 3 + imports = [./disko.nix]; 4 + }
+53
hosts/tethys/disko.nix
··· 1 + { 2 + disko.devices = { 3 + lvm_vg = { 4 + root = { 5 + type = "lvm_vg"; 6 + lvs = { 7 + root = { 8 + size = "100%"; 9 + content = { 10 + type = "filesystem"; 11 + format = "xfs"; 12 + mountpoint = "/"; 13 + mountOptions = ["defaults"]; 14 + }; 15 + }; 16 + }; 17 + }; 18 + }; 19 + 20 + disk = { 21 + main = { 22 + type = "disk"; 23 + device = "sda"; 24 + content = { 25 + type = "gpt"; 26 + partitions = { 27 + boot = { 28 + size = "1M"; 29 + type = "EF02"; # for grub MBR 30 + }; 31 + ESP = { 32 + size = "1G"; 33 + type = "EF00"; 34 + content = { 35 + type = "filesystem"; 36 + format = "vfat"; 37 + mountpoint = "/boot"; 38 + mountOptions = [ "umask=0077" ]; 39 + }; 40 + }; 41 + root = { 42 + size = "100%"; 43 + content = { 44 + type = "lvm_vg"; 45 + vg = "root"; 46 + }; 47 + }; 48 + }; 49 + }; 50 + }; 51 + }; 52 + }; 53 + }
+7
hosts/tethys/hardware.nix
··· 1 + { 2 + hardware = { 3 + enableAllFirmware = true; 4 + enableRedistributableFirmware = true; 5 + cpu.amd.updateMicrocode = true; 6 + }; 7 + }
+10
hosts/tethys/networking.nix
··· 1 + { lib, pkgs, ... }: 2 + { 3 + networking = { 4 + hostName = "tethys"; 5 + enableIPv6 = true; 6 + useDHCP = lib.mkDefault true; 7 + interfaces.enp1s0.useDHCP = lib.mkDefault true; 8 + networkmanager.enable = true; 9 + }; 10 + }