bash-my-aws: init at 20191231

Create bma-init

Changed files
+100
nixos
modules
pkgs
tools
admin
bash-my-aws
top-level
+1
nixos/modules/module-list.nix
···
./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
+25
nixos/modules/programs/bash-my-aws.nix
···
+
{ 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;
+
};
+
}
+72
pkgs/tools/admin/bash-my-aws/default.nix
···
+
{ 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 ];
+
};
+
}
+2
pkgs/top-level/all-packages.nix
···
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 { };