{ description = "pomp's NixOS flake"; inputs = { nixpkgs.url = "git+https://git.pompy.dev/pomp/nixpkgs"; catppuccin.url = "github:catppuccin/nix"; zen-browser = { url = "github:youwen5/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; browser-previews = { url = "github:nix-community/browser-previews"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: let nixpkgs = inputs.nixpkgs.legacyPackages."x86_64-linux".applyPatches { name = "nixpkgs-patched"; src = inputs.nixpkgs; patches = [ ./patches/fix-psycopg.patch ]; }; nixosSystem = import (nixpkgs + "/nixos/lib/eval-config.nix"); in { nixosConfigurations = { desktop = nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/desktop/configuration.nix inputs.nixvim.nixosModules.nixvim inputs.catppuccin.nixosModules.catppuccin { home-manager.users.pomp = { imports = [ inputs.catppuccin.homeModules.catppuccin ]; }; } ]; }; laptop = nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/laptop/configuration.nix inputs.nixvim.nixosModules.nixvim inputs.catppuccin.nixosModules.catppuccin { home-manager.users.pomp = { imports = [ inputs.catppuccin.homeModules.catppuccin ]; }; } ]; }; homelab2 = nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/homelab2/configuration.nix inputs.catppuccin.nixosModules.catppuccin { home-manager.users.homelab2 = { imports = [ inputs.catppuccin.homeModules.catppuccin ]; }; } ]; }; ryan = nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/homelab-ryan/configuration.nix inputs.catppuccin.nixosModules.catppuccin { home-manager.users.ryan = { imports = [ inputs.catppuccin.homeModules.catppuccin ]; }; } ]; }; }; }; }