{ description = "Configuration for my homes & OSs"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nixgl = { url = "github:nix-community/nixGL"; inputs.nixpkgs.follows = "nixpkgs"; }; st-flexipatch.url = "https://git.antoinevaure.fr/ant/st-flexipatch/archive/master.zip"; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.05"; }; outputs = { self, nixpkgs, ... }@inputs: let system = "x86_64-linux"; pkgs = inputs.nixpkgs.legacyPackages.${system}; pkgs-unstable = inputs.unstable.legacyPackages.${system}; nixgl = inputs.nixgl.packages.${system}; osConfig = name: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./os/${name}/configuration.nix ]; }; homeConfig = modules: inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit pkgs-unstable; inherit inputs; }; inherit modules; }; in { homeConfigurations."anvaure@Allegro23-12" = homeConfig [ { home.username = "anvaure"; } ./home/more-software.nix ./home/ui.nix ./home/syncthing.nix ./home/allegro.nix { home.packages = [ nixgl.nixGLIntel ]; } { targets.genericLinux.enable = true; } ]; homeConfigurations."anvaure@msm-lnx-ipva-01" = homeConfig [ { home.username = "anvaure"; } ./home/base.nix ]; homeConfigurations."ant@hs" = homeConfig [ { home.username = "ant"; } ./home/more-software.nix ]; homeConfigurations."ant@ks" = homeConfig [ { home.username = "ant"; } ./home/more-software.nix ]; homeConfigurations."ant@basado" = homeConfig [ { home.username = "ant"; } ./home/ui.nix ./home/more-software.nix ./home/gaming.nix ./home/syncthing.nix { services.kdeconnect.enable = true; } ./home/basado.nix ]; homeConfigurations."ant@moon" = homeConfig [ { home.username = "ant"; } ./home/more-software.nix ./home/ui.nix ./home/syncthing.nix { services.kdeconnect.enable = true; } ./home/moon.nix ]; nixosConfigurations.basado = osConfig "basado"; nixosConfigurations.moon = osConfig "moon"; nixosConfigurations.hs = osConfig "hs"; nixosConfigurations.ks = osConfig "ks"; build-all = pkgs.runCommandNoCC "build-all" { buildInputs = let osDerivation = name: self.nixosConfigurations.${name}.config.system.build.toplevel; in let homeDerivation = name: self.homeConfigurations.${name}.activationPackage; in [ (osDerivation "basado") (osDerivation "moon") (osDerivation "hs") (osDerivation "ks") (homeDerivation "anvaure@Allegro23-12") (homeDerivation "ant@hs") (homeDerivation "ant@ks") (homeDerivation "ant@basado") (homeDerivation "ant@moon") ]; } '' echo Build all derivations mkdir -p $out ''; }; }