Files
2026-03-28 17:05:49 +03:00

78 lines
2.0 KiB
Nix
Executable File

{
description = "Aner's NIX config for his systems!";
inputs = {
self.submodules = true;
# Nixpkgs
#Temporarily
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
#Need unstable for opencode and agent-shell
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# Unused unstable
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
#Music production nix
musnix = {url = "github:musnix/musnix";};
azos-core = {
url = "./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
#TODO the devshells do not know of the new packages.
devShells = forAllSystems (system: ((import ./shells) {pkgs = nixpkgs.legacyPackages.${system};}));
};
}