Joshua Potter 12f31a864b | ||
---|---|---|
assets | ||
config | ||
lib | ||
priv | ||
test | ||
.envrc | ||
.formatter.exs | ||
.gitignore | ||
README.md | ||
default.nix | ||
deps.nix | ||
flake.lock | ||
flake.nix | ||
mix.exs | ||
mix.lock |
README.md
Phoenix Flake Template
This is a template for constructing a environment for Elixir development
(version 1.15.7, Erlang/OTP 25) with the Phoenix
(version 1.7.10) framework. direnv can be used to launch
a dev shell upon entering this directory (refer to .envrc
). Otherwise run via:
$> nix develop
Quickstart
An empty Postgres cluster is initialized at /data
. To start the database, run
the following:
$> pg_ctl start -o --unix_socket_directories="$PWD/data"
To shut the database down, run:
$> pg_ctl stop
You can connect to this database from the project root directory by running:
$> psql -h "$PWD/data" -d postgres
Afterward, you can run the Phoenix setup commands:
$> mix ecto.setup
$> mix assets.setup
and then start the local server:
$> mix phx.server
Language Server
The elixir-ls LSP (version 0.17.10) is included in this flake.
Dependencies
This project pins Mix dependencies using mix2nix.
After updating your mix.lock
file, make sure to re-run the following:
mix2nix > deps.nix
As of now, mix2nix
cannot handle git dependencies found inside the mix.lock
file. If you have git dependencies, add them manually or use
FODs.