{ description = "NaxOS: Declarative, Appliance-Like NixOS- & ZFS-Based Network Attached Storage"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, nixpkgs-unstable, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; in { # Exported NixOS Modules for NaxOS nixosModules = { naxos = import ./modules; default = self.nixosModules.naxos; }; # Standard NaxOS Appliance System Configuration nixosConfigurations = { naxos = nixpkgs.lib.nixosSystem { inherit system; modules = [ self.nixosModules.naxos ./profiles/nas-appliance.nix ./profiles/hardware-generic.nix ]; }; # Bootable Installer ISO installer-iso = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./iso/installer-iso.nix ]; }; }; # Exported Packages & ISO Image packages.${system} = { iso = self.nixosConfigurations.installer-iso.config.system.build.isoImage; default = pkgs.writeShellScriptBin "naxos-help" '' echo "NaxOS Appliance Flake" echo "To build installer ISO: nix build .#iso" echo "To test appliance configuration: nix build .#nixosConfigurations.naxos.config.system.build.toplevel" ''; }; }; }