{
  description = "SaugOS - Dev-focused NixOS for older laptops";

  inputs = {
    home-manager = {
      url = "github:nix-community/home-manager/release-25.11";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
    nvf.url = "github:notashelf/nvf";
    stylix.url = "github:danth/stylix/release-25.11";
    nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";

    niri = {
      url = "github:sodiboo/niri-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    zen-browser = {
      url = "github:youwen5/zen-browser-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    {
      nixpkgs,
      home-manager,
      nix-flatpak,
      niri,
      ...
    }@inputs:
    let
      system = "x86_64-linux";
      host = "default";
      profile = "intel";
      username = "benno";

      mkNixosConfig = gpuProfile: nixpkgs.lib.nixosSystem {
        specialArgs = {
          inherit inputs username host profile;
          pkgs-unstable = import inputs.nixpkgs-unstable {
            inherit system;
            config.allowUnfree = true;
          };
        };
        modules = [
          { nixpkgs.hostPlatform = system; }
          ./profiles/${gpuProfile}
          nix-flatpak.nixosModules.nix-flatpak
          niri.nixosModules.niri
        ];
      };
    in
    {
      nixosConfigurations = {
        amd = mkNixosConfig "amd";
        intel = mkNixosConfig "intel";
        vm = mkNixosConfig "vm";
      };
    };
}