bootstrap/specs/phoenix/template
Joshua Potter ac84906dad Prefer $PWD/data over $PGDATA.
Include additional `.gitignore` rules to phoenix spec.
2023-11-28 10:56:18 -07:00
..
.envrc Add phoenix spec. 2023-11-28 09:21:31 -07:00
README.md Prefer $PWD/data over $PGDATA. 2023-11-28 10:56:18 -07:00
default.nix Add phoenix spec. 2023-11-28 09:21:31 -07:00
deps.nix Add phoenix spec. 2023-11-28 09:21:31 -07:00
flake.lock Add phoenix spec. 2023-11-28 09:21:31 -07:00
flake.nix Add phoenix spec. 2023-11-28 09:21:31 -07:00

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.