{ description = "Nixos config flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; alejandra.url = "github:kamadorueda/alejandra/3.1.0"; alejandra.inputs.nixpkgs.follows = "nixpkgs"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, ... } @ inputs: let myLib = import ./myLib/default.nix {inherit self inputs;}; in with myLib; { inherit lib; formatter = forEachSystem (pkgs: pkgs.alejandra); homeManagerModules.default = ./modules/home-manager; nixosModules.default = ./modules/nixos; nixosConfigurations = { # Main desktop for games & workstation hummingbird = mkSystem ./hosts/hummingbird; }; homeConfigurations = { "luna" = lib.homeManagerConfiguration { pkgs = pkgsFor.x86_64-linux; extraSpecialArgs = {inherit inputs outputs;}; modules = [ ./home-manager/luna/hummingbird.nix ]; }; }; }; }