{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} ({self, ...}: { imports = []; flake = { overlays.mosh-me = final: prev: { mosh-me = final.callPackage ./nix/mosh-me.nix {}; }; overlays.avcpp = final: prev: { avcpp = final.callPackage ./nix/avcpp.nix {}; }; overlays.lib = final: prev: { lib = prev.lib.extend (_: _: import ./nix/lib.nix { inherit (final) lib; }); }; }; systems = [ "x86_64-linux" ]; perSystem = { pkgs, system, self', ... }: { _module.args.pkgs = import inputs.nixpkgs { inherit system; overlays = [ self.overlays.mosh-me self.overlays.avcpp self.overlays.lib ]; config = {}; }; packages.default = pkgs.mosh-me; packages.mosh-me = pkgs.mosh-me; packages.docker = pkgs.callPackage ./nix/docker.nix {tag = pkgs.lib.gitRevOrLastModified self;}; devShells.default = self'.devShells.mosh-me; devShells.mosh-me = pkgs.mkShell { shellHook = '' export CMAKE_EXPORT_COMPILE_COMMANDS=ON export CMAKE_BUILD_TYPE=Debug export CMAKE_GENERATOR=Ninja export BUILD_TESTING=ON ''; packages = [ pkgs.clang-tools pkgs.cmake-language-server pkgs.gdb ]; inputsFrom = [pkgs.mosh-me]; }; }; }); }