autoenv: init at 2024-10-16

Signed-off-by: Borja Clemente <borja.clemente@gmail.com>
This commit is contained in:
Borja Clemente 2024-10-16 16:49:09 +02:00
parent e2e4131e98
commit 20cf89b1df
No known key found for this signature in database
GPG key ID: 2539757EF64C60DD
2 changed files with 67 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{
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
'';
};
};
}

View file

@ -0,0 +1,35 @@
{
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 ];
};
})