csci8980-s22/flake.nix

53 lines
1.7 KiB
Nix

{
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url =
"github:nixos/nixpkgs?rev=860b56be91fb874d48e23a950815969a7b832fbc";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
myPkgs = rec {
agda = pkgs.agda.withPackages (p: [ p.standard-library ]);
nvim-agda = import ./nix/nvim-agda { inherit nixpkgs system; };
neovim = pkgs.callPackage ./nix/neovim.nix { inherit nvim-agda; };
};
vscode-agda-mode = pkgs.vscode-utils.extensionFromVscodeMarketplace {
name = "agda-mode";
publisher = "banacorn";
version = "0.2.19";
sha256 = "2PFfFySOoxFEZdYb2BF6XQeYEygbTn/WJub/8IKfc1Y=";
};
combinedExtensionsDrv = pkgs.buildEnv {
name = "vscodium-extensions";
paths = [ vscode-agda-mode pkgs.vscode-extensions.vscodevim.vim ];
};
vscodium = pkgs.runCommand "vscodium-with-extensions" {
nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [ pkgs.vscodium ];
meta = pkgs.vscodium.meta;
} ''
mkdir -p $out/bin
makeWrapper "${pkgs.vscodium}/bin/codium" "$out/bin/codium" \
--add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
'';
in {
packages = flake-utils.lib.flattenTree myPkgs;
devShell = pkgs.mkShell {
buildInputs = with pkgs;
with myPkgs; [
agda
vscodium
neovim
nvim-agda
lua51Packages.luautf8
];
};
});
}