bash-my-aws: init at 20191231

Create bma-init
wip/yesman
Tom Bereknyei 4 years ago committed by Tom Bereknyei
parent 5a3c1eda46
commit e5208af780
  1. 1
      nixos/modules/module-list.nix
  2. 25
      nixos/modules/programs/bash-my-aws.nix
  3. 72
      pkgs/tools/admin/bash-my-aws/default.nix
  4. 2
      pkgs/top-level/all-packages.nix

@ -96,6 +96,7 @@
./programs/atop.nix
./programs/autojump.nix
./programs/bash/bash.nix
./programs/bash-my-aws.nix
./programs/bcc.nix
./programs/browserpass.nix
./programs/captive-browser.nix

@ -0,0 +1,25 @@
{ config, pkgs, lib, ... }:
with lib;
let
prg = config.programs;
cfg = prg.bash-my-aws;
initScript = ''
eval $(${pkgs.bash-my-aws}/bin/bma-init)
'';
in
{
options = {
programs.bash-my-aws = {
enable = mkEnableOption "bash-my-aws";
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ bash-my-aws ];
programs.bash.interactiveShellInit = initScript;
};
}

@ -0,0 +1,72 @@
{ stdenv
, awscli
, jq
, fetchgit
, installShellFiles
, bashInteractive
}:
stdenv.mkDerivation rec {
pname = "bash-my-aws";
version = "20191231";
src = fetchgit {
url = "https://github.com/bash-my-aws/bash-my-aws";
rev = "ef93bd1bf8692dc2fe9f475e7c8a309eb25ef7a6";
sha256 = "c57e8327a3dfa24f0c40b8c94eab55fa232f87044e7d59f7bc4b40e5012e83ed";
};
dontConfigure = true;
dontBuild = true;
# Why does it propagate packages that are used for testing?
propagatedBuildInputs = [
awscli
jq
bashInteractive
];
nativeBuildInputs = [ installShellFiles ];
#Checks are failing due to missing TTY, which won't exist.
checkPhase = ''
pushd test
./shared-spec.sh
./stack-spec.sh
popd
'';
installPhase=''
mkdir -p $out
cp -r . $out
'';
postFixup = ''
pushd $out
# substituteInPlace scripts/build \
# --replace '~/.bash-my-aws' $out
# substituteInPlace scripts/build-completions \
# --replace "{HOME}" $out \
# --replace '~/.bash-my-aws' $out
# ./scripts/build
# ./scripts/build-completions
# substituteInPlace bash_completion.sh \
# --replace "{HOME}" $out \
# --replace .bash-my-aws ""
# substituteInPlace bin/bma \
# --replace '~/.bash-my-aws' $out
# installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
# chmod +x $out/lib/*
# patchShebangs --host $out/lib
# cat > $out/bin/bma-init <<EOF
# echo source $out/aliases
# echo source $out/bash
# EOF
# chmod +x $out/bin/bma-init
popd
'';
meta = with stdenv.lib; {
homepage = https://bash-my-aws.org;
description = "CLI commands for AWS";
license = licenses.mit;
maintainers = with maintainers; [ tomberek ];
};
}

@ -769,6 +769,8 @@ in
automirror = callPackage ../tools/misc/automirror { };
bash-my-aws = callPackage ../tools/admin/bash-my-aws { };
bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };
bitwarden = callPackage ../tools/security/bitwarden { };

Loading…
Cancel
Save