#!/bin/bash # variables GITHUB_REPO=alacritty/alacritty-theme VERSION=${VERSION:-trunk} # or VERSION=trunk BUILD=${BUILD:-3} TAG=gwh TMP=/tmp/$TAG CWD=$(pwd) PRGNAM=$(basename "$CWD") PKG=$TMP/pkg-$PRGNAM OUTPUT=${OUTPUT:-/tmp} ARCH=${ARCH:-$(uname -m)} REPOSITORY=${REPOSITORY:-/var/cache/SlackBuilds.gwh/$PRGNAM} PREFIX=${PREFIX:-/usr} # nettoyage préalable rm -fr "$PKG" "${TMP:?}/$PRGNAM" mkdir -p "$PKG" # mise en place cd $TMP || exit 1 [ ! -e "$REPOSITORY" ] && git clone https://github.com/${GITHUB_REPO}.git "$REPOSITORY" cd "$REPOSITORY" || exit 1 git pull --all cp -R "$REPOSITORY" $TMP/ cd "$TMP/$PRGNAM" || exit 1 [ "$VERSION" == "latest" ] && VERSION=$(git tag --sort=-version:refname | head -n1) [ "$VERSION" == "" ] && VERSION=trunk [ "$VERSION" == "trunk" ] && VERSION="git_r$(git rev-list --count HEAD)_$(git log -1 --format=%h)" || git checkout "$VERSION" mkdir -p "$PKG$PREFIX/share/" mv themes "$PKG$PREFIX/share/$PRGNAM" # move doc/ to the appropriate location mkdir -p "$PKG$PREFIX/doc/$PRGNAM" mv ./* "$PKG$PREFIX/doc/$PRGNAM/" mkdir -p "$PKG$PREFIX/bin" cat < "$PKG$PREFIX/bin/alacritty-theme-chooser.sh" #!/bin/bash ALACRITTY_CONFIG_DIR=~/.config/alacritty ALACRITTY_THEMES_DIR=$PREFIX/share/$PRGNAM if [ ! -e "\$ALACRITTY_CONFIG_DIR"/alacritty.toml ]; then echo "Alacritty config file "\$ALACRITTY_CONFIG_DIR"/alacritty.toml is missing" exit 1 fi if ! \$(grep -q "theme.toml" "\$ALACRITTY_CONFIG_DIR"/alacritty.toml); then echo "You need this line in your \$ALACRITTY_CONFIG_DIR/alacritty.toml :" echo " import = [ \"~/.config/alacritty/theme.toml\" ]" exit 1 fi apply() { THEME_NAME=\${1:-Cobalt2} [ -e "\$ALACRITTY_THEMES_DIR/\$THEME_NAME.toml" ] || exit 1 ln -sf "\$ALACRITTY_THEMES_DIR/\$THEME_NAME.toml" "\$ALACRITTY_CONFIG_DIR"/theme.toml touch "\$ALACRITTY_CONFIG_DIR"/alacritty.toml } list() { find "\$ALACRITTY_THEMES_DIR" -name \*.toml | sort | rev | cut -d/ -f1 | rev | sed 's|.toml\$||' } menu() { let i = 0 THEMES=() # define working array while read -r line; do # process file by file let i=\$i+1 THEMES+=(\$i "\$line") done < <( list ) THEME=\$(dialog --title "List file of directory /home" --menu "Chose one" 24 80 17 "\${THEMES[@]}" 3>&2 2>&1 1>&3) # show dialog and store output RESULT=\$? clear if [ \$RESULT -eq 0 ]; then # Exit with OK apply "\${THEMES[\$((THEME * 2 -1))]}" fi } case "\$1" in apply) apply "\$2" ;; list) list ;; help|h|-h|--help) echo "Usage: \$0 (menu | list | apply )" ;; *) menu ;; esac EOF chmod +x "$PKG$PREFIX/bin/alacritty-theme-chooser.sh" # correction cd "$PKG" || exit 1 chown -R root:root ./* # embaumement mkdir -p "$PKG/install" cat < "$PKG/install/slack-desc" # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| $PRGNAM: $PRGNAM (Themes for Alacritty and a helper script) $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: https://github.com/${GITHUB_REPO} EOF # empaquetage /sbin/makepkg --linkadd y --chown n --prepend "$OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz"