This commit is contained in:
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user