{ description = "Nix flake for rve"; # Flake inputs inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; # also valid: "nixpkgs"; }; # Flake outputs outputs = { self, nixpkgs }: let # Systems supported allSystems = [ "x86_64-linux" # 64-bit Intel/AMD Linux "aarch64-linux" # 64-bit ARM Linux "x86_64-darwin" # 64-bit Intel macOS "aarch64-darwin" # 64-bit ARM macOS ]; # Helper to provide system-specific attributes forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); riscv-pkgs = import nixpkgs { localSystem = "x86_64-linux"; crossSystem = { config = "riscv32-unknown-linux-gnu"; }; }; in { packages = forAllSystems( {pkgs}: { lisp = (pkgs.callPackage ./rve.nix {riscv-pkgs=riscv-pkgs;}); default = (pkgs.callPackage ./rve.nix {riscv-pkgs=riscv-pkgs;}); } ); overlays.default = final: prev: { lisp = (prev.callPackage ./rve.nix {riscv-pkgs=riscv-pkgs;}); }; }; }