From 088e0e464ee8f682c7b6ee9fd1d34f498a8e273a Mon Sep 17 00:00:00 2001 From: m3tam3re Date: Tue, 17 Sep 2024 10:57:37 +0200 Subject: [PATCH] +disko --- flake.nix | 11 ++++++- hosts/m3-kratos/configuration.nix | 1 + hosts/m3-kratos/disko-config.nix | 36 ++++++++++++++++++++++ hosts/m3-kratos/hardware-configuration.nix | 30 ++++++++---------- 4 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 hosts/m3-kratos/disko-config.nix diff --git a/flake.nix b/flake.nix index ca08d39..7da18c5 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,11 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + dotfiles = { url = "git+https://code.m3tam3re.com/m3tam3re/dotfiles-flake-demo.git"; flake = false; @@ -26,6 +31,7 @@ outputs = { self, + disko, dotfiles, home-manager, nixpkgs, @@ -47,7 +53,10 @@ nixosConfigurations = { m3-kratos-vm = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; - modules = [./hosts/m3-kratos]; + modules = [ + ./hosts/m3-kratos + inputs.disko.nixosModules.disko + ]; }; }; homeConfigurations = { diff --git a/hosts/m3-kratos/configuration.nix b/hosts/m3-kratos/configuration.nix index 1ea4660..9c4d547 100644 --- a/hosts/m3-kratos/configuration.nix +++ b/hosts/m3-kratos/configuration.nix @@ -4,6 +4,7 @@ {pkgs, ...}: { imports = [ # Include the results of the hardware scan. + ./disko-config.nix ./hardware-configuration.nix ]; diff --git a/hosts/m3-kratos/disko-config.nix b/hosts/m3-kratos/disko-config.nix new file mode 100644 index 0000000..8ad8d13 --- /dev/null +++ b/hosts/m3-kratos/disko-config.nix @@ -0,0 +1,36 @@ +{ + disko.devices = { + disk = { + main = { + type = "disk"; + device = "/dev/vda"; + content = { + type = "gpt"; + partitions = { + boot = { + size = "1M"; + type = "EF02"; # for grub MBR + }; + ESP = { + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/hosts/m3-kratos/hardware-configuration.nix b/hosts/m3-kratos/hardware-configuration.nix index 4fdf053..37f6224 100644 --- a/hosts/m3-kratos/hardware-configuration.nix +++ b/hosts/m3-kratos/hardware-configuration.nix @@ -1,24 +1,21 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; - boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/b3fbba01-1206-44d9-9b15-72e6313b4f72"; - fsType = "ext4"; - }; - - swapDevices = [ ]; + boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's @@ -29,4 +26,3 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } -