diff --git a/flake.lock b/flake.lock index e69de29bb2..d150b06228 100644 --- a/flake.lock +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1658549974, + "narHash": "sha256-+D1gH6ecI14xDuObG07cd9XXhLDdLMRwOBDQmJcVluc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "52dd719bbd13d9f0974e5c3c29c74aa249e5b091", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index da94720461..91672e5ee7 100644 --- a/flake.nix +++ b/flake.nix @@ -12,10 +12,10 @@ # props to hold settings to apply on this file like name and version props = import ./props.nix; # set elixir nix version - elixir_nix_version = elixir_version: builtins.replaceStrings [ "." ] [ "_" ] "elixir_${elixir_version}"; + elixir_nix_version = elixir_version: + builtins.replaceStrings [ "." ] [ "_" ] "elixir_${elixir_version}"; erlang_nix_version = erlang_version: "erlangR${erlang_version}"; - in - flake-utils.lib.eachSystem supportedSystems (system: + in flake-utils.lib.eachSystem supportedSystems (system: let inherit (nixpkgs.lib) optional; pkgs = import nixpkgs { inherit system; }; @@ -26,14 +26,14 @@ version = props.app_version; # use ~r/erlangR[1-9]+/ for specific erlang release version - beamPackages = pkgs.beam.packagesWith pkgs.beam.interpreters.${erlang_nix_version props.erlang_release}; + beamPackages = pkgs.beam.packagesWith + pkgs.beam.interpreters.${erlang_nix_version props.erlang_release}; # all elixir and erlange packages erlang = beamPackages.erlang; # use ~r/elixir_1_[1-9]+/ major elixir version elixir = beamPackages.${elixir_nix_version props.elixir_release}; - elixir-ls = beamPackages.elixir_ls.overrideAttrs (oldAttrs: rec { - elixir = elixir; - }); + elixir-ls = beamPackages.elixir_ls.overrideAttrs + (oldAttrs: rec { elixir = elixir; }); hex = beamPackages.hex; # use rebar from nix instead of fetch externally @@ -46,7 +46,6 @@ lib = pkgs.lib; mix2nix = pkgs.mix2nix; - installHook = { release }: '' export APP_VERSION="${version}" export APP_NAME="${pname}" @@ -59,10 +58,7 @@ # src of the project src = ./.; # mix2nix dependencies - mixNixDeps = import ./deps.nix - { - inherit lib beamPackages; - }; + mixNixDeps = import ./deps.nix { inherit lib beamPackages; }; # mix release definition release-prod = beamPackages.mixRelease { @@ -78,9 +74,7 @@ enableDebugInfo = true; installPhase = installHook { release = "dev"; }; }; - in - rec - { + in rec { # packages to build packages = { prod = release-prod; @@ -89,7 +83,8 @@ name = pname; tag = packages.prod.version; # required extra packages to make release work - contents = [ packages.prod pkgs.coreutils pkgs.gnused pkgs.gnugrep ]; + contents = + [ packages.prod pkgs.coreutils pkgs.gnused pkgs.gnugrep ]; created = "now"; config.Entrypoint = [ "${packages.prod}/bin/prod" ]; config.Cmd = [ "version" ]; @@ -100,7 +95,6 @@ default = packages.prod; }; - # apps to run with nix run apps = { prod = flake-utils.lib.mkApp { @@ -130,16 +124,11 @@ mix local.rebar --if-missing rebar ${rebar}/bin/rebar; ''; - buildInputs = [ - elixir - erlang - mix2nix - locality - rebar3 - rebar - ] ++ optional pkgs.stdenv.isLinux pkgs.libnotify # For ExUnit Notifier on Linux. - ++ optional pkgs.stdenv.isLinux pkgs.inotify-tools; # For file_system on Linux. + buildInputs = [ elixir erlang mix2nix locality rebar3 rebar ] + ++ optional pkgs.stdenv.isLinux + pkgs.libnotify # For ExUnit Notifier on Linux. + ++ optional pkgs.stdenv.isLinux + pkgs.inotify-tools; # For file_system on Linux. }; }); } -