{ description = "NixOS config with modules, host overrides, and Home Manager"; inputs = { nixpkgs.url = "nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-25.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-alien.url = "github:thiagokokada/nix-alien"; nix-ld.url = "github:Mic92/nix-ld"; # this line assume that you also have nixpkgs as an input nix-ld.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, nix-ld, ... }: let system = "x86_64-linux"; # or aarch64-linux pkgs = import nixpkgs { inherit system; }; in { nixosConfigurations = { dev-vm = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit home-manager; }; modules = [ ./common.nix ./hosts/dev-vm/default.nix ]; }; alex-laptop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit home-manager; }; modules = [ ./system/common.nix ./hosts/alex-laptop/default.nix ]; }; alex-desktop = nixpkgs.lib.nixosSystem { specialArgs = { inherit self system; }; modules = [ ./system/common.nix ./hosts/alex-desktop/default.nix home-manager.nixosModules.home-manager #nix-ld.nixosModules.nix-ld # The module in this repository defines a new module under (programs.nix-ld.dev) instead of (programs.nix-ld) # to not collide with the nixpkgs version. #{ programs.nix-ld.dev.enable = true; } ]; }; }; }; }