{ description = "Ada development environment with Alire"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ # Ada gnat gprbuild alire # Toolchain gcc binutils # Build Tools gnumake cmake pkg-config # Debugging gdb # Utilities git which file ]; shellHook = '' export ADA_PROJECT_PATH="$PWD''${ADA_PROJECT_PATH:+:$ADA_PROJECT_PATH}" echo "Ada + Alire development shell" echo "--------------------------------" command -v alr >/dev/null && alr --version command -v gnat >/dev/null && gnat --version | head -n1 command -v gprbuild >/dev/null && gprbuild --version | head -n1 ''; }; } ); }