From b3322f6a4453267c75466da808140b1f9247acce Mon Sep 17 00:00:00 2001 From: Alexander Hess Date: Tue, 9 Aug 2022 15:17:41 +0200 Subject: [PATCH] Configure mackup - ignore apps whose config files are in the dotfiles repo already (see: https://gitlab.webartifex.biz/alexander/dotfiles) - ignore ~/.password-store as it contains symlinks - sync various (config) files that are not be public: + Cisco's AnyConnect + history files for bash, less, python, psql, tig, and zsh + Gnome Nautilus' bookmarks + SSH config --- .mackup.cfg | 25 +++++++++++++++++++++++++ .mackup/README.md | 6 ++++++ .mackup/anyconnect.cfg | 5 +++++ .mackup/histories.cfg | 13 +++++++++++++ .mackup/nautilus.cfg | 5 +++++ .mackup/ssh_private.cfg | 5 +++++ .psqlrc | 4 ++++ README.md | 7 +++++++ 8 files changed, 70 insertions(+) create mode 100644 .mackup.cfg create mode 100644 .mackup/README.md create mode 100644 .mackup/anyconnect.cfg create mode 100644 .mackup/histories.cfg create mode 100644 .mackup/nautilus.cfg create mode 100644 .mackup/ssh_private.cfg diff --git a/.mackup.cfg b/.mackup.cfg new file mode 100644 index 0000000..5ef296a --- /dev/null +++ b/.mackup.cfg @@ -0,0 +1,25 @@ +[storage] +engine = file_system +path = /home/alexander/data/getraenkemarkt +directory = mackup + +[applications_to_ignore] +# Do not sync configuration files managed by +# https://gitlab.webartifex.biz/alexander/dotfiles + +bash +bat +git +flameshot +mackup +neofetch +p10k +pgsql +poetry +ssh +vim +zsh + +# Do not sync ~/.password-store as it contains symlinks +# that Nextcloud does NOT support +pass diff --git a/.mackup/README.md b/.mackup/README.md new file mode 100644 index 0000000..9dff7ee --- /dev/null +++ b/.mackup/README.md @@ -0,0 +1,6 @@ +# Configuration for `mackup` + +This folder contains various **config** files + to make [`mackup`](https://github.com/lra/mackup) + synchronize (dot) files the general public should *not* see. +Their format is described [here](https://github.com/lra/mackup/tree/master/doc#add-support-for-an-application-or-almost-any-file-or-directory). diff --git a/.mackup/anyconnect.cfg b/.mackup/anyconnect.cfg new file mode 100644 index 0000000..729f0de --- /dev/null +++ b/.mackup/anyconnect.cfg @@ -0,0 +1,5 @@ +[application] +name = Cisco's AnyConnect + +[configuration_files] +.anyconnect diff --git a/.mackup/histories.cfg b/.mackup/histories.cfg new file mode 100644 index 0000000..0291037 --- /dev/null +++ b/.mackup/histories.cfg @@ -0,0 +1,13 @@ +[application] +name = various history files + +[configuration_files] +.bash_history +# .lesshst -> less overwrites the symlink unfortunately +.python_history +.tig_history +.zhistory + +[xdg_configuration_files] +# ~/.config/psql is set in ~/.psqlrc for all history files +psql diff --git a/.mackup/nautilus.cfg b/.mackup/nautilus.cfg new file mode 100644 index 0000000..cac15a4 --- /dev/null +++ b/.mackup/nautilus.cfg @@ -0,0 +1,5 @@ +[application] +name = Gnome Files a.k.a. Nautilus + +[xdg_configuration_files] +gtk-3.0/bookmarks diff --git a/.mackup/ssh_private.cfg b/.mackup/ssh_private.cfg new file mode 100644 index 0000000..3b8153d --- /dev/null +++ b/.mackup/ssh_private.cfg @@ -0,0 +1,5 @@ +[application] +name = private SSH (config) files + +[configuration_files] +.ssh/config diff --git a/.psqlrc b/.psqlrc index dba5163..2ed95c7 100644 --- a/.psqlrc +++ b/.psqlrc @@ -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 diff --git a/README.md b/README.md index 242b31f..51e0027 100644 --- a/README.md +++ b/README.md @@ -43,3 +43,10 @@ Additionally, two `virtualenv`s, called "interactive" and "utils", are also crea (e.g., [youtube-dl](https://github.com/ytdl-org/youtube-dl/)). Use `pyenv local ...` to specify a particular Python binary for a project. + + +### Private 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.