···128128129129###### FOD {#fixed-output-derivation}
130130131131-A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir_ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir-ls/default.nix) for a usage example of FOD.
131131+A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir-ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir-ls/default.nix) for a usage example of FOD.
132132133133Practical steps
134134
···2323 sha256 = pinData.depsSha256;
2424 };
25252626- # elixir_ls is an umbrella app
2626+ # elixir-ls is an umbrella app
2727 # override configurePhase to not skip umbrella children
2828 configurePhase = ''
2929 runHook preConfigure
···3131 runHook postConfigure
3232 '';
33333434- # elixir_ls require a special step for release
3434+ # elixir-ls require a special step for release
3535 # compile and release need to be performed together because
3636 # of the no-deps-check requirement
3737 buildPhase = ''
3838 runHook preBuild
3939- mix do compile --no-deps-check, elixir_ls.release
3939+ mix do compile --no-deps-check, elixir-ls.release
4040 runHook postBuild
4141 '';
4242