Add config for mackup

- ignore apps whose config files are in the `dotfiles` repo
  (see: https://gitlab.webartifex.biz/alexander/dotfiles)
- include various (config) files that should not be public:
  + Cisco's AnyConnect
  + history files for `bash`, `less`, `python`, `psql`, `tig`, and `zsh`
  + Nautilus' bookmarks
  + SSH config & known hosts
This commit is contained in:
Alexander Hess 2022-07-27 15:39:06 +02:00
parent c90705bc62
commit 4c6526b1cc
Signed by: alexander
GPG key ID: 344EA5AB10D868E0
9 changed files with 73 additions and 0 deletions

View file

@ -21,6 +21,7 @@ git clone --bare git@git.webartifex.biz:alexander/dotfiles.git "$HOME/.dotfiles"
# Backup old dotfiles
rm -rf "$HOME/.dotfiles.bak" >/dev/null
mkdir -p $HOME/.dotfiles.bak/.config/{bat,flameshot,git,Nextcloud,pop-system-updater,psql,pypoetry,shell} && \
mkdir -p $HOME/.dotfiles.bak/.mackup && \
mkdir -p $HOME/.dotfiles.bak/.vim/{after/ftplugin,backup,swap,undo} && \
mkdir -p $HOME/.dotfiles.bak/.ssh && \
/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \

24
.mackup.cfg Normal file
View file

@ -0,0 +1,24 @@
[storage]
engine = file_system
path = nextcloud/getraenkemarkt
directory = mackup
[applications_to_ignore]
# Do not sync configuration files that are kept in `git`
# See: https://gitlab.webartifex.biz/alexander/dotfiles
bash
bat
git
flameshot
mackup
p10k
pgsql
poetry
ssh
vim
wget
zsh
# Somehow, libreoffice cannot start with some other machine's configuration
libreoffice

7
.mackup/README.md Normal file
View file

@ -0,0 +1,7 @@
# Custom Configuration for `mackup`
This folder contains various **config** files
to include all kinds of files in the [`mackup backup`](https://github.com/lra/mackup).
Their format is described [here](https://github.com/lra/mackup/tree/master/doc#add-support-for-an-application-or-almost-any-file-or-directory).
`mackup` is used to synchronize (dot) files the general public should *not* see.

5
.mackup/anyconnect.cfg Normal file
View file

@ -0,0 +1,5 @@
[application]
name = Cisco's AnyConnect
[configuration_files]
.anyconnect

13
.mackup/histories.cfg Normal file
View file

@ -0,0 +1,13 @@
[application]
name = various history files
[configuration_files]
.bash_history
.lesshst
.python_history
.tig_history
.zsh_history
[xdg_configuration_files]
# `~/.config/psql` is set in `~/.psqlrc` for all history files
psql

5
.mackup/nautilus.cfg Normal file
View file

@ -0,0 +1,5 @@
[application]
name = GNOME Files a.k.a. Nautilus
[xdg_configuration_files]
gtk-3.0/bookmarks

View file

@ -0,0 +1,7 @@
[application]
name = non-public SSH (config) files
[configuration_files]
.ssh/config
.ssh/known_hosts
.ssh/known_hosts.old

View file

@ -20,6 +20,10 @@
-- Use the best text editor in the world
\set EDITOR vi
-- Use separate history files per database
-- and keep them in one folder for easier sync with `mackup`
\set HISTFILE ~/.config/psql/.psql_history- :DBNAME
-- Don't store the same SQL statement repeatedly
\set HISTCONTROL ignoredups

View file

@ -41,3 +41,10 @@ Additionally, two `virtualenv`s, "interactive" and "utils", are also created:
- "utils" hosts globally available utilities.
Use `pyenv local ...` to specify a particular Python binary for a project.
### Non-public Dotfiles
After setting up the Python environments (i.e., the "utils"),
running `mackup restore` symlinks further dotfiles into `~/`.
This only works for this project's maintainer.