My nixos configuration!
{

  description = "caedesyth system flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    nixvim.url = "github:nix-community/nixvim";
    nixvim.inputs.nixpkgs.follows = "nixpkgs";
    nixvim.inputs.home-manager.follows = "home-manager";
    stylix.url = "github:danth/stylix";
    stylix.inputs.nixpkgs.follows = "nixpkgs";
    stylix.inputs.home-manager.follows = "home-manager";
    foundryvtt.url = "github:reckenrode/nix-foundryvtt";
    foundryvtt.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs =
    {
      self,
      nixpkgs,
      home-manager,
      stylix,
      ...
    }@inputs:
    let
      inherit (self) outputs;
      system = "x86_64-linux";
      flakeroot = ./.;

      mkNixosConfiguration =
        profile:
        nixpkgs.lib.nixosSystem {
          specialArgs = {
            inherit
              inputs
              outputs
              profile
              rootPath
              ;
          };
          modules = [
            "./${profile.hostname}.nix"
            /etc/nixos/hardware-configuration.nix
          ] ++ (profile.extraPkgs ? [ ]);
        };

      mkHomeConfiguration =
        profile:
        home-manager.lib.homeManagerConfiguration {
          pkgs = nixpkgs.legacyPackages.${system};
          extraSpecialArgs = {
            inherit
              inputs
              outputs
              profile
              rootPath
              ;
          };
          modules = [
            import "./${profile.username}.nix"
            ./home
            (./hosts + "/${profile.hostname}" + /home.nix)
            stylix.homeManagerModules.stylix
            ./stylix
            ./stylix/home.nix
          ] ++ (profile.extraHomePkgs ? [ ]);

        };

      muko = mkProfile {
        hostname = "muko";
        username = "muko";
        isNixos = true;
        extraPkgs = [
          ./nix/nvidia.nix
          ./nix/plasma.nix
        ];
        extraHomePkgs = [ ];
      };

      typhon = mkProfile {
        hostname = "typhon";
        username = "typhon";
        isNixos = true;
        extraPkgs = [
          inputs.foundryvtt.nixosModules.foundryvtt
        ];
        extraHomePkgs = [ ];
      };

    in
    {
      nixosConfigurations = {
        muko = mkNixosConfiguration muko;
        typhon = mkNixosConfiguration typhon;
      };
      homeConfigurations = {
        muko = mkHomeConfiguration muko;
        typhon = mkHomeConfiguration typhon;
      };
      formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-rfc-style;
}