{ description = "Aner's NIX config for his systems!"; inputs = { # Nixpkgs nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; #Music production nix musnix = {url = "github:musnix/musnix";}; azos-core = { url = "git+file:./azos-core"; flake = true; }; }; outputs = { self, nixpkgs, home-manager, ... } @ inputs: let inherit (self) outputs; systems = [ "aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); overlays = import ./overlays {inherit inputs;}; azos-core.nixosModules = inputs.azos-core.nixosModules.nixosModules; nixosModules = import ./modules/nixos; azos-core.homeManagerModules = inputs.azos-core.nixosModules.homeManagerModules; homeManagerModules = import ./modules/home-manager; #Systems configured nixosConfigurations = { #Lauretta - laptop lauretta = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ ./nixos/configuration.nix ]; }; #Test VM vm = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ ./nixos/configuration-vm.nix ]; }; }; #TODO this is probably unsupported shells = forAllSystems (system: ((import ./shells) {pkgs = nixpkgs.legacyPackages.${system} // outputs.packages.${system} // outputs.azos-packages.${system};})); }; }