{ description = "My NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager = { url = "github:nix-community/home-manager?ref=release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; homeage = { url = "github:jordanisaacs/homeage"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs , nixpkgs-unstable , home-manager , homeage , agenix , nur , nixos-hardware , lanzaboote , ... }: let mkNixosSystem = extraModule: nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ { nixpkgs.overlays = [ nur.overlay (final: _prev: { unstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; }; }) ]; } ./nixos agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.pim = { imports = [ ./home-manager homeage.homeManagerModules.homeage ]; }; } lanzaboote.nixosModules.lanzaboote extraModule ]; }; in { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; nixosConfigurations = { personal = mkNixosSystem ({ pkgs, lib, ... }: { imports = [ nixos-hardware.nixosModules.lenovo-thinkpad-x260 ]; config = { 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 = [ "ahci" "rtsx_pci_sdmmc" ]; }; }); sue = mkNixosSystem ({ ... }: { imports = [ nixos-hardware.nixosModules.dell-xps-13-9310 ]; config = { 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 = [ "thunderbolt" "vmd" "nvme" "usb_storage" ]; }; }); }; }; }