From 2aec099b31e0b85f245d5f76b9e5e2623b30df40 Mon Sep 17 00:00:00 2001 From: sid Date: Fri, 6 Mar 2026 09:15:53 +0100 Subject: [PATCH 1/2] fix create script docs --- docs/getting-started/create-nix-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/create-nix-config.md b/docs/getting-started/create-nix-config.md index 0532763..a96bd5e 100644 --- a/docs/getting-started/create-nix-config.md +++ b/docs/getting-started/create-nix-config.md @@ -20,7 +20,7 @@ Available templates are: Alternatively, use this flake's create script: ```bash -nix run "git+https://git.sid.ovh/sid/synix#create" -- -t TEMPLATE -u YOUR_USER -h YOUR_HOSTNAME +nix run "git+https://git.sid.ovh/sid/synix#create" -- -t TEMPLATE -u YOUR_USER -H YOUR_HOSTNAME ``` Check: From a5034959fdab0695b738f777cfdc86d77a1bd24f Mon Sep 17 00:00:00 2001 From: sid Date: Fri, 6 Mar 2026 09:38:12 +0100 Subject: [PATCH 2/2] templates: hetzner-amd cleanup --- .../nix-configs/hetzner-amd/pi4/.sops.yaml | 18 ---- .../nix-configs/hetzner-amd/pi4/flake.nix | 93 ------------------- .../hetzner-amd/pi4/hosts/HOSTNAME/boot.nix | 7 -- .../pi4/hosts/HOSTNAME/default.nix | 22 ----- .../hetzner-amd/pi4/hosts/HOSTNAME/disks.sh | 66 ------------- .../pi4/hosts/HOSTNAME/hardware.nix | 41 -------- .../pi4/hosts/HOSTNAME/networking.nix | 4 - .../pi4/hosts/HOSTNAME/packages.nix | 5 - .../pi4/hosts/HOSTNAME/services/default.nix | 6 -- .../pi4/hosts/HOSTNAME/services/nginx.nix | 14 --- .../pi4/hosts/HOSTNAME/services/openssh.nix | 12 --- .../hetzner-amd/pi4/hosts/HOSTNAME/users.nix | 9 -- .../pi4/modules/nixos/common/default.nix | 5 - .../pi4/modules/nixos/common/overlays.nix | 11 --- .../hetzner-amd/pi4/modules/nixos/default.nix | 3 - .../hetzner-amd/pi4/overlays/default.nix | 35 ------- .../hetzner-amd/pi4/pkgs/default.nix | 8 -- .../pi4/users/USERNAME/default.nix | 8 -- .../users/USERNAME/pubkeys/YOUR_PUBKEY.pub | 0 19 files changed, 367 deletions(-) delete mode 100644 templates/nix-configs/hetzner-amd/pi4/.sops.yaml delete mode 100644 templates/nix-configs/hetzner-amd/pi4/flake.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/boot.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/disks.sh delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/hardware.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/networking.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/packages.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/nginx.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/openssh.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/users.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/overlays.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/modules/nixos/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/overlays/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/pkgs/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/users/USERNAME/default.nix delete mode 100644 templates/nix-configs/hetzner-amd/pi4/users/USERNAME/pubkeys/YOUR_PUBKEY.pub diff --git a/templates/nix-configs/hetzner-amd/pi4/.sops.yaml b/templates/nix-configs/hetzner-amd/pi4/.sops.yaml deleted file mode 100644 index e812787..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/.sops.yaml +++ /dev/null @@ -1,18 +0,0 @@ -keys: - - &host_portuus age1lghtkhxlz2tc5j9cjm6ancvz4a0mkgevjw4e2mhfar7cr5atl50snr5rs4 - - &host_edge age194tp22lgh6uw3lcg2u0j9ylllfvs6anjk4ns7prhy8e08k20q3jq439e6c - - &user_sid age19yeqvv28fgrtk6jsh3xyaf0lch86kna6rcz4dwe962yyyyevu30sx474xy - - &user_steffen age1e8p35795htf7twrejyugpzw0qja2v33awcw76y4gp6acnxnkzq0s935t4t -creation_rules: - - path_regex: hosts/portuus/secrets/secrets.yaml$ - key_groups: - - age: - - *user_sid - - *user_steffen - - *host_portuus - - path_regex: hosts/edge/secrets/secrets.yaml$ - key_groups: - - age: - - *user_sid - - *user_steffen - - *host_edge diff --git a/templates/nix-configs/hetzner-amd/pi4/flake.nix b/templates/nix-configs/hetzner-amd/pi4/flake.nix deleted file mode 100644 index bf2f97d..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/flake.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-old-stable.url = "github:nixos/nixpkgs/nixos-25.05"; - - synix.url = "git+https://git.sid.ovh/sid/synix.git?ref=release-25.11"; - synix.imputs.nixpkgs.follows = "nixpkgs"; - - git-hooks.url = "github:cachix/git-hooks.nix"; - git-hooks.inputs.nixpkgs.follows = "nixpkgs"; - }; - - outputs = - { - self, - nixpkgs, - ... - }@inputs: - let - inherit (self) outputs; - - supportedSystems = [ - "x86_64-linux" - "aarch64-linux" - ]; - - forAllSystems = nixpkgs.lib.genAttrs supportedSystems; - - overlays = [ inputs.synix.overlays.default ]; - - mkNixosConfiguration = - system: modules: - nixpkgs.lib.nixosSystem { - inherit system modules; - specialArgs = { - inherit inputs outputs; - lib = - (import nixpkgs { - inherit system overlays; - }).lib; - }; - }; - in - { - packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); - - overlays = import ./overlays { inherit inputs; }; - - nixosModules = import ./modules/nixos; - - nixosConfigurations = { - HOSTNAME = mkNixosConfiguration "x86_64-linux" [ ./hosts/HOSTNAME ]; - }; - - formatter = forAllSystems ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - config = self.checks.${system}.pre-commit-check.config; - inherit (config) package configFile; - script = '' - ${pkgs.lib.getExe package} run --all-files --config ${configFile} - ''; - in - pkgs.writeShellScriptBin "pre-commit-run" script - ); - - checks = forAllSystems ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - flakePkgs = self.packages.${system}; - overlaidPkgs = import nixpkgs { - inherit system; - overlays = [ self.overlays.modifications ]; - }; - in - { - pre-commit-check = inputs.git-hooks.lib.${system}.run { - src = ./.; - hooks = { - nixfmt.enable = true; - }; - }; - build-packages = pkgs.linkFarm "flake-packages-${system}" flakePkgs; - build-overlays = pkgs.linkFarm "flake-overlays-${system}" { - # package = overlaidPkgs.package; - }; - } - ); - }; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/boot.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/boot.nix deleted file mode 100644 index 53a9686..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/boot.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - boot.loader.systemd-boot = { - enable = true; - configurationLimit = 10; - }; - boot.loader.efi.canTouchEfiVariables = true; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/default.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/default.nix deleted file mode 100644 index 5fbf9d6..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - inputs, - outputs, - ... -}: - -{ - imports = [ - ./boot.nix - ./hardware.nix - ./networking.nix - ./packages.nix - ./services - ./users.nix - - inputs.synix.nixosModules.common - - outputs.nixosModules.common - ]; - - system.stateVersion = "25.11"; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/disks.sh b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/disks.sh deleted file mode 100644 index 3fca099..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/disks.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash - -SSD='/dev/sda' -MNT='/mnt' -SWAP_GB=4 - -# Helper function to wait for devices -wait_for_device() { - local device=$1 - echo "Waiting for device: $device ..." - while [[ ! -e $device ]]; do - sleep 1 - done - echo "Device $device is ready." -} - -# Function to install a package if it's not already installed -install_if_missing() { - local cmd="$1" - local package="$2" - if ! command -v "$cmd" &> /dev/null; then - echo "$cmd not found, installing $package..." - nix-env -iA "nixos.$package" - fi -} - -install_if_missing "sgdisk" "gptfdisk" -install_if_missing "partprobe" "parted" - -wait_for_device $SSD - -echo "Wiping filesystem on $SSD..." -wipefs -a $SSD - -echo "Clearing partition table on $SSD..." -sgdisk --zap-all $SSD - -echo "Partitioning $SSD..." -parted -s "$SSD" \ - mklabel gpt \ - mkpart ESP fat32 1MiB 513MiB \ - set 1 esp on \ - mkpart primary linux-swap 513MiB "$((513 + SWAP_GB*1024))"MiB \ - mkpart primary ext4 "$((513 + SWAP_GB*1024))"MiB 100% -partprobe -s $SSD -udevadm settle - -wait_for_device ${SSD}-part1 -wait_for_device ${SSD}-part2 -wait_for_device ${SSD}-part3 - -echo "Formatting partitions..." -mkfs.vfat -n BOOT "${SSD}1" -mkswap -L SWAP "${SSD}2" -mkfs.ext4 -L ROOT "${SSD}3" - -echo "Mounting partitions..." -mount "${SSD}3" "$MNT" -mkdir -p "$MNT/boot" -mount "${SSD}1" "$MNT/boot" - -echo "Enabling swap..." -swapon "${SSD}2" - -echo "Partitioning and setup complete:" -lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/hardware.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/hardware.nix deleted file mode 100644 index aa13477..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/hardware.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - modulesPath, - ... -}: - -{ - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ - "ahci" - "xhci_pci" - "virtio_pci" - "virtio_scsi" - "sd_mod" - "sr_mod" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-label/ROOT"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-label/BOOT"; - fsType = "vfat"; - }; - - swapDevices = [ - { device = "/dev/disk/by-label/SWAP"; } - ]; - - networking.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/networking.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/networking.nix deleted file mode 100644 index f96e974..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/networking.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - networking.hostName = "HOSTNAME"; - networking.domain = "HOSTNAME.local"; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/packages.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/packages.nix deleted file mode 100644 index 96cc691..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/packages.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ ]; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/default.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/default.nix deleted file mode 100644 index c8695e0..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./nginx.nix - ./openssh.nix - ]; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/nginx.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/nginx.nix deleted file mode 100644 index 04a2482..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/nginx.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - inputs, - ... -}: - -{ - imports = [ inputs.synix.nixosModules.nginx ]; - - services.nginx = { - enable = true; - forceSSL = true; - openFirewall = true; - }; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/openssh.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/openssh.nix deleted file mode 100644 index b851d18..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/services/openssh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - inputs, - ... -}: - -{ - imports = [ - inputs.synix.nixosModules.openssh - ]; - - services.openssh.enable = true; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/users.nix b/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/users.nix deleted file mode 100644 index 253394d..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/hosts/HOSTNAME/users.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ inputs, ... }: - -{ - imports = [ - inputs.synix.nixosModules.normalUsers - - ../../users/USERNAME - ]; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/default.nix b/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/default.nix deleted file mode 100644 index aa96a5f..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./overlays.nix - ]; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/overlays.nix b/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/overlays.nix deleted file mode 100644 index 348ae08..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/common/overlays.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ outputs, ... }: - -{ - nixpkgs.overlays = [ - outputs.overlays.synix-packages - outputs.overlays.local-packages - outputs.overlays.modifications - outputs.overlays.old-stable-packages - outputs.overlays.unstable-packages - ]; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/default.nix b/templates/nix-configs/hetzner-amd/pi4/modules/nixos/default.nix deleted file mode 100644 index 28a636c..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/modules/nixos/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - common = import ./common; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/overlays/default.nix b/templates/nix-configs/hetzner-amd/pi4/overlays/default.nix deleted file mode 100644 index 23332b5..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/overlays/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ inputs, ... }: - -{ - # synix packages accessible through 'pkgs.synix' - synix-packages = final: prev: { synix = inputs.synix.packages."${final.system}"; }; - - # packages in `pkgs/` accessible through 'pkgs.local' - local-packages = final: prev: { local = import ../pkgs { pkgs = final; }; }; - - # https://nixos.wiki/wiki/Overlays - modifications = - final: prev: - let - files = [ - ]; - imports = builtins.map (f: import f final prev) files; - in - builtins.foldl' (a: b: a // b) { } imports // inputs.synix.overlays.modifications final prev; - - # old-stable nixpkgs accessible through 'pkgs.old-stable' - old-stable-packages = final: prev: { - old-stable = import inputs.nixpkgs-old-stable { - inherit (final) system; - inherit (prev) config; - }; - }; - - # unstable nixpkgs accessible through 'pkgs.unstable' - unstable-packages = final: prev: { - unstable = import inputs.nixpkgs-unstable { - inherit (final) system; - inherit (prev) config; - }; - }; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/pkgs/default.nix b/templates/nix-configs/hetzner-amd/pi4/pkgs/default.nix deleted file mode 100644 index 2dadf8a..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/pkgs/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - pkgs ? import , - ... -}: - -{ - # example = pkgs.callPackage ./example { }; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/users/USERNAME/default.nix b/templates/nix-configs/hetzner-amd/pi4/users/USERNAME/default.nix deleted file mode 100644 index 9885271..0000000 --- a/templates/nix-configs/hetzner-amd/pi4/users/USERNAME/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - normalUsers.USERNAME = { - extraGroups = [ - "wheel" - ]; - # sshKeyFiles = [ ./pubkeys/YOUR_PUBKEY.pub ]; # FIXME - }; -} diff --git a/templates/nix-configs/hetzner-amd/pi4/users/USERNAME/pubkeys/YOUR_PUBKEY.pub b/templates/nix-configs/hetzner-amd/pi4/users/USERNAME/pubkeys/YOUR_PUBKEY.pub deleted file mode 100644 index e69de29..0000000