{ description = "SoraFlake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; hardware.url = "github:nixos/nixos-hardware"; nur.url = "github:nix-community/nur"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; darwin = { url = "github:lnl7/nix-darwin/master"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland = { url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "nixpkgs"; }; nix-colors.url = "github:misterio77/nix-colors"; }; outputs = inputs: let gen = import ./generator.nix { inherit inputs; }; forEachSystem = inputs.nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ]; in { devShells = forEachSystem (system: let overlays = import ./pkgs/overlay.nix { inherit pkgs; }; overrides = { custom = import ./pkgs { inherit pkgs; }; }; pkgs = import inputs.nixpkgs { inherit system overlays; } // overrides; in { default = import ./shells/vevsh { inherit pkgs; }; }); nixosConfigurations = { valinor = gen.generate { type = "nixos"; system = "x86_64-linux"; host = "valinor"; }; iriy = gen.generate { type = "nixos"; system = "x86_64-linux"; host = "iriy"; }; efir = gen.generate { type = "nixos"; system = "x86_64-linux"; host = "efir"; }; avalon = gen.generate { type = "nixos"; system = "x86_64-linux"; host = "avalon"; }; }; darwinConfigurations = { asgard = gen.generate { type = "macos"; system = "x86_64-darwin"; host = "asgard"; }; }; homeConfigurations = { yomi = gen.generate { type = "home"; system = "arm-64"; host = "example"; }; example = gen.generate { type = "home"; system = "-"; # supports any host = "example"; }; }; }; # ===== Unsupported/NotImplemented ====== # menel - PI/ARM64 # ilduma - PI/ARM64 # daimoth - PI/ARM64 # gimle - .... # ===== Unused ====== # # naraka - ? # diyu - ? # tirnanog - ? # valhalla - ? # arcadia - ? # elysium - ? # empyrean - ? # duat - ? # sheol - ? # adlivun - ? # araf - ? # aman/araman - ? }