diff options
-rw-r--r-- | .config/abook/abookrc | 7 | ||||
-rw-r--r-- | .config/firejail/neomutt.profile | 93 | ||||
-rw-r--r-- | .config/fontconfig/fonts.conf | 28 | ||||
-rw-r--r-- | .config/mutt/mailcap | 4 | ||||
-rw-r--r-- | .config/mutt/muttrc | 171 | ||||
-rw-r--r-- | .config/shell/aliasrc | 3 | ||||
-rw-r--r-- | .config/shell/shortcutsrc | 1 | ||||
-rw-r--r-- | .config/sxhkd/sxhkdrc | 2 | ||||
-rw-r--r-- | .config/zsh/.zprofile | 1 | ||||
-rwxr-xr-x | .local/bin/check-repos | 10 | ||||
-rwxr-xr-x | .local/bin/kill-libvirtd | 22 | ||||
-rwxr-xr-x | .local/bin/start-vm | 9 | ||||
-rwxr-xr-x | .local/bin/stop-vm | 21 |
13 files changed, 371 insertions, 1 deletions
diff --git a/.config/abook/abookrc b/.config/abook/abookrc new file mode 100644 index 0000000..0d6c033 --- /dev/null +++ b/.config/abook/abookrc | |||
@@ -0,0 +1,7 @@ | |||
1 | set autosave=true | ||
2 | set show_all_emails=true | ||
3 | set mutt_command="firejail neomutt" | ||
4 | set www_command=w3m | ||
5 | set address_style=us | ||
6 | set add_email_prevent_duplicates=true | ||
7 | set show_cursor=false | ||
diff --git a/.config/firejail/neomutt.profile b/.config/firejail/neomutt.profile new file mode 100644 index 0000000..0a43c6f --- /dev/null +++ b/.config/firejail/neomutt.profile | |||
@@ -0,0 +1,93 @@ | |||
1 | # Local firejail profile for neomutt | ||
2 | name neomutt | ||
3 | quiet | ||
4 | |||
5 | whitelist ${HOME}/.Mail | ||
6 | whitelist ${HOME}/.cache/mutt | ||
7 | whitelist ${HOME}/.mail | ||
8 | whitelist ${HOME}/.msmtprc | ||
9 | whitelist ${HOME}/.signature | ||
10 | whitelist ${HOME}/.vim | ||
11 | whitelist ${HOME}/.viminfo | ||
12 | whitelist ${HOME}/.vimrc | ||
13 | whitelist ${HOME}/.local/share/mail/ | ||
14 | whitelist ${HOME}/.config/mutt/ | ||
15 | whitelist ${HOME}/.mbsyncrc | ||
16 | whitelist ${HOME}/.config/mbsync | ||
17 | whitelist ${HOME}/.config/msmtp | ||
18 | whitelist ${HOME}/.w3m | ||
19 | |||
20 | noblacklist ${HOME}/.Mail | ||
21 | noblacklist ${HOME}/.cache/mutt | ||
22 | noblacklist ${HOME}/.mail | ||
23 | noblacklist ${HOME}/.msmtprc | ||
24 | noblacklist ${HOME}/.signature | ||
25 | noblacklist ${HOME}/.vim | ||
26 | noblacklist ${HOME}/.viminfo | ||
27 | noblacklist ${HOME}/.vimrc | ||
28 | noblacklist ${HOME}/.local/share/mail/ | ||
29 | noblacklist ${HOME}/.config/mutt/ | ||
30 | noblacklist ${HOME}/.mbsyncrc | ||
31 | noblacklist ${HOME}/.config/mbsync | ||
32 | noblacklist ${HOME}/.config/msmtp | ||
33 | noblacklist ${HOME}/.w3m | ||
34 | |||
35 | # Access to GPG for encrypting/decrypting/signing mail and passwords with pass | ||
36 | whitelist ${HOME}/.gnupg | ||
37 | noblacklist ${HOME}/.gnupg | ||
38 | whitelist ${RUNUSER}/gnupg | ||
39 | |||
40 | # This assumes you keep mail account passwords under a separate directory named mail | ||
41 | # This to avoid exposing all passwords to the sandbox, only necessary ones | ||
42 | whitelist ${HOME}/.local/share/password-store/mail | ||
43 | noblacklist ${HOME}/.local/share/password-store/mail | ||
44 | |||
45 | # abook | ||
46 | whitelist ${HOME}/.config/abook | ||
47 | whitelist ${HOME}/.local/share/abook | ||
48 | |||
49 | #include whitelist-runuser-common.inc | ||
50 | writable-run-user | ||
51 | blacklist /tmp/.X11-unix | ||
52 | blacklist ${RUNUSER}/wayland-* | ||
53 | |||
54 | include disable-common.inc | ||
55 | include disable-devel.inc | ||
56 | include disable-interpreters.inc | ||
57 | include disable-passwdmgr.inc | ||
58 | include disable-programs.inc | ||
59 | |||
60 | # Required for using msmtp with passwordeval | ||
61 | apparmor | ||
62 | caps.drop all | ||
63 | netfilter | ||
64 | no3d | ||
65 | nodvd | ||
66 | nogroups | ||
67 | nonewprivs | ||
68 | noroot | ||
69 | nosound | ||
70 | notv | ||
71 | nou2f | ||
72 | novideo | ||
73 | protocol unix,inet,inet6 | ||
74 | seccomp | ||
75 | shell none | ||
76 | disable-mnt | ||
77 | machine-id | ||
78 | |||
79 | whitelist /dev/mapper | ||
80 | whitelist /dev/fd | ||
81 | whitelist /dev/full | ||
82 | whitelist /dev/log | ||
83 | whitelist /dev/null | ||
84 | whitelist /dev/ptmx | ||
85 | whitelist /dev/pts | ||
86 | whitelist /dev/random | ||
87 | whitelist /dev/shm | ||
88 | whitelist /dev/stderr | ||
89 | whitelist /dev/stdin | ||
90 | whitelist /dev/stdout | ||
91 | whitelist /dev/tty | ||
92 | whitelist /dev/urandom | ||
93 | whitelist /dev/zero | ||
diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf new file mode 100644 index 0000000..7512ee5 --- /dev/null +++ b/.config/fontconfig/fonts.conf | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version='1.0'?> | ||
2 | <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> | ||
3 | <fontconfig> | ||
4 | <alias> | ||
5 | <family>serif</family> | ||
6 | <prefer> | ||
7 | <family>Liberation Serif</family> | ||
8 | <family>DejaVu Serif</family> | ||
9 | <family>Noto Color Emoji</family> | ||
10 | </prefer> | ||
11 | </alias> | ||
12 | <alias> | ||
13 | <family>sans</family> | ||
14 | <prefer> | ||
15 | <family>Liberation Sans</family> | ||
16 | <family>DejaVu Sans</family> | ||
17 | <family>Noto Color Emoji</family> | ||
18 | </prefer> | ||
19 | </alias> | ||
20 | <alias> | ||
21 | <family>monospace</family> | ||
22 | <prefer> | ||
23 | <family>Liberation Mono</family> | ||
24 | <family>DejaVu Sans Mono</family> | ||
25 | <family>Inconsolata</family> | ||
26 | </prefer> | ||
27 | </alias> | ||
28 | </fontconfig> | ||
diff --git a/.config/mutt/mailcap b/.config/mutt/mailcap new file mode 100644 index 0000000..21cd88b --- /dev/null +++ b/.config/mutt/mailcap | |||
@@ -0,0 +1,4 @@ | |||
1 | text/plain; $EDITOR ; | ||
2 | text/html; w3m %s ; | ||
3 | image/*; feh %s; | ||
4 | application/pdf; zathura %s; | ||
diff --git a/.config/mutt/muttrc b/.config/mutt/muttrc new file mode 100644 index 0000000..c429fed --- /dev/null +++ b/.config/mutt/muttrc | |||
@@ -0,0 +1,171 @@ | |||
1 | ### General Variables | ||
2 | set editor = "vim -i NONE" | ||
3 | set signature = "~/.config/mutt/signature" | ||
4 | #set index_format = "%2C %Z - %D - %a - %s (%-4.4c)" | ||
5 | folder-hook . 'set index_format = "%2C %Z - %D - %a - %s (%-4.4c)"' | ||
6 | folder-hook Sent 'set index_format = "%2C %Z - %D - %F - %s (%-4.4c)"' | ||
7 | set date_format = "%m/%d/%y %I:%M %p" | ||
8 | set mailcap_path = "~/.config/mutt/mailcap" | ||
9 | set query_command = "abook --config ~/.config/abook/abookrc --datafile ~/.local/share/abook/addressbook --mutt-query '%s'" | ||
10 | set sort = "reverse-date" | ||
11 | set sleep_time = 0 | ||
12 | set markers = no | ||
13 | set mark_old = no | ||
14 | set wait_key = no | ||
15 | set fast_reply | ||
16 | set include | ||
17 | set reverse_name | ||
18 | set delete = yes | ||
19 | set confirmappend = no | ||
20 | set ssl_force_tls = yes | ||
21 | set ssl_starttls = no | ||
22 | set ssl_use_sslv3 = no | ||
23 | set ssl_use_tlsv1 = no | ||
24 | set ssl_use_tlsv1_1 = no | ||
25 | set ssl_use_tlsv1_2 = yes | ||
26 | set ssl_use_tlsv1_3 = yes | ||
27 | set ssl_verify_dates = yes | ||
28 | set ssl_verify_host = yes | ||
29 | |||
30 | ### Sidebar | ||
31 | set sidebar_visible | ||
32 | set mail_check_stats | ||
33 | set sidebar_format = "%B%* %?N?%N/?%?S?%S?" | ||
34 | set sidebar_short_path = yes | ||
35 | set sidebar_folder_indent = yes | ||
36 | set sidebar_indent_string = " " | ||
37 | bind index,pager V sidebar-toggle-visible | ||
38 | |||
39 | ### Keybindings | ||
40 | bind index u noop | ||
41 | bind index U noop | ||
42 | bind index g noop | ||
43 | bind index h noop | ||
44 | bind index,pager v noop | ||
45 | bind index,pager i noop | ||
46 | bind index,pager d noop | ||
47 | bind index,pager y noop | ||
48 | bind index,pager m noop | ||
49 | bind index,pager c noop | ||
50 | |||
51 | bind generic / search | ||
52 | bind generic n search-next | ||
53 | bind generic N search-opposite | ||
54 | bind generic H top-page | ||
55 | bind generic M middle-page | ||
56 | bind generic L bottom-page | ||
57 | bind generic ? help | ||
58 | bind generic <Enter> select-entry | ||
59 | bind generic <Return> select-entry | ||
60 | |||
61 | bind index gg first-entry | ||
62 | bind index G last-entry | ||
63 | bind index j next-entry | ||
64 | bind index k previous-entry | ||
65 | bind index \Cu previous-unread | ||
66 | bind index \Cd next-unread | ||
67 | bind index l display-message | ||
68 | bind index L limit | ||
69 | bind index Q query | ||
70 | bind index a create-alias | ||
71 | bind index <Space> tag-entry | ||
72 | bind index n mail | ||
73 | |||
74 | bind pager h exit | ||
75 | bind pager j next-line | ||
76 | bind pager k previous-line | ||
77 | bind pager l view-attachments | ||
78 | bind pager { previous-page | ||
79 | bind pager } next-page | ||
80 | bind pager f display-toggle-weed | ||
81 | bind pager \Cu half-up | ||
82 | bind pager \Cd half-down | ||
83 | |||
84 | bind index,pager r reply | ||
85 | bind index,pager R group-reply | ||
86 | bind index,pager s sort-mailbox | ||
87 | bind index,pager S sort-reverse | ||
88 | |||
89 | bind editor <Tab> complete-query | ||
90 | |||
91 | bind attach * noop | ||
92 | bind attach h exit | ||
93 | |||
94 | ### Macros | ||
95 | macro index,pager D ";<delete-message><sync-mailbox><check-stats>" "send to trash (delete)" | ||
96 | macro index P ";<purge-message><sync-mailbox><check-stats>" "permanently delete message" | ||
97 | macro index U ";<undelete-message><sync-mailbox><check-stats>" "undelete message" | ||
98 | macro index,pager mi ";<save-message>=Inbox<enter><sync-mailbox><check-stats>" "move to inbox" | ||
99 | macro index,pager ms ";<save-message>=Sent<enter><sync-mailbox><check-stats>" "move to sent" | ||
100 | macro index,pager mj ";<save-message>=Spam<enter><sync-mailbox><check-stats>" "move to spam" | ||
101 | |||
102 | macro index,pager yi ";<copy-message>=Inbox<enter><sync-mailbox><check-stats>" "copy to inbox" | ||
103 | macro index,pager ys ";<copy-message>=Sent<enter><sync-mailbox><check-stats>" "copy to sent" | ||
104 | macro index,pager yj ";<copy-message>=Spam<enter><sync-mailbox><check-stats>" "copy to spam" | ||
105 | |||
106 | macro index,pager ci ";<change-folder>=Inbox<enter>" "cd to inbox" | ||
107 | macro index,pager cs ";<change-folder>=Sent<enter>" "cd to sent" | ||
108 | macro index,pager cd ";<change-folder>=Drafts<enter>" "cd to drafts" | ||
109 | macro index,pager ct ";<change-folder>=Trash<enter>" "cd to trash" | ||
110 | macro index,pager cj ";<change-folder>=Spam<enter>" "cd to spam" | ||
111 | macro index,pager ca ";<change-folder>=Archive<enter>" "cd to archive" | ||
112 | |||
113 | macro index,pager J "<sidebar-next><sidebar-open>" "next mailbox" | ||
114 | macro index,pager K "<sidebar-prev><sidebar-open>" "previous mailbox" | ||
115 | |||
116 | macro index,pager A "|abook --config ~/.config/abook/abookrc --datafile ~/.local/share/abook/addressbook --add-email\n" "add address to abook" | ||
117 | |||
118 | ### Headers | ||
119 | ignore * | ||
120 | unignore from date subject to cc | ||
121 | unignore Authentication-Results | ||
122 | unhdr_order * | ||
123 | hdr_order Authentication-Results: From: To: Subject: Date: | ||
124 | |||
125 | ### Colors | ||
126 | mono bold bold | ||
127 | mono underline underline | ||
128 | mono indicator reverse | ||
129 | mono error bold | ||
130 | ### Index | ||
131 | color index white default "~A" | ||
132 | color index_number blue default | ||
133 | color index_author blue default "~A" | ||
134 | color index_subject blue default "~A" | ||
135 | # New | ||
136 | color index brightyellow default "~N" | ||
137 | color index_author underline brightblue default "~N" | ||
138 | color index_subject underline brightblue default "~N" | ||
139 | # Tagged | ||
140 | color index brightwhite blue "~T" | ||
141 | color index_author brightwhite blue "~T" | ||
142 | color index_subject brightwhite blue "~T" | ||
143 | ### Header | ||
144 | color hdrdefault blue default | ||
145 | color header brightred default "^From:" | ||
146 | color header brightred default "^Subject:" | ||
147 | # highlight authentication headers based on pass/fail/none | ||
148 | color header green default "dkim=pass" | ||
149 | color header green default "spf=pass" | ||
150 | color header green default "dmarc=pass" | ||
151 | color header yellow default "dkim=none" | ||
152 | color header yellow default "spf=none" | ||
153 | color header yellow default "dmarc=none" | ||
154 | color header brightred default "dkim=fail" | ||
155 | color header brightred default "spf=fail" | ||
156 | color header brightred default "dmarc=fail" | ||
157 | ### Body | ||
158 | color body default default ".*" | ||
159 | ### Sidebar | ||
160 | |||
161 | ### Other | ||
162 | color normal default default | ||
163 | color tilde default default | ||
164 | color status default black | ||
165 | color signature default default | ||
166 | color attachment default default | ||
167 | color message default default | ||
168 | color quoted green default | ||
169 | color search brightred default | ||
170 | |||
171 | source ~/.config/mutt/accounts/testing | ||
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc index 66b7f75..a393bea 100644 --- a/.config/shell/aliasrc +++ b/.config/shell/aliasrc | |||
@@ -42,10 +42,13 @@ alias \ | |||
42 | 42 | ||
43 | # Start commands with specific options always | 43 | # Start commands with specific options always |
44 | alias \ | 44 | alias \ |
45 | abook="abook --config ~/.config/abook/abookrc --datafile ~/.local/share/abook/addressbook" \ | ||
45 | calcurse="calcurse -D ~/.config/calcurse" \ | 46 | calcurse="calcurse -D ~/.config/calcurse" \ |
46 | cp="cp -iv" \ | 47 | cp="cp -iv" \ |
47 | ffmpeg="ffmpeg -hide_banner" \ | 48 | ffmpeg="ffmpeg -hide_banner" \ |
48 | mv="mv -iv" \ | 49 | mv="mv -iv" \ |
50 | mutt="firejail neomutt" | ||
51 | neomutt="firejail neomutt" \ | ||
49 | rm="rm -Iv" | 52 | rm="rm -Iv" |
50 | 53 | ||
51 | source $XDG_CONFIG_HOME/shell/private-aliasrc | 54 | source $XDG_CONFIG_HOME/shell/private-aliasrc |
diff --git a/.config/shell/shortcutsrc b/.config/shell/shortcutsrc index b288c61..b8727ae 100644 --- a/.config/shell/shortcutsrc +++ b/.config/shell/shortcutsrc | |||
@@ -9,6 +9,7 @@ alias \ | |||
9 | cfs='vim $HOME/.config/shell/shortcutsrc' \ | 9 | cfs='vim $HOME/.config/shell/shortcutsrc' \ |
10 | dat='cd $HOME/.local/share' \ | 10 | dat='cd $HOME/.local/share' \ |
11 | dbc='cd $HOME/.local/src/dwmblocks; vim ~/.local/src/dwmblocks/blocks.h' \ | 11 | dbc='cd $HOME/.local/src/dwmblocks; vim ~/.local/src/dwmblocks/blocks.h' \ |
12 | doc='/usr/share/doc/' \ | ||
12 | dwc='cd $HOME/.local/src/dwm; vim ~/.local/src/dwm/config.h' \ | 13 | dwc='cd $HOME/.local/src/dwm; vim ~/.local/src/dwm/config.h' \ |
13 | dws='cd $HOME/.local/src/dwm' \ | 14 | dws='cd $HOME/.local/src/dwm' \ |
14 | gms='cd $HOME/.steam/debian-installation/steamapps/common' \ | 15 | gms='cd $HOME/.steam/debian-installation/steamapps/common' \ |
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 3263859..bf155cf 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc | |||
@@ -38,7 +38,7 @@ super + q | |||
38 | super + w | 38 | super + w |
39 | wireshark | 39 | wireshark |
40 | super + e | 40 | super + e |
41 | urxvt -e vim | 41 | urxvt -e firejail neomutt |
42 | super + r | 42 | super + r |
43 | urxvt -e ranger | 43 | urxvt -e ranger |
44 | super + a | 44 | super + a |
diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile index 127c867..3453af6 100644 --- a/.config/zsh/.zprofile +++ b/.config/zsh/.zprofile | |||
@@ -17,6 +17,7 @@ export TERMINAL="urxvt" | |||
17 | # Other vars | 17 | # Other vars |
18 | export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' | 18 | export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' |
19 | export LESSHISTFILE='-' | 19 | export LESSHISTFILE='-' |
20 | export LIBVIRT_DEFAULT_URI="qemu:///system" | ||
20 | export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" | 21 | export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" |
21 | export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc" | 22 | export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc" |
22 | export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" | 23 | export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" |
diff --git a/.local/bin/check-repos b/.local/bin/check-repos new file mode 100755 index 0000000..d528ce6 --- /dev/null +++ b/.local/bin/check-repos | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | cd $HOME/repos | ||
4 | for repo in $(ls) | ||
5 | do | ||
6 | [ -d $repo/.git ] && echo $repo && \ | ||
7 | echo "------------------------------------------------------" && \ | ||
8 | git --git-dir=$repo/.git --work-tree=$repo status 2>/dev/null && \ | ||
9 | echo "------------------------------------------------------" | ||
10 | done | ||
diff --git a/.local/bin/kill-libvirtd b/.local/bin/kill-libvirtd new file mode 100755 index 0000000..2ea802d --- /dev/null +++ b/.local/bin/kill-libvirtd | |||
@@ -0,0 +1,22 @@ | |||
1 | #!/bin/sh | ||
2 | # Stop all running domains and networks, and then stop all libvirtd daemons | ||
3 | |||
4 | # Save running domains | ||
5 | rundoms="$(virsh list | grep running | awk '{print $2}')" | ||
6 | for dom in $rundoms | ||
7 | do | ||
8 | virsh managedsave $dom | ||
9 | done | ||
10 | |||
11 | # Stop network | ||
12 | virsh net-destroy default | ||
13 | |||
14 | # Stop libvirtd | ||
15 | sudo systemctl stop libvirtd >/dev/null | ||
16 | sudo systemctl stop libvirtd-ro.socket >/dev/null | ||
17 | sudo systemctl stop libvirtd-admin.socket >/dev/null | ||
18 | sudo systemctl stop libvirtd.socket >/dev/null | ||
19 | sudo systemctl stop virtlogd >/dev/null | ||
20 | sudo systemctl stop virtlogd-admin.socket >/dev/null | ||
21 | sudo systemctl stop virtlogd.socket >/dev/null | ||
22 | sudo systemctl stop systemd-machined >/dev/null | ||
diff --git a/.local/bin/start-vm b/.local/bin/start-vm new file mode 100755 index 0000000..5ffea03 --- /dev/null +++ b/.local/bin/start-vm | |||
@@ -0,0 +1,9 @@ | |||
1 | #!/bin/sh | ||
2 | # Starts libvirtd, default network, and optionally any domains given as arguments | ||
3 | |||
4 | pgrep libvirtd >/dev/null || sudo systemctl start libvirtd | ||
5 | virsh net-start default | ||
6 | for domain in "$@" | ||
7 | do | ||
8 | virsh start $domain | ||
9 | done | ||
diff --git a/.local/bin/stop-vm b/.local/bin/stop-vm new file mode 100755 index 0000000..6c92250 --- /dev/null +++ b/.local/bin/stop-vm | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/bin/sh | ||
2 | # Stops domains given as arguments | ||
3 | |||
4 | opts=$(getopt -o 'as' -l 'all,save' -- "$@") | ||
5 | eval set -- "$opts" | ||
6 | all=0 | ||
7 | save=0 | ||
8 | while true | ||
9 | do | ||
10 | case $1 in | ||
11 | '-a'|'--all') all=1; shift; continue ;; | ||
12 | '-s'|'--save') save=1; shift; continue ;; | ||
13 | '--') shift; break;; | ||
14 | esac | ||
15 | done | ||
16 | |||
17 | [ $all -eq 1 ] && domains="$(virsh list | grep running | awk '{print $2}')" || domains="$@" | ||
18 | for domain in $domains | ||
19 | do | ||
20 | [ $save -eq 1 ] && virsh managedsave $domain || virsh shutdown $domain | ||
21 | done | ||