diff --git a/flake.nix b/flake.nix index 29ce285..7eb788b 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,10 @@ url = "git+https://tangled.org/tangled.org/core"; inputs.nixpkgs.follows = "nixpkgs"; }; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ {flake-parts, ...}: @@ -41,7 +45,7 @@ constants = import ./lib/constants.nix; user = constants.user; darwinHosts = ["chidi" "jason"]; - nixosHosts = ["tahani"]; + nixosHosts = ["michael" "tahani"]; overlays = import ./overlays {inherit inputs;}; in { systems = [ diff --git a/hosts/michael/default.nix b/hosts/michael/default.nix new file mode 100644 index 0000000..c102a8b --- /dev/null +++ b/hosts/michael/default.nix @@ -0,0 +1,40 @@ +{ + modulesPath, + hostname, + inputs, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + (modulesPath + "/profiles/qemu-guest.nix") + ./disk-config.nix + ./hardware-configuration.nix + ../../modules/nixos + inputs.disko.nixosModules.disko + inputs.tangled.nixosModules.knot + ]; + + services.tangled.knot = { + enable = true; + server = { + hostname = "knot.schmatzler.com"; + owner = "did:plc:yiapylv5gwzlyzesppjmukvj"; + }; + }; + + services.openssh = { + enable = true; + settings = { + PermitRootLogin = "yes"; + PasswordAuthentication = false; + }; + }; + + boot.loader.grub = { + enable = true; + efiSupport = true; + efiInstallAsRemovable = true; + }; + + networking.hostName = hostname; +} diff --git a/hosts/michael/disk-config.nix b/hosts/michael/disk-config.nix new file mode 100644 index 0000000..c851874 --- /dev/null +++ b/hosts/michael/disk-config.nix @@ -0,0 +1,37 @@ +{ + disko.devices = { + disk = { + main = { + type = "disk"; + device = "/dev/sda"; + content = { + type = "gpt"; + partitions = { + boot = { + size = "1M"; + type = "EF02"; + }; + ESP = { + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = ["umask=0077"]; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/hosts/michael/hardware-configuration.nix b/hosts/michael/hardware-configuration.nix new file mode 100644 index 0000000..e9ba45b --- /dev/null +++ b/hosts/michael/hardware-configuration.nix @@ -0,0 +1,18 @@ +{ + 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 = []; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + networking.useDHCP = lib.mkDefault true; +} diff --git a/hosts/tahani/default.nix b/hosts/tahani/default.nix index 1f1e510..ab13d26 100644 --- a/hosts/tahani/default.nix +++ b/hosts/tahani/default.nix @@ -2,12 +2,10 @@ config, hostname, user, - inputs, ... }: { imports = [ ../../modules/nixos - inputs.tangled.nixosModules.knot ]; services.adguardhome = { @@ -30,14 +28,6 @@ }; }; - services.tangled.knot = { - enable = true; - server = { - hostname = "knot.schmatzler.com"; - owner = "did:plc:yiapylv5gwzlyzesppjmukvj"; - }; - }; - virtualisation.docker = { enable = true; };