Fixing monitor layout. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
(HTM) git clone git://jay.scot/dotfiles
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit b4f15da7233f538384b6987014779998300e6c50
(DIR) parent 38522989aa40a65ccd5ce9d8635ec097f20a61d8
(HTM) Author: Jay Scott <me@jay.scot>
Date: Sun, 1 Jun 2025 11:29:00 +0100
Fixing monitor layout.
Diffstat:
M README | 6 +++---
M ashrc | 19 +++++++------------
M bootstrap.sh | 2 +-
A isync/mbsyncrc | 24 ++++++++++++++++++++++++
M lynx/bookmarks.html | 21 +++++++++++++--------
A mutt/gruvbox | 121 +++++++++++++++++++++++++++++++
M mutt/muttrc | 122 +++++++++++++++----------------
M sway/config | 15 +++++++++++++--
8 files changed, 239 insertions(+), 91 deletions(-)
---
(DIR) diff --git a/README b/README
@@ -17,9 +17,9 @@ my main desktop OS and are forever evolving.
terminal : foot
launcher : bemenu
email : neomutt
- browser : qutebrowser / librewolf
- media : mpv
- password mgmt : pass
+ browser : firefox / lynx
+ media : kew / mpv
+ password mgmt : gopass
vpn : mullvad
news : newsraft
(DIR) diff --git a/ashrc b/ashrc
@@ -5,7 +5,6 @@ export XDG_STATE_HOME="$HOME/.local/state"
# cleanup ~/
export PASSWORD_STORE_DIR="$XDG_CONFIG_HOME"/pass
-export CARGO_HOME="$XDG_DATA_HOME"/cargo
# common exports
GPG_TTY=$(tty)
@@ -45,23 +44,19 @@ alias mpv="mpv --autofit=30% --really-quiet --no-terminal"
alias w="w3m -B"
# vpn
+alias von='mullvad ~/.config/mullvad/se-mma-wg-111.conf'
+alias vcheck='curl https://am.i.mullvad.net/connected'
+
+# vpn
alias von='doas wg-quick up mullvad'
alias voff='doas wg-quick down mullvad'
alias vcheck='curl https://am.i.mullvad.net/connected'
+# pass
+export PASSWORD_STORE_DIR=$HOME/src/pass
+
# ash
export LANG=en_US.UTF-8
export LC_CTYPE="en_US.UTF-8"
export LC_ALL=en_US.UTF-8
export PS1="\[\e[00;34m\]▶▶▶ \W \[\e[0m\]"
-
-mirror_repo() {
- if [ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1; then
- remote_url="git@jay.scot:$(basename $(pwd))"
- git remote add mirror "$remote_url" 2>/dev/null || true
- git push --mirror mirror
- echo "Mirrored to $remote_url"
- else
- echo "Not a git repository"
- fi
-}
(DIR) diff --git a/bootstrap.sh b/bootstrap.sh
@@ -4,7 +4,7 @@ DOTFILES=$(pwd)
FILES='ashrc profile'
ROOT='bin'
-CONFIG='foot git lynx mutt newsraft nvim qutebrowser sway waybar'
+CONFIG='foot git isync lynx mutt newsraft nvim qutebrowser sway waybar'
link() {
for f in $FILES; do ln -sfn "$DOTFILES/$f" "$HOME/.$f"; done
(DIR) diff --git a/isync/mbsyncrc b/isync/mbsyncrc
@@ -0,0 +1,24 @@
+Create Both
+Expunge Both
+Remove Both
+Sync All
+SyncState *
+
+IMAPAccount jay
+Host imap.mailbox.org
+User me@jay.scot
+PassCmd "gopass show -o tech/mailbox.org"
+TLSType IMAPS
+
+IMAPStore jay-remote
+Account jay
+
+MaildirStore jay-local
+SubFolders Verbatim
+Path ~/.mail/jay/
+Inbox ~/.mail/jay/Inbox
+
+Channel jay
+Far :jay-remote:
+Near :jay-local:
+Patterns *
(DIR) diff --git a/lynx/bookmarks.html b/lynx/bookmarks.html
@@ -12,13 +12,18 @@
<ol>
<h2>Gopher</h2>
<li><a href="gopher://jay.scot/">jay.scot</a></li>
-<li><a href="gopher://gopher.icu/">Ian J</a>
-<li><a href="gopher://hngopher.com">Hacker News</a>
-<LI><a href="gopher://gopherpedia.com/">gopherpedia</a>
-<LI><a href="gopher://bitreich.org/1/lawn">The Gopher Lawn</a>
-<LI><a href="gopher://gopher.black/1/moku-pona">Aggregator of phlog</a>
-<LI><a href="gopher://i-logout.cz/1/bongusta/">Bongusta</a>
-<LI><a href="gopher://floodgap.com/">Floodgap</a>
+<li><a href="gopher://1436.ninja/1/Port70News">Port 70 News</a></li>
+<li><a href="gopher://gopher.metafilter.com/1/MetaFilter">Metafilter</a></li>
+<li><a href="gopher://hngopher.com">Hacker News</a></li>
+<li><a href="gopher://gopherpedia.com/">gopherpedia</a></li>
+<li><a href="gopher://bitreich.org/1/lawn">The Gopher Lawn</a></li>
+<li><a href="gopher://gopher.black/1/moku-pona">Aggregator of phlog</a></li>
+<li><a href="gopher://i-logout.cz/1/bongusta/">Bongusta</a></li>
+<li><a href="gopher://gopher.icu/">Ian J</a></li>
+<li><a href="gopher://floodgap.com/">Floodgap</a></li>
<hr>
<h2>Web</h2>
-<LI><a href="https://text.npr.org/">NPR</a>
+<li><a href="https://text.npr.org/">NPR</a></li>
+<li><a href="https://neuters.de/">Reuters</a></li>
+<li><a href="http://lite.cnn.com/">CNN</a></li>
+</ol>
(DIR) diff --git a/mutt/gruvbox b/mutt/gruvbox
@@ -0,0 +1,121 @@
+# gruvbox dark (contrast dark):
+
+# bg0 = 234
+# bg1 = 237
+# bg2 = 239
+# bg3 = 241
+# bg4 = 243
+#
+# gray = 245
+#
+# fg0 = 229
+# fg1 = 223
+# fg2 = 250
+# fg3 = 248
+# fg4 = 246
+#
+# red = 167
+# green = 142
+# yellow = 214
+# blue = 109
+# purple = 175
+# aqua = 108
+# orange = 208
+
+
+# See http://www.mutt.org/doc/manual/#color
+
+color attachment color109 color234
+color bold color229 color234
+color error color167 color234
+color hdrdefault color246 color234
+color indicator color223 color237
+color markers color243 color234
+color normal color223 color234
+color quoted color250 color234
+color quoted1 color108 color234
+color quoted2 color250 color234
+color quoted3 color108 color234
+color quoted4 color250 color234
+color quoted5 color108 color234
+color search color234 color208
+color signature color108 color234
+color status color234 color250
+color tilde color243 color234
+color tree color142 color234
+color underline color223 color239
+
+color sidebar_divider color250 color234
+color sidebar_new color142 color234
+
+color index color142 color234 ~N
+color index color108 color234 ~O
+color index color109 color234 ~P
+color index color214 color234 ~F
+color index color175 color234 ~Q
+color index color167 color234 ~=
+color index color234 color223 ~T
+color index color234 color167 ~D
+
+color header color214 color234 "^(To:|From:)"
+color header color142 color234 "^Subject:"
+color header color108 color234 "^X-Spam-Status:"
+color header color108 color234 "^Received:"
+
+# Regex magic for URLs and hostnames
+#
+# Attention: BSD's regex has RE_DUP_MAX set to 255.
+#
+# Examples:
+# http://some-service.example.com
+# example.com
+# a.example.com
+# some-service.example.com
+# example.com/
+# example.com/datenschutz
+# file:///tmp/foo
+#
+# Non-examples:
+# 1.1.1900
+# 14.02.2022/24:00
+# 23.59
+# w.l.o.g
+# team.its
+color body color142 color234 "[a-z]{3,255}://[[:graph:]]*"
+color body color142 color234 "([-[:alnum:]]+\\.)+([0-9]{1,3}|[-[:alpha:]]+)/[[:graph:]]*"
+color body color142 color234 "([-[:alnum:]]+\\.){2,255}[-[:alpha:]]{2,10}"
+
+# IPv4 and IPv6 stolen from https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses
+color body color142 color234 "((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"
+color body color142 color234 "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"
+
+# Mail addresses and mailto URLs
+color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
+color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
+
+# some simleys and stuff
+color body color234 color214 "[;:]-*[)>(<lt;|]"
+color body color229 color234 "\\*[- A-Za-z]+\\*"
+
+color body color214 color234 "^-.*PGP.*-*"
+color body color142 color234 "^gpg: Good signature from"
+color body color167 color234 "^gpg: Can't.*$"
+color body color214 color234 "^gpg: WARNING:.*$"
+color body color167 color234 "^gpg: BAD signature from"
+color body color167 color234 "^gpg: Note: This key has expired!"
+color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner."
+color body color214 color234 "^gpg: can't handle these multiple signatures"
+color body color214 color234 "^gpg: signature verification suppressed"
+color body color214 color234 "^gpg: invalid node with packet of type"
+
+color body color142 color234 "^Good signature from:"
+color body color167 color234 "^.?BAD.? signature from:"
+color body color142 color234 "^Verification successful"
+color body color167 color234 "^Verification [^s][^[:space:]]*$"
+
+color compose header color223 color234
+color compose security_encrypt color175 color234
+color compose security_sign color109 color234
+color compose security_both color142 color234
+color compose security_none color208 color234
+
(DIR) diff --git a/mutt/muttrc b/mutt/muttrc
@@ -1,44 +1,30 @@
-# info
-set imap_user = 'me@jay.scot'
-set imap_pass = `pass tech/mailbox.org | head -n1`
-set realname = 'Jay Scott'
-set from = 'me@jay.scot'
-
-# smtp settings
-set smtp_pass = $imap_pass
-set smtp_url = smtps://$imap_user@smtp.mailbox.org
-set ssl_force_tls = yes
+source ~/.config/mutt/gruvbox
-# imap settings
-set spoolfile ="imaps://imap.mailbox.org/"
-set folder = $spoolfile
-set postponed = "+Drafts"
-set record = "+Sent"
-set trash = "+Trash"
-set folder=imaps://imap.mailbox.org/
-set imap_check_subscribed
+# info
+set realname = 'Jay Scott'
+set from = 'me@jay.scot'
# general
-set envelope_from = yes
-set use_from = yes
-set editor = "nvim"
-set markers = no
-set mark_old = no
-set delete = yes
-set forward_format = "Fwd: %s"
-set fcc_attach = no
-set edit_headers = yes
-set fast_reply = yes
-set include = yes
+set envelope_from = yes
+set use_from = yes
+set editor = "nvim"
+set markers = no
+set mark_old = no
+set delete = yes
+set forward_format = "Fwd: %s"
+set fcc_attach = no
+set edit_headers = yes
+set fast_reply = yes
+set include = yes
# gpg encryption
source ~/.config/mutt/gpg.rc
bind compose p pgp-menu
-set pgp_use_gpg_agent = yes
-set pgp_sign_as = 0726AF07C73389E1E4475B7EC88BBC696A39CCB0
-set pgp_timeout = 3600
-set crypt_autosign = no
-set crypt_replyencrypt = yes
+set pgp_use_gpg_agent = yes
+set pgp_sign_as = 0726AF07C73389E1E4475B7EC88BBC696A39CCB0
+set pgp_timeout = 3600
+set crypt_autosign = no
+set crypt_replyencrypt = yes
# html emails
auto_view text/html
@@ -49,48 +35,54 @@ unset wait_key
unset allow_8bit
# paths
-set header_cache = ~/.cache/mutt/headers
-set message_cachedir = ~/.cache/mutt/bodies
-set mailcap_path = ~/.config/mutt/mailcap
-set alias_file = ~/.config/mutt/aliases
-set tmpdir = ~/.cache/
-set sort_alias = alias
-set reverse_alias = yes
-source $alias_file
+set folder = ~/.mail
+set header_cache = ~/.config/mutt/cache/headers
+set message_cachedir = ~/.config/mutt/cache/bodies
+set mailcap_path = ~/.config/mutt/mailcap
+set tmpdir = ~/.cache/
+
+set spoolfile = "+jay/Inbox"
+set postponed = "+jay/Drafts"
+set record = "+jay/Sent"
+
+# inbox
+mailboxes ! `echo ~/.mail/jay/*`
+
+# aliases
+set alias_file = ~/.config/mutt/aliases
+set sort_alias = alias
+set reverse_alias = yes
+source $alias_file
# macros
bind index g noop
bind index gg first-entry
bind index G last-entry
bind index <space> collapse-thread
-macro index A "<save-message>=Keep<enter><enter><sync-mailbox><enter>" "save to archive"
+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 -c \"$XDG_CONFIG_HOME\"/isync/mbsyncrc<enter>" "run isync to sync all mail"
+macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
+macro index A "<save-message>=jay/archive<enter><enter><sync-mailbox><enter>" "save to archive"
+macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
+macro index,pager O "<pipe-message>urlscan -c<Enter>" "call urlscan to extract URLs out of a message"
# sorting
-set sort = threads
-set sort_aux = reverse-date
-set pager_index_lines = 15
-set pager_context = 1
-set index_format = '%Z | %{%b %d %Y} | %-15.15F | %s'
-
-# sidebar
-set mail_check_stats = yes
-set sidebar_visible = yes
-set sidebar_width = 25
-set sidebar_short_path = yes
-set sidebar_folder_indent = yes
-set sidebar_format = "%B%* %?N?%N?"
-set sidebar_divider_char = │
-bind index,pager \Ck sidebar-prev
-bind index,pager <tab> sidebar-next
-bind index,pager <backtab> sidebar-prev
-bind index,pager \Cl sidebar-open
+set sort = threads
+set sort_aux = reverse-date
+set pager_index_lines = 15
+set pager_context = 1
+set index_format = '%Z | %{%b %d %Y} | %-15.15F | %s'
# disable help menu
-set help = no
+set help = yes
# status bar
set sidebar_delim_chars = "/"
-set status_chars = " *%A"
-set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
+set status_chars = " *%A"
+set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
-source ~/.config/mutt/theme
+ignore *
+unignore from date subject to cc
+unignore x-mailer
+unignore x-spam-status
+unignore x-spam-report
(DIR) diff --git a/sway/config b/sway/config
@@ -27,10 +27,21 @@ input * {
xkb_variant "extd"
}
+# monitors
+output DP-1 {
+ pos 1080 0 res 2560x1440
+}
+
+output DP-2 {
+ transform 270 pos 0 0 res 1920x1080
+}
+
+focus output DP-1
+
# keybinds
bindsym $mod+Space exec footclient
bindsym $mod+p exec $menu
-bindsym $mod+f exec qutebrowser
+bindsym $mod+f exec firefox
bindsym $mod+m exec /home/jay/bin/music
bindsym XF86AudioRaiseVolume exec pamixer -i 5
@@ -46,7 +57,7 @@ bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
-bindsym $mod+Left focus left
+
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right