chore: update flake lock

This commit is contained in:
Alejandro Baez 2022-07-23 16:02:02 -05:00 committed by Mayel de Borniol
parent 12b926bbeb
commit c034b728e6
2 changed files with 59 additions and 27 deletions

View file

@ -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
}

View file

@ -12,10 +12,10 @@
# props to hold settings to apply on this file like name and version # props to hold settings to apply on this file like name and version
props = import ./props.nix; props = import ./props.nix;
# set elixir nix version # 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}"; erlang_nix_version = erlang_version: "erlangR${erlang_version}";
in in flake-utils.lib.eachSystem supportedSystems (system:
flake-utils.lib.eachSystem supportedSystems (system:
let let
inherit (nixpkgs.lib) optional; inherit (nixpkgs.lib) optional;
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
@ -26,14 +26,14 @@
version = props.app_version; version = props.app_version;
# use ~r/erlangR[1-9]+/ for specific erlang release 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 # all elixir and erlange packages
erlang = beamPackages.erlang; erlang = beamPackages.erlang;
# use ~r/elixir_1_[1-9]+/ major elixir version # use ~r/elixir_1_[1-9]+/ major elixir version
elixir = beamPackages.${elixir_nix_version props.elixir_release}; elixir = beamPackages.${elixir_nix_version props.elixir_release};
elixir-ls = beamPackages.elixir_ls.overrideAttrs (oldAttrs: rec { elixir-ls = beamPackages.elixir_ls.overrideAttrs
elixir = elixir; (oldAttrs: rec { elixir = elixir; });
});
hex = beamPackages.hex; hex = beamPackages.hex;
# use rebar from nix instead of fetch externally # use rebar from nix instead of fetch externally
@ -46,7 +46,6 @@
lib = pkgs.lib; lib = pkgs.lib;
mix2nix = pkgs.mix2nix; mix2nix = pkgs.mix2nix;
installHook = { release }: '' installHook = { release }: ''
export APP_VERSION="${version}" export APP_VERSION="${version}"
export APP_NAME="${pname}" export APP_NAME="${pname}"
@ -59,10 +58,7 @@
# src of the project # src of the project
src = ./.; src = ./.;
# mix2nix dependencies # mix2nix dependencies
mixNixDeps = import ./deps.nix mixNixDeps = import ./deps.nix { inherit lib beamPackages; };
{
inherit lib beamPackages;
};
# mix release definition # mix release definition
release-prod = beamPackages.mixRelease { release-prod = beamPackages.mixRelease {
@ -78,9 +74,7 @@
enableDebugInfo = true; enableDebugInfo = true;
installPhase = installHook { release = "dev"; }; installPhase = installHook { release = "dev"; };
}; };
in in rec {
rec
{
# packages to build # packages to build
packages = { packages = {
prod = release-prod; prod = release-prod;
@ -89,7 +83,8 @@
name = pname; name = pname;
tag = packages.prod.version; tag = packages.prod.version;
# required extra packages to make release work # 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"; created = "now";
config.Entrypoint = [ "${packages.prod}/bin/prod" ]; config.Entrypoint = [ "${packages.prod}/bin/prod" ];
config.Cmd = [ "version" ]; config.Cmd = [ "version" ];
@ -100,7 +95,6 @@
default = packages.prod; default = packages.prod;
}; };
# apps to run with nix run # apps to run with nix run
apps = { apps = {
prod = flake-utils.lib.mkApp { prod = flake-utils.lib.mkApp {
@ -130,16 +124,11 @@
mix local.rebar --if-missing rebar ${rebar}/bin/rebar; mix local.rebar --if-missing rebar ${rebar}/bin/rebar;
''; '';
buildInputs = [ buildInputs = [ elixir erlang mix2nix locality rebar3 rebar ]
elixir ++ optional pkgs.stdenv.isLinux
erlang pkgs.libnotify # For ExUnit Notifier on Linux.
mix2nix ++ optional pkgs.stdenv.isLinux
locality pkgs.inotify-tools; # For file_system on Linux.
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.
}; };
}); });
} }