Point dotfiles to install to /etc/skel.
This commit is contained in:
parent
0c09336159
commit
7e1627bdaa
|
|
@ -11,7 +11,7 @@ apt-get install -y khard
|
|||
# or with:
|
||||
# 'cat template.yaml | khard new -a address_book'
|
||||
|
||||
NEOMUTTCONF=~/.config/mutt
|
||||
NEOMUTTCONF=/etc/skel/.config/mutt
|
||||
|
||||
cat >> ${NEOMUTTCONF}/muttrc <<'EOF'
|
||||
## khard integration
|
||||
|
|
@ -32,12 +32,12 @@ macro index,pager A \
|
|||
|
||||
EOF
|
||||
|
||||
mkdir -p ~/.contacts/family/
|
||||
mkdir -p ~/.contacts/friends/
|
||||
mkdir -p ~/.contacts/business/
|
||||
mkdir -p /etc/skel/.contacts/family/
|
||||
mkdir -p /etc/skel/.contacts/friends/
|
||||
mkdir -/etc/skel/.contacts/business/
|
||||
|
||||
# /usr/share/doc/khard/examples/khard/khard.conf.example
|
||||
~/.config/khard/khard.conf <<'EOF'
|
||||
/etc/skel/.config/khard/khard.conf <<'EOF'
|
||||
[addressbooks]
|
||||
[[family]]
|
||||
path = ~/.contacts/family/
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## an initial tagging script for notmuch mail
|
||||
|
||||
#FIXME: NOT TESTED YET needs notmuch-mutt installed first
|
||||
#FIXME: add afew tagging: https://readthedocs.org/projects/afew/downloads/pdf/latest/
|
||||
|
||||
apt-get install -y afew # provides /usr/bin/afew
|
||||
|
||||
|
||||
mkdir -p ~/.config/afew/
|
||||
mkdir -p /etc/skel/.config/afew/
|
||||
|
||||
# Put a list of filters into ~/.config/afew/config :
|
||||
cat > ~/.config/afew/config <<'EOF'
|
||||
cat > /etc/skel/.config/afew/config <<'EOF'
|
||||
# This is the default filter chain
|
||||
[SpamFilter]
|
||||
[KillThreadsFilter]
|
||||
|
|
@ -26,7 +30,7 @@ sed -i '/\[new\]/{n;s/.*/tags=new\;/}' .notmuch-config
|
|||
|
||||
# After running notmuch new, all new messages will be marked new. You can then do various tag post-processing by just acting on messages with that tag.
|
||||
|
||||
MAILDIR="$HOME/.local/share/mail" # set by mutt-wizard setup
|
||||
MAILDIR="/etc/skel/.local/share/mail" # set by mutt-wizard setup
|
||||
|
||||
# And create a post-new hook for notmuch.
|
||||
mkdir -p ${MAILDIR}/.notmuch/hooks
|
||||
|
|
@ -70,7 +74,7 @@ EOF
|
|||
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
cat > ~/.config/afew/afew.config-example <<'EOF'
|
||||
cat > /etc/skel/.config/afew/afew.config-example <<'EOF'
|
||||
# global configuration
|
||||
[global]
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
apt-get install -y notmuch-mutt
|
||||
|
||||
|
||||
NEOMUTTCONF="$HOME/config/mutt/"
|
||||
MAILDIR="$HOME/.local/share/mail" # set by mutt-wizard setup
|
||||
NEOMUTTCONF="/etc/skel/.config/mutt/"
|
||||
MAILDIR='/etc/skel/.local/share/mail' # set by mutt-wizard setup
|
||||
|
||||
cat >> ${NEOMUTTCONF}/muttrc <<'EOF'
|
||||
# notmuch
|
||||
|
|
|
|||
|
|
@ -1,4 +1,28 @@
|
|||
#!/usr/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
# Some useful hints
|
||||
# ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
# • The critical mutt/neomutt files are in ’~/.config/mutt/’.
|
||||
# • Put whatever global settings you want in ’muttrc’. mutt-wizard will add some
|
||||
# lines to this file, which you shouldn't remove unless you know what you’re
|
||||
# doing, but you can move them up/down over your personal config lines, if you
|
||||
# need to. If you get binding conflict errors in mutt you might need to do this.
|
||||
# • Each of the accounts that mutt-wizard generates will have custom settings set
|
||||
# in a separate file in ’accounts/’. You can edit these freely if you want to
|
||||
# tinker with settings specific to an account.
|
||||
# • In ’/usr/share/mutt-wizard’ are several global config files, including mutt-
|
||||
# wizard’s default settings. You can overwride this in your muttrc if you wish.
|
||||
# • For Gmail accounts, remember also to enable third-party ("less secure") appli-
|
||||
# cations before attempting installation.
|
||||
# • Protonmail accounts will require you to set up "Protonmail Bridge" to access
|
||||
# PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
|
||||
# • If you have a university email, or enterprise-hosted email for work, there
|
||||
# might be other hurdles or two-factor authentication you have to jump through.
|
||||
# Some, for example, will want you to create a separate IMAP password, etc.
|
||||
# • If you use an email server whose mailboxes are not in English, mutt-wizard
|
||||
# might not be able to guess which is which, so you may have to manually set
|
||||
# your Inbox, Sent, Trash, Drafts, etc. in your mutt config file. Do this after
|
||||
# running the wizard in accounts/NAME.muttrc.
|
||||
|
||||
|
||||
# isync
|
||||
|
|
@ -11,63 +35,42 @@
|
|||
# cronie (optional) – auto-sync mails - alt.: fcron
|
||||
# dunst (optional) – enable desktop notifications about new mail
|
||||
# fcron (optional) – auto-sync mails - alt.: cronie
|
||||
# imagemagick (optional) – view images inside of the neomutt TUI
|
||||
# libnotify (optional) – enable desktop notifications about new mail
|
||||
# pam-gnupg (optional) – automatically unlock gpg keys at session login
|
||||
# urlview (optional) – list URLs found in mails to open them in a browser
|
||||
# w3m (optional) – view HTML email and images inside of the neomutt TUI
|
||||
# elinks (optional) – view HTML email inside of the neomutt TUI
|
||||
# links (optional) – view HTML email inside of the neomutt TUI
|
||||
# lynx (optional) – view HTML email inside of the neomutt TUI
|
||||
# w3m (optional) – view HTML email inside of the neomutt TUI
|
||||
# w3m-img (optional) – view images inside of the neomutt TUI
|
||||
# imagemagick (optional) – view images inside of the neomutt TUI
|
||||
|
||||
|
||||
set -x
|
||||
#set -x
|
||||
apt-get install -y git neomutt urlscan w3m w3m-img ripmime isync msmtp vdirsyncer pass mailsync libnotify-bin lynx urlview
|
||||
|
||||
echo 'alias mutt="neomutt "' >> ~/.zsh_aliases.d/002_neomutt.zsh
|
||||
|
||||
BASE_USER=LukeSmithxyz
|
||||
BASE_REPO=mutt-wizard
|
||||
PROJECT=${BASE_USER}/${BASE_REPO}
|
||||
PRERELEASE=false
|
||||
# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name')
|
||||
# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-")
|
||||
VERSION=$( date +%Y-%m-%d_ )git
|
||||
|
||||
BUILD_DIR=/var/tmp/build_mutt-wizard
|
||||
mkdir -p ${BUILD_DIR}
|
||||
|
||||
# make a containing directory
|
||||
mkdir -p /var/tmp/${BASE_REPO}-"${RELEASE}"
|
||||
cd /var/tmp/${BASE_REPO}-"${RELEASE}" || exit
|
||||
|
||||
cat > ${BUILD_DIR}/description-pak << EOF
|
||||
A system for automatically configuring mutt and isync with a simple interface and safe passwords
|
||||
EOF
|
||||
|
||||
## Files and directories to be created:
|
||||
# $HOME/usr/local/share/mutt-wizard/mutt-wizard.muttrc
|
||||
# $HOME/usr/local/share/mutt-wizard/mutt-wizard-colors.muttrc
|
||||
# $HOME/.config/mutt/muttrc
|
||||
# $HOME/.config/mutt/colorschemes/colors-gruvbox-shuber-extended.muttrc
|
||||
# $HOME/.config/mutt/colorschemes/colors-gruvbox-shuber.muttrc
|
||||
# $HOME/.config/mutt/accounts/1-example_profile.muttrc
|
||||
|
||||
cat > ${BUILD_DIR}/checkinstall_it.sh << 'EOF'
|
||||
|
||||
echo "ENTERING CHECKINSTALL"
|
||||
echo 'alias mutt="neomutt "' >> $HOME/.zsh_aliases.d/002_neomutt.zsh
|
||||
|
||||
# Shared variables for the heredocs
|
||||
BASE_URL='https://api.github.com/repos'
|
||||
BASE_USER='LukeSmithxyz'
|
||||
BASE_REPO='mutt-wizard'
|
||||
LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license
|
||||
RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases
|
||||
USER='LukeSmithxyz'
|
||||
PROJECT='mutt-wizard'
|
||||
LICENSE_PAGE_URL="https://raw.githubusercontent.com/${USER}/${PROJECT}/master/LICENSE"
|
||||
#LICENSE=$(curl -s "${LICENSE_PAGE_URL}")
|
||||
LICENSE=GPL
|
||||
RELEASES_URL="${BASE_URL}/${USER}/${PROJECT}"/releases
|
||||
PRERELEASE=false
|
||||
|
||||
## No releases so no api page other than license so use git repo
|
||||
# CONTENT=$(curl -s ${RELEASES_URL}/latest)
|
||||
# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url')
|
||||
|
||||
LATEST_URL=https://github.com/${USER}/${PROJECT}
|
||||
echo "LATEST_URL: " "${LATEST_URL}"
|
||||
|
||||
#WORKDIR=$(mktemp -d -p $HOME/tmptmp -t mutt-wizard_build-XXXXXXX) || exit 1
|
||||
#trap "rm -rf '${WORKDIR}'" EXIT
|
||||
WORKDIR="/var/tmp/mutt-wizard-workdir"
|
||||
|
||||
# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name')
|
||||
|
||||
# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url')
|
||||
|
|
@ -77,55 +80,265 @@ VERSION=$( date +%Y-%m-%d_ )git
|
|||
VERSION=1.0
|
||||
RELEASE=git
|
||||
|
||||
# make a new temporary directory for this use
|
||||
BASE_TMP_DIR=~/tmptmp/checkinstall_tmp
|
||||
mkdir -p ${BASE_TMP_DIR}
|
||||
|
||||
# do your work
|
||||
checkinstall -y --fstrans \
|
||||
--pkgname=mutt-wizard \
|
||||
--pkgversion=${VERSION}\
|
||||
--pkgrelease=${RELEASE} \
|
||||
--pkgarch=amd64 \
|
||||
--pkggroup=admin \
|
||||
--pkglicense=LICENSE \
|
||||
--pkgsource=${LATEST_URL} \
|
||||
--maintainer=cyteen@ring-zero.co.uk \
|
||||
--requires=neomutt,isync,msmtp,pass \
|
||||
-D \
|
||||
bash ./install.sh
|
||||
EOF
|
||||
|
||||
cat > ./install.sh << 'FOE'
|
||||
|
||||
BASE_URL='https://api.github.com/repos'
|
||||
BASE_USER='LukeSmithxyz'
|
||||
BASE_REPO='mutt-wizard'
|
||||
# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases
|
||||
# CONTENT=$(curl -s ${RELEASES_URL}/latest)
|
||||
# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url')
|
||||
LATEST_URL=https://github.com/LukeSmithxyz/mutt-wizard
|
||||
|
||||
## Download and copy the latest version to /usr/local/bin and make executable
|
||||
git clone ${LATEST_URL} /var/tmp/mutt-wizard
|
||||
cd /var/tmp/mutt-wizard
|
||||
make install
|
||||
|
||||
## Create directories and configuration files
|
||||
# '$ mw add' and follow the prompts.
|
||||
|
||||
BUILD_DIR=/var/tmp/build_mutt-wizard
|
||||
MUTTWIZARDCONF="/usr/local/share/mutt-wizard"
|
||||
MUTTDIR="$HOME/.config/mutt"
|
||||
#MUTTDIR="$HOME/.config/mutt"
|
||||
MUTTDIR="${BUILD_DIR}/skel/.config/mutt"
|
||||
#MUTTDOCS="/usr/share/doc/mutt-wizard"
|
||||
MUTTDOCS="${BUILD_DIR}/doc-pak"
|
||||
EXAMPLES="${MUTTDOCS}/examples"
|
||||
ACCDIR="${MUTTDIR}/accounts"
|
||||
COLORSCHEMES="${MUTTDIR}/colorschemes"
|
||||
FONTS="${MUTTDIR}/fonts"
|
||||
|
||||
# email settings
|
||||
PROFILE_NAME=example_profile
|
||||
EMAIL=foobar@foo.bar
|
||||
REAL_NAME="foo bar"
|
||||
|
||||
## Checkinstall variables - see defaults in /etc/checkinstallrc
|
||||
DOC_DIR=/usr/share/doc
|
||||
|
||||
# make a new temporary directory for this use to avoid permission issues.
|
||||
BASE_TMP_DIR=~/tmptmp/checkinstall_tmp
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
wget -c -P ${MUTTDOCS} ${LICENSE_PAGE_URL}
|
||||
|
||||
mkdir -p ${BUILD_DIR}
|
||||
|
||||
# make a containing directory
|
||||
mkdir -p /var/tmp/${PROJECT}-"${RELEASE}"
|
||||
cd /var/tmp/${PROJECT}-"${RELEASE}" || exit
|
||||
|
||||
#--------------------------------------------------------------------------------------
|
||||
## Create and populate the install scripts and documentation for checkinstall
|
||||
cat > ${BUILD_DIR}/description-pak << EOF
|
||||
mutt-wizard
|
||||
|
||||
A system for automatically configuring mutt and isync with a simple interface and safe passwords
|
||||
EOF
|
||||
|
||||
# | preinstall-pak | Run BEFORE the package is INSTALLED |
|
||||
cat > ${BUILD_DIR}/preinstall-pak << EOF
|
||||
#!/usr/bin/env bash
|
||||
EOF
|
||||
|
||||
# | postinstall-pak | Run AFTER the package is INSTALLED |
|
||||
cat > ${BUILD_DIR}/postinstall-pak << EOF
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -x
|
||||
# For every user in /home/ ...
|
||||
for HOME_U in /home/*?; do
|
||||
|
||||
# Obtain the username
|
||||
USER=$( basename ${HOME_U} )
|
||||
|
||||
# In case the user is active (exists in /etc/shadow) ...
|
||||
if [ $( grep -c "${USER}:.*:.*:.*:.*:.*:::" /etc/shadow ) == 1 ] \
|
||||
&& [ $( grep -c "${USER}:.*:.*:.*:.*:.*:/bin/.*sh" /etc/passwd ) == 1 ] \
|
||||
&& [ -d ${HOME_U}/.config ] \
|
||||
&& [ -d ${HOME_U} ]; then
|
||||
|
||||
# Copies files a user has deleted that you want to put back again but does not update files that already exist.
|
||||
getent passwd |
|
||||
while IFS=: read username x uid gid gecos home shell
|
||||
do
|
||||
[[ "$username" == root || ! -d "$home" ]] && continue
|
||||
tar -cf - -C /etc/skel/.config/mutt . | sudo -Hu "$username" tar --skip-old-files -xf -
|
||||
done
|
||||
fi
|
||||
done
|
||||
EOF
|
||||
|
||||
# | preremove-pak | Run BEFORE the package is REMOVED |
|
||||
cat > ${BUILD_DIR}/preremove-pak << EOF
|
||||
#!/usr/bin/env bash
|
||||
EOF
|
||||
|
||||
# | postremove-pak | Run AFTER the package is REMOVED
|
||||
cat > ${BUILD_DIR}/postremove-pak << EOF
|
||||
#!/usr/bin/env bash
|
||||
EOF
|
||||
|
||||
## Make the doc-pak directory for README, INSTALL, COPYING, Changelog, TODO, CREDITS
|
||||
mkdir -p ${BUILD_DIR}/doc-pak
|
||||
#cp README INSTALL COPYING Changelog TODO CREDITS doc-pak
|
||||
|
||||
|
||||
cat > ${BUILD_DIR}/doc-pak/README << 'EOF'
|
||||
Some useful hints
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
• The critical mutt/neomutt files are in ’~/.config/mutt/’.
|
||||
• Put whatever global settings you want in ’muttrc’. mutt-wizard will add some
|
||||
lines to this file, which you shouldn't remove unless you know what you’re
|
||||
doing, but you can move them up/down over your personal config lines, if you
|
||||
need to. If you get binding conflict errors in mutt you might need to do this.
|
||||
• Each of the accounts that mutt-wizard generates will have custom settings set
|
||||
in a separate file in ’accounts/’. You can edit these freely if you want to
|
||||
tinker with settings specific to an account.
|
||||
• In ’/usr/share/mutt-wizard’ are several global config files, including mutt-
|
||||
wizard’s default settings. You can overwride this in your muttrc if you wish.
|
||||
• For Gmail accounts, remember also to enable third-party ("less secure") appli-
|
||||
cations before attempting installation.
|
||||
• Protonmail accounts will require you to set up "Protonmail Bridge" to access
|
||||
PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
|
||||
• If you have a university email, or enterprise-hosted email for work, there
|
||||
might be other hurdles or two-factor authentication you have to jump through.
|
||||
Some, for example, will want you to create a separate IMAP password, etc.
|
||||
• If you use an email server whose mailboxes are not in English, mutt-wizard
|
||||
might not be able to guess which is which, so you may have to manually set
|
||||
your Inbox, Sent, Trash, Drafts, etc. in your mutt config file. Do this after
|
||||
running the wizard in accounts/NAME.muttrc.
|
||||
|
||||
Help the project
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
• Try mutt-wizard out on weird machines and weird email addresses and report any
|
||||
errors.
|
||||
• Open a PR to add new server information into ’domains.csv’, so their users can
|
||||
more easily use mutt-wizard.
|
||||
• If nothing else, donate: https://paypal.me/LukeMSmith !
|
||||
|
||||
See Luke’s website: https://lukesmith.xyz/ - email him at: luke<at>lukesmith.xyz
|
||||
|
||||
--> mutt-wizard is free/libre software, licensed under the GPLv3 <--
|
||||
EOF
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------
|
||||
|
||||
## Files and directories to be created:
|
||||
# /usr/local/share/mutt-wizard/mutt-wizard.muttrc
|
||||
# /usr/local/share/mutt-wizard/mutt-wizard-colors.muttrc
|
||||
# $HOME/.config/mutt/muttrc
|
||||
# $HOME/.config/mutt/colorschemes/colors-gruvbox-shuber-extended.muttrc
|
||||
# $HOME/.config/mutt/colorschemes/colors-gruvbox-shuber.muttrc
|
||||
# $HOME/.config/mutt/accounts/1-example_profile.muttrc
|
||||
|
||||
#--------------------------------------------------------------------------------------
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
cat > ${BUILD_DIR}/checkinstall_it.sh << FOE
|
||||
set -e
|
||||
#set -x
|
||||
|
||||
echo "******************************"
|
||||
echo "ENTERING CHECKINSTALL"
|
||||
echo "******************************"
|
||||
|
||||
echo "Making MUTTDIR: ${MUTTDIR} from ${PWD}"
|
||||
|
||||
echo "Making MUTTDIR ${MUTTDIR}"
|
||||
mkdir -p ${MUTTDIR}
|
||||
|
||||
echo "Making COLORSCHEMES ${COLORSCHEMES}"
|
||||
mkdir -p ${COLORSCHEMES}
|
||||
mkdir -p ${fonts}
|
||||
mkdir -p ${ACCDIR}
|
||||
|
||||
git clone https://github.com/sheoak/neomutt-powerline-nerdfonts.git ${MUTTDIR}/powerline
|
||||
#echo "Making ACCDIR ${ACCDIR}"
|
||||
#mkdir -p ${ACCDIR}
|
||||
|
||||
echo "Making MUTTDOCS ${MUTTDOCS}"
|
||||
mkdir -p ${MUTTDOCS}
|
||||
|
||||
echo "Making FONTS ${FONTS}"
|
||||
mkdir -p ${FONTS}
|
||||
|
||||
mkdir -p ${EXAMPLES}
|
||||
mkdir -p ${EXAMPLES}/colorschemes
|
||||
mkdir -p ${EXAMPLES}/accounts
|
||||
mkdir -p ${EXAMPLES}/fonts
|
||||
|
||||
|
||||
## git clone https://github.com/sheoak/neomutt-powerline-nerdfonts.git
|
||||
|
||||
cat <<EOF | tee ${COLORSCHEMES}/gruvbox-powerline.neomuttrc >> ${EXAMPLES}/colorschemes/gruvbox-powerline.neomuttrc
|
||||
# cancel theme colors
|
||||
color index color223 color234 ~Q
|
||||
color index color223 color234 ~P
|
||||
color index color223 color234 ~T
|
||||
color index color223 color234 ~O
|
||||
color index color223 color234 ~F
|
||||
color index color223 color234 ~N
|
||||
|
||||
# add some nice custom coloring to the message list
|
||||
# thanks to new neomutt features
|
||||
# http://www.mutt.org/doc/manual/#patterns
|
||||
# https://neomutt.org/feature/index-color
|
||||
color index_subject color109 color234 "~P !~T !~D"
|
||||
color index_author color109 color234 "~P !~T !~D"
|
||||
color index_subject color243 color234 "~Q !~T !~D"
|
||||
color index_author color243 color234 "~Q !~T !~D"
|
||||
color index_subject brightcolor142 color234 "~N !~T !~D"
|
||||
color index_author brightcolor142 color234 "~N !~T !~D"
|
||||
color index_subject color142 color234 "~O !~T !~D"
|
||||
color index_author color142 color234 "~O !~T !~D"
|
||||
color index_subject color214 color234 "~F !~T !~D"
|
||||
color index_author color214 color234 "~F !~T !~D"
|
||||
color index_subject brightcolor214 color234 "~F ~N !~T !~D"
|
||||
color index_author brightcolor214 color234 "~F ~N !~T !~D"
|
||||
color index_subject color167 color234 "~= !~T !~D"
|
||||
color index_author color167 color234 "~= !~T !~D"
|
||||
color index_subject brightcolor109 color234 "~P ~N !~T !~D"
|
||||
color index_author brightcolor109 color234 "~P ~N !~T !~D"
|
||||
color index color234 color223 "~T"
|
||||
color index color229 color124 "~D"
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
cat <<EOF | tee ${FONTS}/powerline.neomuttrc >> ${EXAMPLES}/fonts/powerline.neomuttrc
|
||||
# ----------------------------------------------------------------------------
|
||||
# Powerline / nerdfont
|
||||
# This is a bit "hackish" due to neomutt limitations
|
||||
#
|
||||
# Author: Sheoak <contact [at] sheoak.fr>
|
||||
# ----------------------------------------------------------------------------
|
||||
set index_format=" %zs %zc %zt %{!%d %b} . %-28.28L %?M?(%1M)& ? %?X?&·? %s"
|
||||
set pager_format=" %n %zc %T %s%* %{!%d %b · %H:%M} %?X? %X ? %P "
|
||||
set status_format = " %f%?r? %r? %m %?n? %n ? %?d? %d ?%?t? %t ?%?F? %F? %> %?p? %p ?"
|
||||
set vfolder_format = " %N %?n?%3n& ? %8m · %f"
|
||||
set attach_format = "%u%D %T%-75.75d %?T?%& ? %5s · %m/%M"
|
||||
|
||||
# no addressed to me, to me, group, cc, sent by me, mailing list
|
||||
set to_chars=""
|
||||
# unchanged mailbox, changed, read only, attach mode
|
||||
set status_chars = " "
|
||||
ifdef crypt_chars set crypt_chars = " "
|
||||
set flag_chars = " "
|
||||
|
||||
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
|
||||
tag-transforms "replied" "↻ " \
|
||||
"encrytpted" "" \
|
||||
"signed" "" \
|
||||
"attachment" "" \
|
||||
|
||||
# The formats must start with 'G' and the entire sequence is case sensitive.
|
||||
tag-formats "replied" "GR" \
|
||||
"encrypted" "GE" \
|
||||
"signed" "GS" \
|
||||
"attachment" "GA" \
|
||||
|
||||
color status white black
|
||||
# powerline status bar hack
|
||||
color status green black ''
|
||||
color status yellow black ''
|
||||
color status red black ''
|
||||
color status brightblack blue '(.*)' 1
|
||||
color status blue black '.*()' 1
|
||||
color status black blue '\s* [0-9]+\s*'
|
||||
color status blue black '().*$' 1
|
||||
color status yellow black '()\s*\s*[0-9]+\s*' 1
|
||||
color status black yellow '\s*\s*[0-9]+\s*'
|
||||
color status blue yellow '() ([0-9]+%|all|end) \s*' 1
|
||||
color status black blue ' ([0-9]+%|all|end) \s*'
|
||||
color status yellow black '()\s*' 1
|
||||
color status default black ''
|
||||
|
||||
EOF
|
||||
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/neonwolf-256.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/zenburn.neomuttrc
|
||||
|
|
@ -135,7 +348,10 @@ wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/mas
|
|||
#wget -c -P ${COLORSCHEMES} https://git.sthu.org/?p=shutils.git;a=blob_plain;f=dotfiles/mutt/colors-gruvbox-shuber.muttrc;hb=master
|
||||
#wget -c -P ${COLORSCHEMES} https://git.sthu.org/?p=shutils.git;a=blob_plain;f=dotfiles/mutt/colors-gruvbox-shuber-extended.muttrc;hb=master
|
||||
|
||||
cat >${COLORSCHEMES}/colors-gruvbox-shuber-extended.muttrc <<EOF
|
||||
cp -a ${COLORSCHEMES} ${EXAMPLES}/colorschemes
|
||||
|
||||
#cat >${COLORSCHEMES}/colors-gruvbox-shuber-extended.muttrc <<EOF
|
||||
cat <<EOF | tee ${COLORSCHEMES}/colors-gruvbox-shuber-extended.muttrc >> ${EXAMPLES}/colorschemes/colors-gruvbox-shuber-extended.muttrc
|
||||
color compose header color223 color234
|
||||
color compose security_encrypt color175 color234
|
||||
color compose security_sign color109 color234
|
||||
|
|
@ -143,7 +359,8 @@ color compose security_both color142 color234
|
|||
color compose security_none color208 color234
|
||||
EOF
|
||||
|
||||
cat >${COLORSCHEMES}/colors-gruvbox-shuber.muttrc <<EOF
|
||||
#cat >${COLORSCHEMES}/colors-gruvbox-shuber.muttrc <<EOF
|
||||
cat <<EOF | tee ${COLORSCHEMES}/colors-gruvbox-shuber.muttrc >> ${EXAMPLES}/colorschemes/colors-gruvbox-shuber.muttrc
|
||||
# gruvbox dark (contrast dark):
|
||||
|
||||
# bg0 = 234
|
||||
|
|
@ -227,239 +444,45 @@ color body color214 color234 "^gpg: signature verification suppressed"
|
|||
color body color214 color234 "^gpg: invalid node with packet of type"
|
||||
EOF
|
||||
|
||||
# split the existing mutt-wizard.muttrc into two to separate the colours from everything else so other colourschemes can be used.
|
||||
cat > ${MUTTWIZARDCONF}/mutt-wizard.muttrc <<'EOF'
|
||||
# vim: filetype=neomuttrc
|
||||
# This file contains all of mutt-wizard's default settings.
|
||||
# mutt-wizard will have this file sourced from your muttrc.
|
||||
# In the interest of seamless updating, do not edit this file.
|
||||
# If you want to override any settings, set those in your muttrc.
|
||||
set mailcap_path = /usr/local/share/mutt-wizard/mailcap
|
||||
set date_format="%y/%m/%d %I:%M%p"
|
||||
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"
|
||||
set sort = 'reverse-date'
|
||||
set smtp_authenticators = 'gssapi:login'
|
||||
set query_command = "abook --mutt-query '%s'"
|
||||
set rfc2047_parameters = yes
|
||||
set sleep_time = 0 # Pause 0 seconds for informational messages
|
||||
set markers = no # Disables the `+` displayed at line wraps
|
||||
set mark_old = no # Unread mail stay unread until read
|
||||
set mime_forward = yes # attachments are forwarded with mail
|
||||
set wait_key = no # mutt won't ask "press key to continue"
|
||||
set fast_reply # skip to compose when replying
|
||||
set fcc_attach # save attachments with the body
|
||||
set forward_format = "Fwd: %s" # format of subject when forwarding
|
||||
set forward_quote # include message in forwards
|
||||
set reverse_name # reply as whomever it was to
|
||||
set include # include message in replies
|
||||
set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example)
|
||||
auto_view text/html # automatically show html (mailcap uses w3m)
|
||||
auto_view application/pgp-encrypted
|
||||
alternative_order text/plain text/enriched text/html
|
||||
bind index,pager i noop
|
||||
bind index,pager g noop
|
||||
bind index \Cf noop
|
||||
|
||||
# General rebindings
|
||||
bind index j next-entry
|
||||
bind index k previous-entry
|
||||
bind attach <return> view-mailcap
|
||||
bind attach l view-mailcap
|
||||
bind editor <space> noop
|
||||
bind index G last-entry
|
||||
bind index gg first-entry
|
||||
bind pager,attach h exit
|
||||
bind pager j next-line
|
||||
bind pager k previous-line
|
||||
bind pager l view-attachments
|
||||
bind index D delete-message
|
||||
bind index U undelete-message
|
||||
bind index L limit
|
||||
bind index h noop
|
||||
bind index l display-message
|
||||
bind index <space> tag-entry
|
||||
#bind browser h goto-parent
|
||||
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
|
||||
bind index,pager H view-raw-message
|
||||
bind browser l select-entry
|
||||
bind pager,browser gg top-page
|
||||
bind pager,browser G bottom-page
|
||||
bind index,pager,browser d half-down
|
||||
bind index,pager,browser u half-up
|
||||
bind index,pager S sync-mailbox
|
||||
bind index,pager R group-reply
|
||||
bind index \031 previous-undeleted # Mouse wheel
|
||||
bind index \005 next-undeleted # Mouse wheel
|
||||
bind pager \031 previous-line # Mouse wheel
|
||||
bind pager \005 next-line # Mouse wheel
|
||||
bind editor <Tab> complete-query
|
||||
|
||||
macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
|
||||
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||
macro index O "<shell-escape>mbsync -a<enter>" "run mbsync to sync all mail"
|
||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
||||
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||
|
||||
# Sidebar mappings
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 20
|
||||
set sidebar_short_path = yes
|
||||
set sidebar_next_new_wrap = yes
|
||||
set mail_check_stats
|
||||
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
||||
bind index,pager \Ck sidebar-prev
|
||||
bind index,pager \Cj sidebar-next
|
||||
bind index,pager \Co sidebar-open
|
||||
bind index,pager \Cp sidebar-prev-new
|
||||
bind index,pager \Cn sidebar-next-new
|
||||
bind index,pager B sidebar-toggle-visible
|
||||
EOF
|
||||
|
||||
cat > ${MUTTWIZARDCONF}/mutt-wizard-colors.muttrc <<'EOF'
|
||||
# Default index colors:
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# New mail is boldened:
|
||||
color index brightyellow black "~N"
|
||||
color index_author brightred black "~N"
|
||||
color index_subject brightcyan black "~N"
|
||||
|
||||
# Tagged mail is highlighted:
|
||||
color index brightyellow blue "~T"
|
||||
color index_author brightred blue "~T"
|
||||
color index_subject brightcyan blue "~T"
|
||||
|
||||
# Other colors and aesthetic settings:
|
||||
mono bold bold
|
||||
mono underline underline
|
||||
mono indicator reverse
|
||||
mono error bold
|
||||
color normal default default
|
||||
color indicator brightblack white
|
||||
color sidebar_highlight red default
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged red black
|
||||
color sidebar_new green black
|
||||
color normal brightyellow default
|
||||
color error red default
|
||||
color tilde black default
|
||||
color message cyan default
|
||||
color markers red white
|
||||
color attachment white default
|
||||
color search brightmagenta default
|
||||
color status brightyellow black
|
||||
color hdrdefault brightgreen default
|
||||
color quoted green default
|
||||
color quoted1 blue default
|
||||
color quoted2 cyan default
|
||||
color quoted3 yellow default
|
||||
color quoted4 red default
|
||||
color quoted5 brightred default
|
||||
color signature brightgreen default
|
||||
color bold black default
|
||||
color underline black default
|
||||
color normal default default
|
||||
|
||||
# Regex highlighting:
|
||||
color header blue default ".*"
|
||||
color header brightmagenta default "^(From)"
|
||||
color header brightcyan default "^(Subject)"
|
||||
color header brightwhite default "^(CC|BCC)"
|
||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||
color body brightblue default "^# \.*" # Headings as bold blue
|
||||
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||
color body brightcyan default "[;:][)(|]" # emoticons
|
||||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||
color body red default "(BAD signature)"
|
||||
color body cyan default "(Good signature)"
|
||||
color body brightblack default "^gpg: Good signature .*"
|
||||
color body brightyellow default "^gpg: "
|
||||
color body brightyellow red "^gpg: BAD signature from.*"
|
||||
mono body bold "^gpg: Good signature"
|
||||
mono body bold "^gpg: BAD signature from.*"
|
||||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
||||
EOF
|
||||
|
||||
cat >> ${MUTTDIR}/muttrc <<'EOF'
|
||||
source accounts/1-cyteen42.muttrc
|
||||
source /usr/local/share/mutt-wizard/mutt-wizard.muttrc
|
||||
#source /usr/local/share/mutt-wizard/mutt-wizard-colors.muttrc
|
||||
|
||||
set editor = nvim
|
||||
set sort = threads
|
||||
set sort_aux = reverse-last-date-received
|
||||
color progress white red
|
||||
|
||||
|
||||
#source colorschemes/neonwolf-256.neomuttrc
|
||||
#source colorschemes/zenburn.neomuttrc
|
||||
#source colorschemes/vombatidae.neomuttrc
|
||||
source colorschemes/solarized-dark-256.neomuttrc
|
||||
|
||||
# for solarized:
|
||||
# you must load solarized 16 colors theme BEFORE this
|
||||
# you terminal 16 colors must be set to solarized theme
|
||||
source powerline/powerline.neomuttrc
|
||||
#source powerline/powerline-rounded.neomuttrc
|
||||
|
||||
# for gruvbox:
|
||||
source colorschemes/colors-gruvbox-shuber.muttrc
|
||||
|
||||
# For neomutt uncomment this line:
|
||||
source colorschemes/colors-gruvbox-shuber-extended.muttrc
|
||||
|
||||
|
||||
# you must load gruvbox theme BEFORE this
|
||||
# you terminal 16 colors must be set to gruvbox theme
|
||||
#source powerline/colors/gruvbox-powerline.neomuttrc
|
||||
#source powerline/powerline.neomuttrc
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
# auto-generated with mutt-wizard: 'mw add' and follow the instructions
|
||||
# mailboxes populated from the email account imap server so for a clean
|
||||
# account just put in the standard =Inbox =Drafts =Trash =Sent =Junk
|
||||
PROFILE_NAME=example_profile
|
||||
EMAIL=foobar@foo.bar
|
||||
REAL_NAME="foo bar"
|
||||
|
||||
mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
#mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
|
||||
cat > $ACCDIR/README <<EOF
|
||||
#cat > $ACCDIR/README <<EOF
|
||||
# To add additional mail accounts for mutt you can use mutt-wizard:
|
||||
#
|
||||
# '$ mw add'
|
||||
#
|
||||
# and follow the prompts.
|
||||
EOF
|
||||
|
||||
#cat > $ACCDIR/1-${PROFILE_NAME}.muttrc <<EOF
|
||||
## vim: filetype=neomuttrc
|
||||
## muttrc file for account ${PROFILE_NAME}
|
||||
#set realname = ${REAL_NAME}
|
||||
#set from = ${FROM}
|
||||
#set sendmail = "/usr/bin/msmtp -a mutt"
|
||||
#alias me ${REAL_NAME} <${EMAIL}>
|
||||
#set folder = "/home/${USER_NAME}/.local/share/mail/mutt"
|
||||
#set header_cache = /home/${USER_NAME}/.cache/mutt-wizard/
|
||||
#set message_cachedir = /home/${USER_NAME}/.cache/mutt-wizard/
|
||||
#set mbox_type = Maildir
|
||||
#EOF
|
||||
|
||||
mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
|
||||
cat > $ACCDIR/${PROFILE_NAME}.muttrc <<EOF
|
||||
#cat >> ${MUTTDIR}/muttrc <<'EOF'
|
||||
cat <<EOF | tee ${MUTTDIR}/muttrc >> ${EXAMPLES}/muttrc
|
||||
source /usr/local/share/mutt-wizard/mutt-wizard.muttrc
|
||||
|
||||
set editor = nvim
|
||||
set sort = threads
|
||||
set sort_aux = reverse-last-date-received
|
||||
color progress white red
|
||||
|
||||
source colorschemes/solarized-dark-256.neomuttrc
|
||||
|
||||
source fonts/powerline.neomuttrc
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
#mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
|
||||
## Since this is an example not a working profile it just gets copied to the examples.
|
||||
cat > ${EXAMPLES}/accounts/1-${PROFILE_NAME}.muttrc <<EOF
|
||||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account ${PROFILE_NAME}
|
||||
set realname = ${REAL_NAME}
|
||||
|
|
@ -470,41 +493,98 @@ set folder = "$HOME/.local/share/mail/${PROFILE_NAME}"
|
|||
set header_cache = $HOME/.cache/mutt-wizard/${PROFILE_NAME}/headers
|
||||
set message_cachedir = $HOME/.cache/mutt-wizard/${PROFILE_NAME}/bodies
|
||||
set mbox_type = Maildir
|
||||
|
||||
bind index,pager gg noop
|
||||
bind index,pager g noop
|
||||
bind index,pager M noop
|
||||
bind index,pager C noop
|
||||
bind index gg first-entry
|
||||
macro index o "<shell-escape>mailsync -V ${PROFILE_NAME}<enter>" "run mbsync to sync ${PROFILE_NAME}"
|
||||
unmailboxes *
|
||||
|
||||
set spoolfile = "+Inbox"
|
||||
set record = "+Sent"
|
||||
set postponed = "+Drafts"
|
||||
set trash = "+Trash"
|
||||
mailboxes "=Inbox =Drafts =Trash =Sent =Junk"
|
||||
macro index,pager gi "<change-folder>=Inbox<enter>" "go to inbox" # mw-autogenerated
|
||||
macro index,pager Mi ";<save-message>=Inbox<enter>" "move mail to inbox" # mw-autogenerated
|
||||
macro index,pager Ci ";<copy-message>=Inbox<enter>" "copy mail to inbox" # mw-autogenerated
|
||||
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" # mw-autogenerated
|
||||
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" # mw-autogenerated
|
||||
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent" # mw-autogenerated
|
||||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" # mw-autogenerated
|
||||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" # mw-autogenerated
|
||||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts" # mw-autogenerated
|
||||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" # mw-autogenerated
|
||||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" # mw-autogenerated
|
||||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash" # mw-autogenerated
|
||||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" # mw-autogenerated
|
||||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" # mw-autogenerated
|
||||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk" # mw-autogenerated
|
||||
macro index,pager ga "<change-folder>=Archives.2013<enter>" "go to archive" # mw-autogenerated
|
||||
macro index,pager Ma ";<save-message>=Archives.2013<enter>" "move mail to archive" # mw-autogenerated
|
||||
macro index,pager Ca ";<copy-message>=Archives.2013<enter>" "copy mail to archive" # mw-autogenerated
|
||||
EOF
|
||||
|
||||
|
||||
## Checkinstall variables - see defaults in /etc/checkinstallrc
|
||||
DOC_DIR=/usr/share/doc
|
||||
|
||||
# make a new temporary directory for this use to avoid permission issues.
|
||||
BASE_TMP_DIR=~/tmptmp/checkinstall_tmp
|
||||
mkdir -p '${BASE_TMP_DIR}'
|
||||
|
||||
# do your work
|
||||
checkinstall -y --fstrans \
|
||||
--pkgname=mutt-wizard \
|
||||
--pkgversion=${VERSION}\
|
||||
--pkgrelease=${RELEASE} \
|
||||
--pkgarch=amd64 \
|
||||
--pkggroup=admin \
|
||||
--pkglicense=LICENSE \
|
||||
--pkgsource=${LATEST_URL} \
|
||||
--maintainer=cyteen@ring-zero.co.uk \
|
||||
--requires=neomutt,isync,msmtp,pass \
|
||||
--recommends=abook,nomuch,lynx,libnotify-bin,urlview \
|
||||
--suggests=mailsync \
|
||||
-D \
|
||||
bash ${BUILD_DIR}/install.sh
|
||||
FOE
|
||||
|
||||
bash ./checkinstall_it.sh
|
||||
echo "Writing install.sh to: ${BUILD_DIR}/install.sh"
|
||||
cat > ${BUILD_DIR}/install.sh << FOE
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
#set -x
|
||||
|
||||
|
||||
## Download and copy the latest version to /usr/local/bin and make executable
|
||||
echo "Creating temporary working directory ${WORKDIR}"
|
||||
mkdir -p ${WORKDIR}
|
||||
if [ -d "${WORKDIR}" ]; then
|
||||
echo "WORKDIR: ${WORKDIR} exists."
|
||||
if [ -d "${WORKDIR}"/mutt-wizard ]; then
|
||||
echo "Removing exist mutt-wizard directory"
|
||||
echo "ERROR:"
|
||||
echo "This script cannot delete this directory you will need to 'rm -rf ${WORKDIR}/mutt-wizard' from a terminal.'"
|
||||
exit 1
|
||||
#rm -rf ${WORKDIR}/mutt-wizard
|
||||
fi
|
||||
echo "Cloning new repo with:"
|
||||
echo "git clone ${LATEST_URL} ${WORKDIR}"
|
||||
#GIT_INDEX_FILE="${WORKDIR}/index" git clone ${LATEST_URL} ${WORKDIR}
|
||||
git clone ${LATEST_URL} ${WORKDIR}/mutt-wizard
|
||||
cd ${WORKDIR}/mutt-wizard
|
||||
make install
|
||||
fi
|
||||
|
||||
## split the existing mutt-wizard.muttrc into two to separate the colours from everything else so other colourschemes can be used.
|
||||
|
||||
if [ -f "${MUTTWIZARDCONF}"/mutt-wizard.muttrc ]; then
|
||||
|
||||
cd ${MUTTWIZARDCONF} && \
|
||||
csplit --suppress-matched ${MUTTWIZARDCONF}/mutt-wizard.muttrc '/^\(# Default index colors:\).*/' && \
|
||||
if [ -f ${MUTTWIZARDCONF}/xx00 ]; then
|
||||
echo "Moving csplit ${BUILD_DIR}/xx00 to ${MUTTWIZARDCONF}/mutt-wizard.muttrc"
|
||||
mv ${MUTTWIZARDCONF}/xx00 ${MUTTWIZARDCONF}/mutt-wizard.muttrc | tee ${EXAMPLES}/mutt-wizard.muttrc
|
||||
else
|
||||
echo "ERROR: split file is missing."
|
||||
fi
|
||||
if [ -f ${MUTTWIZARDCONF}/xx01 ]; then
|
||||
echo "Moving csplit ${BUILD_DIR}/xx01 to ${MUTTWIZARDCONF}/mutt-wizard-colors.muttrc"
|
||||
mv ${MUTTWIZARDCONF}/xx01 ${MUTTWIZARDCONF}/mutt-wizard-colors.muttrc | tee ${EXAMPLES}/mutt-wizard-colors.muttrc
|
||||
else
|
||||
echo "ERROR: split file is missing."
|
||||
fi
|
||||
else
|
||||
echo "${MUTTWIZARDCONF}/mutt-wizard.muttrc is missing."
|
||||
fi
|
||||
|
||||
## Copy the local contents of the skel directory to /etc/skel
|
||||
if [ -d "${BUILD_DIR}"/skel ]; then
|
||||
echo "Copying files to /etc/skel from ${BUILD_DIR}/skel"
|
||||
cp -dr ${BUILD_DIR}/skel/.config/ /etc/skel/
|
||||
else
|
||||
echo "Missing ${BUILD_DIR}/skel"
|
||||
fi
|
||||
FOE
|
||||
|
||||
bash ${BUILD_DIR}/checkinstall_it.sh
|
||||
#mbsync ${PROFILE_NAME}
|
||||
|
||||
dpkg -c /var/tmp/${PROJECT}-${RELEASE}/mutt-wizard_${VERSION}-${RELEASE}_amd64.deb
|
||||
|
||||
#lsd --tree /usr/share/doc/mutt-wizard/
|
||||
|
||||
#lsd --tree /var/tmp/build_mutt-wizard/skel/.config/mutt
|
||||
|
||||
#lsd --tree /etc/skel/.config/mutt
|
||||
|
|
|
|||
Loading…
Reference in New Issue