LINUX.ORG.RU

История изменений

Исправление theNamelessOne, (текущая версия) :

Не самый минимальный вариант, но я для своих проектов использую что-то такое

flake.nix:

{
  description = "TODO";

  # В данном случае inputs можно опустить, так как они есть в registry.
  # Но оставил для наглядности.
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs";
    systems.url = "github:nix-systems/default";
  };

  outputs = { self, systems, nixpkgs }:
    let
      eachSystem = fun:
        nixpkgs.lib.genAttrs (import systems) (system:
          let
            pkgs = import nixpkgs {
              inherit system;
              config.allowUnfree = true;
            };
          in fun system pkgs);
    in {
      devShells = eachSystem (system: pkgs: {
        default = pkgs.mkShell {
          name = "myapp";

          # Зависимости сборки для shell-а
          buildInputs = with pkgs; [
            elixir
            elixir_ls
            inotify-tools
            erlang
            ngrok
            flyctl
          ];

          ERL_AFLAGS = "-kernel shell_history enabled";
          TERM = "xterm-256color";
        };
      });
    };
}

Сюда же можно напихать другие outputs типа packages, checks, etc.

Исходная версия theNamelessOne, :

Не самый минимальный вариант, но я для своих проектов использую что-то такое

flake.nix:

{
  description = "TODO";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs";
    systems.url = "github:nix-systems/default";
  };

  outputs = { self, systems, nixpkgs }:
    let
      eachSystem = fun:
        nixpkgs.lib.genAttrs (import systems) (system:
          let
            pkgs = import nixpkgs {
              inherit system;
              config.allowUnfree = true;
            };
          in fun system pkgs);
    in {
      devShells = eachSystem (system: pkgs: {
        default = pkgs.mkShell {
          name = "myapp";

          # Зависимости сборки для shell-а
          buildInputs = with pkgs; [
            elixir
            elixir_ls
            inotify-tools
            erlang
            ngrok
            flyctl
          ];

          ERL_AFLAGS = "-kernel shell_history enabled";
          TERM = "xterm-256color";
        };
      });
    };
}

Сюда же можно напихать другие outputs типа packages, checks, etc.