diff --git a/elixir/flake.nix b/elixir/flake.nix new file mode 100644 index 0000000..f873bff --- /dev/null +++ b/elixir/flake.nix @@ -0,0 +1,22 @@ +{ + description = "A Nix-flake-based Elixir development environment"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/release-23.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.callPackage ./shell.nix {}; + }); +} diff --git a/elixir/shell.nix b/elixir/shell.nix new file mode 100644 index 0000000..1d2f8b9 --- /dev/null +++ b/elixir/shell.nix @@ -0,0 +1,18 @@ +{pkgs,...}: +pkgs.mkShell { + buildInputs = [ + pkgs.elixir + pkgs.elixir-ls + pkgs.erlang + ]; + shellHook = '' + export MIX_HOME=$PWD/.mix + export HEX_HOME=$PWD/.hex + echo 'Elixir version:' + elixir --version + echo 'Erlang version:' + erl -version + echo 'Welcome to Elixir shell!' + echo 'Run `iex` to start the interactive shell' + ''; + } \ No newline at end of file