Added [ap/alacritty-theme] with bespoke helper script
This commit is contained in:
parent
815347f708
commit
9323f29891
1 changed files with 140 additions and 0 deletions
140
ap/alacritty-theme/SlackBuild
Executable file
140
ap/alacritty-theme/SlackBuild
Executable file
|
@ -0,0 +1,140 @@
|
|||
#!/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:-/home/installs/SlackBuilds/_repositories/$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=-taggerdate | 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 <<EOF > "$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 <theme>)"
|
||||
;;
|
||||
|
||||
*)
|
||||
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 <<EOF > "$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"
|
Loading…
Add table
Reference in a new issue