Unverified Commit 23f98b65 authored by Arne Keller's avatar Arne Keller Committed by GitHub
Browse files

autoenv: init at 0-unstable-2024-10-16 (#349058)

parents b0f2335e 20cf89b1
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
{
  config,
  lib,
  pkgs,
  ...
}:

let
  cfg = config.programs.autoenv;
in
{
  options = {
    programs.autoenv = {
      enable = lib.mkEnableOption "autoenv";
      package = lib.mkPackageOption pkgs "autoenv" { };
    };
  };

  config = lib.mkIf cfg.enable {
    environment.systemPackages = [ pkgs.autoenv ];

    programs = {
      zsh.interactiveShellInit = ''
        source ${cfg.package}/share/autoenv/activate.sh
      '';

      bash.interactiveShellInit = ''
        source ${cfg.package}/share/autoenv/activate.sh
      '';
    };
  };
}
+35 −0
Original line number Diff line number Diff line
{
  stdenv,
  fetchFromGitHub,
  lib,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "autoenv";
  version = "0-unstable-2024-10-16";

  src = fetchFromGitHub {
    owner = "hyperupcall";
    repo = "autoenv";
    rev = "90241f182d6a7c96e9de8a25c1eccaf2a2d1b43a";
    hash = "sha256-vZrsMPhuu+xPVAww04nKyoOl7k0upvpIaxeMrCikDio=";
  };

  dontBuild = true;

  installPhase = ''
    runHook preInstall
    mkdir -p $out/share
    cp -R $src $out/share/autoenv
    chmod +x $out/share/autoenv
    runHook postInstall
  '';

  meta = {
    description = "Per-directory shell environments sourced from .env file";
    homepage = "https://github.com/hyperupcall/autoenv";
    license = lib.licenses.mit;
    platforms = lib.platforms.all;
    maintainers = with lib.maintainers; [ clebs ];
  };
})