diff --git a/README.md b/README.md index 50d924a..4758260 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,4 @@ My dotfiles for: - other shells in the future maybe? - kitty - nvim +- gpg diff --git a/backup.sh b/backup.sh index 6bb6665..6ab47da 100755 --- a/backup.sh +++ b/backup.sh @@ -1,12 +1,16 @@ #!/usr/bin/env bash -set -e GIT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) rm -rf $GIT_DIR/fish rm -rf $GIT_DIR/kitty rm -rf $GIT_DIR/nvim +rm -rf $GIT_DIR/gnupg cp -r $HOME/.config/fish/ $GIT_DIR mv $GIT_DIR/fish/conf.d/universal.fish $GIT_DIR/universal-shellrc.txt cp -r $HOME/.config/kitty/ $GIT_DIR cp -r $HOME/.config/nvim/ $GIT_DIR + +mkdir $GIT_DIR/gnupg +cp $HOME/.gnupg/gpg.conf $GIT_DIR/gnupg/ +cp $HOME/.gnupg/gpg-agent.conf $GIT_DIR/gnupg/ diff --git a/fish/fish_variables b/fish/fish_variables index eb37a6a..ebaebdd 100644 --- a/fish/fish_variables +++ b/fish/fish_variables @@ -7,7 +7,7 @@ SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fish SETUVAR _fisher_plugins:jorgebucaran/fisher\x1eilancosman/tide\x40v5 SETUVAR _fisher_upgraded_to_4_4:\x1d SETUVAR _tide_left_items:vi_mode\x1epwd\x1egit -SETUVAR _tide_prompt_112517:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x1b\x5b37m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0mmain\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u21e116\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x2b3\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x211\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b135\x3b135\x3b95m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x204s\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_prompt_177118:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x1b\x5b37m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0mmain\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x2b6\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m SETUVAR _tide_prompt_22173:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b215\x3b0\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2718\x202\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m SETUVAR _tide_prompt_28723:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m SETUVAR _tide_prompt_3449:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b135\x3b135\x3b95m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x205s\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m diff --git a/gnupg/gpg-agent.conf b/gnupg/gpg-agent.conf new file mode 100644 index 0000000..3e3b41e --- /dev/null +++ b/gnupg/gpg-agent.conf @@ -0,0 +1,14 @@ +# https://github.com/drduh/config/blob/master/gpg-agent.conf +# https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html +enable-ssh-support +ttyname $GPG_TTY +default-cache-ttl 60 +max-cache-ttl 120 +#pinentry-program /usr/bin/pinentry-curses +#pinentry-program /usr/bin/pinentry-tty +#pinentry-program /usr/bin/pinentry-gtk-2 +#pinentry-program /usr/bin/pinentry-x11 +pinentry-program /usr/bin/pinentry-qt +#pinentry-program /usr/local/bin/pinentry-curses +#pinentry-program /usr/local/bin/pinentry-mac +#pinentry-program /opt/homebrew/bin/pinentry-mac diff --git a/gnupg/gpg.conf b/gnupg/gpg.conf new file mode 100644 index 0000000..9d5f282 --- /dev/null +++ b/gnupg/gpg.conf @@ -0,0 +1,61 @@ +# https://github.com/drduh/config/blob/master/gpg.conf +# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html +# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html +# Use AES256, 192, or 128 as cipher +personal-cipher-preferences AES256 AES192 AES +# Use SHA512, 384, or 256 as digest +personal-digest-preferences SHA512 SHA384 SHA256 +# Use ZLIB, BZIP2, ZIP, or no compression +personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed +# Default preferences for new keys +default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed +# SHA512 as digest to sign keys +cert-digest-algo SHA512 +# SHA512 as digest for symmetric ops +s2k-digest-algo SHA512 +# AES256 as cipher for symmetric ops +s2k-cipher-algo AES256 +# UTF-8 support for compatibility +charset utf-8 +# Show Unix timestamps +fixed-list-mode +# No comments in signature +no-comments +# No version in output +no-emit-version +# Disable banner +no-greeting +# Long hexidecimal key format +keyid-format 0xlong +# Display UID validity +list-options show-uid-validity +verify-options show-uid-validity +# Display all keys and their fingerprints +with-fingerprint +# Display key origins and updates +#with-key-origin +# Cross-certify subkeys are present and valid +require-cross-certification +# Disable caching of passphrase for symmetrical ops +no-symkey-cache +# Enable smartcard +use-agent +# Disable recipient key ID in messages +throw-keyids +# Default/trusted key ID to use (helpful with throw-keyids) +#default-key 0xFF3E7D88647EBCDB +#trusted-key 0xFF3E7D88647EBCDB +# Group recipient keys (preferred ID last) +#group keygroup = 0xFF00000000000001 0xFF00000000000002 0xFF3E7D88647EBCDB +# Keyserver URL +#keyserver hkps://keys.openpgp.org +#keyserver hkps://keyserver.ubuntu.com:443 +#keyserver hkps://hkps.pool.sks-keyservers.net +#keyserver hkps://pgp.ocf.berkeley.edu +# Proxy to use for keyservers +#keyserver-options http-proxy=http://127.0.0.1:8118 +#keyserver-options http-proxy=socks5-hostname://127.0.0.1:9050 +# Verbose output +#verbose +# Show expired subkeys +#list-options show-unusable-subkeys diff --git a/restore.sh b/restore.sh index 1a72bf5..aa38273 100755 --- a/restore.sh +++ b/restore.sh @@ -1,12 +1,15 @@ #!/usr/bin/env bash -set -e GIT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) rm -rf $HOME/.config/fish/ rm -rf $HOME/.config/kitty/ rm -rf $HOME/.config/nvim/ +rm -f $HOME/.gnupg/gpg-agent.conf +rm -f $HOME/.gnupg/gpg.conf cp -r $GIT_DIR/fish/ $HOME/.config/ cp $GIT_DIR/universal-shellrc.txt $HOME/.config/fish/conf.d/universal.fish cp -r $GIT_DIR/kitty/ $HOME/.config/ cp -r $GIT_DIR/nvim/ $HOME/.config/ +mkdir $HOME/.gnupg +cp -r $GIT_DIR/gnupg/* $HOME/.gnupg/ \ No newline at end of file