{ description = "My NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; stylix.url = "github:danth/stylix"; home-manager = { url = "github:nix-community/home-manager?ref=release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-artwork = { type = "git"; url = "https://github.com/NixOS/nixos-artwork.git"; flake = false; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self , nixpkgs , ... }@inputs: let mkNixosSystem = extraModule: nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { inherit inputs system; flake = self; }; modules = [ ./configuration.nix extraModule ]; }; in { nixosConfigurations = { x260 = mkNixosSystem ({ pkgs, lib, ... }: { imports = [ inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260 ]; config = { pim.lanzaboote.enable = true; networking.hostName = "x260"; fprintd = { enable = true; tod = { enable = true; driver = pkgs.libfprint-2-tod1-vfs0090; }; }; swapDevices = [{ device = "/dev/disk/by-uuid/6028bf52-404d-4143-9cb0-9b06cd60a373"; }]; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "rtsx_pci_sdmmc" ]; hardware.firmware = [ pkgs.sof-firmware ]; }; }); x201 = mkNixosSystem ({ pkgs, lib, ... }: { imports = [ inputs.disko.nixosModules.disko ]; config = { networking.hostName = "x201"; boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" ]; disko.devices = { disk = { sda = { device = "/dev/sda"; type = "disk"; content = { type = "gpt"; partitions = { boot = { size = "1M"; type = "EF02"; # for grub MBR priority = 1; # Needs to be first partition }; pv_os = { size = "100%"; content = { type = "lvm_pv"; vg = "vg_os"; }; }; }; }; }; }; lvm_vg.vg_os = { type = "lvm_vg"; lvs = { swap = { size = "3GB"; content.type = "swap"; }; root = { size = "100%FREE"; content = { type = "filesystem"; format = "ext4"; mountpoint = "/"; mountOptions = [ "defaults" ]; }; }; }; }; }; }; }); sue = mkNixosSystem ({ ... }: { imports = [ inputs.nixos-hardware.nixosModules.dell-xps-13-9310 ]; config = { pim.lanzaboote.enable = true; networking.hostName = "xps-9315"; swapDevices = [{ device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b"; }]; fileSystems = { "/" = { device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a"; fsType = "ext4"; }; "/boot" = { device = "/dev/disk/by-uuid/560E-F8A2"; fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; }; boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494"; boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" ]; hardware.ipu6 = { enable = true; platform = "ipu6ep"; }; }; }); }; }; }