From 9a911ab42ef08957dd92cee6e8e9b8d45029c046 Mon Sep 17 00:00:00 2001 From: jsz4n Date: Tue, 7 Nov 2023 19:01:06 +0100 Subject: [PATCH] add elixir template --- elixir/flake.nix | 22 ++++++++++++++++++++++ elixir/shell.nix | 18 ++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 elixir/flake.nix create mode 100644 elixir/shell.nix 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