{ description = "pijul, the sound distributed version control system"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; outputs = { self, nixpkgs, ... }: let # there is also nixpkgs.lib.systems.flakeExposed allSystems = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ]; withPkgs = pkgsCallback: nixpkgs.lib.genAttrs allSystems ( system: let pkgs = import nixpkgs { inherit system; overlays = [ (import ./nix/overlays/default.nix) (import ./nix/overlays/devshells.nix) ]; }; in pkgsCallback { inherit pkgs system; } ); in { overlays = { default = import ./nix/overlay.nix { }; devShells = import ./nix/devshells-overlay.nix { }; }; devShells = withPkgs ( { pkgs, ... }: { default = pkgs.pijulGitDevShell; } ); formatter = withPkgs ({ pkgs, ... }: pkgs.nixfmt-rfc-style); packages = withPkgs ( { pkgs, ... }: { inherit (pkgs) pijul pijul-git; default = self.packages.${pkgs.system}.pijul; } ); }; }