diff options
| author | Leonardo <noreply@leoflo.me> | 2026-03-17 10:38:53 +0100 |
|---|---|---|
| committer | Leonardo <noreply@leoflo.me> | 2026-03-17 10:41:47 +0100 |
| commit | 16143e4821cbadcf6f3076ece71940eeb85b800e (patch) | |
| tree | 55411800d0fd4f046cb710a56c4f1dfabf554cf2 | |
| parent | ba8da5ca2c32c2d1ee43f73f533b99531731be66 (diff) | |
| download | nixos-16143e4821cbadcf6f3076ece71940eeb85b800e.tar.gz nixos-16143e4821cbadcf6f3076ece71940eeb85b800e.zip | |
nixos-anywhere config
| -rw-r--r-- | flake.nix | 38 | ||||
| -rw-r--r-- | systems/nixos-anywhere/configuration.nix | 22 | ||||
| -rw-r--r-- | systems/nixos-anywhere/disk-config.nix | 57 | ||||
| -rw-r--r-- | systems/nixos-anywhere/hardware-configuration.nix | 1 |
4 files changed, 109 insertions, 9 deletions
@@ -3,20 +3,34 @@ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixos-hardware.url = "github:nixos/nixos-hardware?ref=master"; - home-manager.url = "github:nix-community/home-manager?ref=master"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { + url = "github:nix-community/home-manager?ref=master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + xfce4-hiddenapps-plugin = { + url = "git+https://codeberg.org/leoflo/xfce4-hiddenapps-plugin?ref=refs/tags/v0.0.1"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - xfce4-hiddenapps-plugin.url = "git+https://codeberg.org/leoflo/xfce4-hiddenapps-plugin?ref=refs/tags/v0.0.1"; - xfce4-hiddenapps-plugin.inputs.nixpkgs.follows = "nixpkgs"; + dbmain-nix = { + url = "git+https://codeberg.org/leoflo/dbmain-nix?ref=refs/tags/v11.0.2"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - dbmain-nix.url = "git+https://codeberg.org/leoflo/dbmain-nix?ref=refs/tags/v11.0.2"; - dbmain-nix.inputs.nixpkgs.follows = "nixpkgs"; + obdautodoctor-nix = { + url = "git+https://codeberg.org/leoflo/obdautodoctor-nix?ref=refs/tags/v5.1.8"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - obdautodoctor-nix.url = "git+https://codeberg.org/leoflo/obdautodoctor-nix?ref=refs/tags/v5.1.8"; - obdautodoctor-nix.inputs.nixpkgs.follows = "nixpkgs"; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; }; - outputs = {nixpkgs, home-manager, ...} @ inputs: + outputs = {nixpkgs, home-manager, disko, nixos-facter-modules, ...} @ inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -55,5 +69,11 @@ pkgs = pkgs; modules = [ ./homes/server ]; }; + + # NixOS anywhere + nixosConfigurations."nixos-anywhere" = nixpkgs.lib.nixosSystem { + specialArgs = { inherit system; }; + modules = [ ./systems/nixos-anywhere/configuration.nix disko.nixosModules.disko ]; + }; }; } diff --git a/systems/nixos-anywhere/configuration.nix b/systems/nixos-anywhere/configuration.nix new file mode 100644 index 0000000..46aedb8 --- /dev/null +++ b/systems/nixos-anywhere/configuration.nix @@ -0,0 +1,22 @@ +{modulesPath, pkgs, ...} @ args: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + (modulesPath + "/profiles/qemu-guest.nix") + ./disk-config.nix + ]; + + boot.loader.grub = { + efiSupport = true; + efiInstallAsRemovable = true; + }; + + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMjRcsulH/b/fVyj+YQi3YchW6wLiWvpgiM+iz4tokSD leo@hermes" + ] ++ (args.extraPublicKeys or []); + + environment.systemPackages = with pkgs; [ curl gitMinimal ]; + + system.stateVersion = "25.05"; +} diff --git a/systems/nixos-anywhere/disk-config.nix b/systems/nixos-anywhere/disk-config.nix new file mode 100644 index 0000000..fd6371c --- /dev/null +++ b/systems/nixos-anywhere/disk-config.nix @@ -0,0 +1,57 @@ +{ lib, ... }: { + disko.devices = { + disk.disk1 = { + device = lib.mkDefault "/dev/sda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF02"; + }; + + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + + root = { + name = "root"; + size = "100%"; + content = { + type = "lvm_pv"; + vg = "pool"; + }; + }; + }; + }; + }; + + lvm_vg = { + pool = { + type = "lvm_vg"; + lvs = { + root = { + size = "100%FREE"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + mountOptions = [ + "defaults" + ]; + }; + }; + }; + }; + }; + }; +} diff --git a/systems/nixos-anywhere/hardware-configuration.nix b/systems/nixos-anywhere/hardware-configuration.nix new file mode 100644 index 0000000..a40df93 --- /dev/null +++ b/systems/nixos-anywhere/hardware-configuration.nix @@ -0,0 +1 @@ +throw "Have you forgotten to run nixos-anywhere with `--generate-hardware-config nixos-generate-config ./hardware-configuration.nix`?" |
