Could not get flakes + home manager to work in a decent way

So, I started modularizing my nix config and using vimjoyer videos + online tutorials i managed to get started with creating a basic structure from a flake that will handle both my desktop workstation and my ideapad laptop using a global config and home manager for a user.

below it’s what i did so far.


    description = "my nixos config for both my laptop and my workstation";

    inputs = {
        nixpkgs.url = "nixpkgs/nixos-24.11";
        home-manager = {
            url = "github:nix-community/home-manager/release-24.11";
            inputs.nixpkgs.follows = "nixpkgs";
        };
    };

    outputs = { self, nixpkgs, home-manager, ... }:
        let 
            lib = nixpkgs.lib; 
            system = "x86_64-linux";
            pkgs = import nixpkgs { inherit system; };
        in {

            nixosConfigurations = {

                ideapad = nixpkgs.lib.nixosSystem {
                    inherit system;
                    modules = [
                        "./ideapad/modules/global/bootloader.nix"
                    ];
                };

                workstation = nixpkgs.lib.nixosSystem {
                    inherit system; 
                    modules = [];
                };
            };

            homeConfigurations = {
                
                ideapad = home-manager.lib.homeManagerConfiguration {
                    inherit pkgs;
                    modules = [./ideapad/home.nix];
                };

                workstation = home-manager.lib.homeManagerConfiguration {
                    inherit pkgs;
                    modules = [];
                };
            };
        };
}

Problem is that when i use nix flake update and then nix flake show
i get unknown homeConfiguration and I don’t believe it is intended.
What will be the painless way to

continue modularizing my monolithic configuration.nix into modules related on topis [ as of now i just modularized specific grub options for my laptop]

decide what programs i have to install via global pkgs and what via home manager (e.g. alacritty discord nodejs)

i really can’t get how overlays and external flakes works, even with guides, can you give me a direct example of advantages and all?

thank you so much, I’m really sorry if i suounded dumb

That’s expected, currently.