commit a7b53fd7f52c3f45f7d9f57e6660fce9c1698414
parent 5aa1e11a2c9be24e7d6382837b8efbba344deab3
Author: Antoine Amarilli <a3nm@a3nm.net>
Date: Sat, 23 Nov 2019 13:00:43 +0100
Merge branch 'master' of a3nm.net:git/myconfig
Diffstat:
52 files changed, 644 insertions(+), 112 deletions(-)
diff --git a/Xdefaults b/Xdefaults
@@ -41,7 +41,7 @@ URxvt.keysym.M-y: perl:keyboard-select:activate
#URxvt.keysym.M-v: perl:clipboard:paste
#URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
#URxvt.urlLauncher: w3mn
-URxvt.urlLauncher: iceweasel2
+URxvt.urlLauncher: sandboxed-browser
URxvt.keysym.M-j: command:\033]720;23\007
URxvt.keysym.M-k: command:\033]721;23\007
URxvt.print-pipe: cat > ~/temp/urxvt.dmp
diff --git a/apt/arduino b/apt/arduino
@@ -0,0 +1 @@
+arduino
diff --git a/apt/audio b/apt/audio
@@ -4,9 +4,9 @@ timidity
freepats
fluid-soundfont-gm
fluid-soundfont-gs
-timgm6mb-soundfont
sox
speex
alsa-utils
libsox-fmt-mp3 # mp3 handler for sox
bpm-tools
+musescore-general-soundfont
diff --git a/apt/cd b/apt/cd
@@ -6,4 +6,5 @@ glyrc
flac
dvdbackup
+handbrake # rip DVDs easily (but lossily)
# seems obsolete: libdvdcss2
diff --git a/apt/desktop b/apt/desktop
@@ -1,6 +1,8 @@
# graphical applications
desktop-base
+vim-gtk # needed for clipboard support in the CLI version
+
audacity
cheese
diffpdf
@@ -25,7 +27,6 @@ okular
openbox
xclip
xinit
-xnest
xpdf
xterm
xtrlock
@@ -62,15 +63,15 @@ lmodern
# flashplugin-nonfree
-vim-gtk
-
scrot
gtk-recordmydesktop
rosegarden
+musescore
lilypond
+solfege
-linphone
+# linphone
lm-sensors
fastboot
wodim
@@ -96,11 +97,8 @@ xdotool
xinput
xserver-xephyr
hsetroot
-consolekit
-xpra
-calibre
+# consolekit # not sure why this was useful
libpdf-api2-perl # ~/bin/pdf-rect.pl
-beep
pm-utils # not just for laptops!
vbetool # potentially useful dependency
@@ -118,12 +116,10 @@ vlc
vlc-plugin-notify
vlc-plugin-video-splitter # might be useful one day?
va-driver-all # GPU video acceleration, including intel
-vdpau-driver-all # GPU video acceleration (useless?)
+# vdpau-driver-all # GPU video acceleration (useless?)
virtualenv
-electrum # bitcoin client
-
compton # to try and solve tearing
# fontforge # once needed for a pdf hack
@@ -134,14 +130,14 @@ fonts-roboto
redshift
openshot # simple video editing
-frei0r-plugins # openshot recommendation
+# frei0r-plugins # openshot recommendation, but large...
gstreamer1.0-libav
gstreamer1.0-plugins-ugly
pinentry-gtk2 # for xpass
-filezilla # work around lftp limitations
+# filezilla # work around lftp limitations
gnome-sound-recorder # easy test of sound recording
feh
@@ -183,3 +179,14 @@ pulseaudio
rtkit # realtime?
acpi-support # only for laptops, because it depends on X
+
+gitit # playing with this wiki engine
+
+# blender # too large
+
+gnome-terminal
+
+libsecp256k1-0 # for electrum
+
+vainfo # info about hardware acceleration
+
diff --git a/apt/devel_recent b/apt/devel_recent
@@ -1,3 +1,3 @@
-openjdk-9-doc
-openjdk-9-jdk
-libstdc++-5-doc
+# openjdk-9-doc
+# openjdk-9-jdk
+libstdc++-6-doc
diff --git a/apt/dict b/apt/dict
@@ -2,5 +2,5 @@
wamerican-insane
wdiff
wfrench
-aspell-fr
+# aspell-fr # not actually used
myspell-fr
diff --git a/apt/dvd_create b/apt/dvd_create
@@ -0,0 +1,3 @@
+# create video dvds
+devede
+dvd+rw-tools
diff --git a/apt/enum_spanner_rs b/apt/enum_spanner_rs
@@ -0,0 +1 @@
+cargo
diff --git a/apt/games b/apt/games
@@ -10,7 +10,7 @@ burgerspace
criticalmass
cultivation
excellent-bifurcation
-frozen-bubble
+# frozen-bubble
# garden-of-coloured-lights
# gnibbles
# gnome-sudoku
@@ -25,8 +25,6 @@ gunroar
jumpnbump
jumpnbump-levels
kobodeluxe
-openarena
-openarena-oacmp1
parsec47
passage
rrootage
@@ -54,3 +52,6 @@ mcomix # read manga
caca-utils
toilet # text in ascii art
+
+# too large: openarena
+# too large: openarena-oacmp1
diff --git a/apt/gollum b/apt/gollum
@@ -0,0 +1,2 @@
+ruby-gollum-lib
+ruby-dev
diff --git a/apt/headless b/apt/headless
@@ -6,7 +6,7 @@ debtree
epub-utils # lit2epub
optipng
gifsicle
-mercurial
+# mercurial
llgal
cmake
task-english
@@ -35,6 +35,7 @@ geographiclib-tools # bigworld
gnutls-bin # for ssl debugging
dovecot-sieve # to edit my filters
pelican # blog
+nodejs # addmathjax for blog
convmv # rename files with broken names
mediainfo # show meta-information of videos
colortest # test terminal colors
@@ -61,7 +62,7 @@ dvipng # convert from dvi to png
fig2dev # convert xfig files
libwmf-bin # convert WMF files
-emacs
+# emacs # large and not used
firejail
firejail-profiles
@@ -73,3 +74,9 @@ wavpack # some sound format
surfraw
surfraw-extra
+
+binwalk # find files in binary stream; lots of graphic dependencies
+
+toot # mastodon
+
+apparmor # security
diff --git a/apt/inf344 b/apt/inf344
@@ -0,0 +1,6 @@
+python3-unittest2
+python3-flask-cache
+python3-flaskext.multistatic
+python3-pandas
+python3-wtforms
+python3-ipdb
diff --git a/apt/inkscape b/apt/inkscape
@@ -1,6 +1,5 @@
libgc-dev
cmake-curses-gui
-bzr
libboost-dev
libglibmm-2.4-dev
libgsl-dev
diff --git a/apt/irctk b/apt/irctk
@@ -0,0 +1 @@
+libssl1.0-dev # to build libircclient
diff --git a/apt/libs b/apt/libs
@@ -4,3 +4,4 @@ libxml2-dev
libmidi-perl # for mid2csound.pl
libconfig-dev # for ngp
libncurses5-dev # for ngp
+libgit2-dev # for stagit
diff --git a/apt/mailhost b/apt/mailhost
@@ -0,0 +1,2 @@
+notmuch
+fetchmail
diff --git a/apt/minimal b/apt/minimal
@@ -7,6 +7,7 @@ rsync
sudo
vim
screen
+reptyr
socat
strace
@@ -134,7 +135,7 @@ console-common # seems to be useful for keymaps too
console-setup # seems to be useful for keymaps too
cron
-exim4 # local mail delivery for cron
+msmtp # local mail delivery for cron
isc-dhcp-client # dhclient
isc-dhcp-common # manpages
diff --git a/apt/misc b/apt/misc
@@ -52,3 +52,8 @@ firmware-linux-free
irqbalance
qemu-user-static # chroot into an ARM system
+
+pdf2svg
+
+mdf2iso
+psutils # manipulate PS documents
diff --git a/apt/printer b/apt/printer
@@ -0,0 +1,6 @@
+cups
+cups-client
+cups-filters
+tesseract-ocr
+tesseract-ocr-fra
+ocrmypdf
diff --git a/apt/python b/apt/python
@@ -20,10 +20,10 @@ python-debian
python-dev
python-flask
python-fuse
-python-matplotlib
+#python-matplotlib
python-pyglet
python-pyquery
-python-statsmodels
+# python-statsmodels
python-cvxopt
python-scipy
@@ -38,10 +38,6 @@ pyflakes
python3-pil # rasterald
python3-scipy # rasterald
-python-gtk2-dev # for xpra
-python-cups # to avoid spam from xpra
-python-gtkglext1 # recommends from xpra
-
python-virtualenv # dissemin
virtualenv
@@ -62,3 +58,19 @@ python3-pylint-common
python-rsvg # my old tetris project
python3-pymysql # drime
+
+python-nltk # i played with it at some point
+
+python3-icalendar # for git/dig_seminar
+
+python3-defusedxml # for git/minediff
+
+python3-termcolor # for git/enum-spanner
+python3-tqdm # for git/enum-spanner
+python3-graphviz # for git/enum-spanner
+
+python3-pytest # for plint
+
+python3-imageio # for image processing for misc/melodia
+
+pypy3
diff --git a/apt/servehttp b/apt/servehttp
@@ -1,4 +1,3 @@
lighttpd
libjs-mathjax
fonts-mathjax
-cgit
diff --git a/apt/server b/apt/server
@@ -27,7 +27,6 @@ dnsutils
ethtool
liburi-perl # for ~/bin/mail_summary
libmime-tools-perl # for ~/bin/mail_summary
-libssl-dev # to build libircclient
libtool # for libtoolize, for builds
archivemount
autoconf
@@ -62,7 +61,6 @@ apache2-utils # for htpasswd
pdftk
qpdf
-psutils # manipulate PS documents
manpages
@@ -70,6 +68,7 @@ tig
myrepos # update multiple repositories
git-svn
git-email
+git-crypt
lbdb
elinks # to view HTML in mutt
@@ -105,3 +104,6 @@ gsfonts-other
easy-rsa
hopenpgp-tools
tcplay # truecrypt alternative
+
+syncthing # used on the phone
+
diff --git a/apt/serveradicale b/apt/serveradicale
@@ -1,2 +1,3 @@
radicale
libapache2-mod-wsgi
+python-radicale
diff --git a/apt/steam b/apt/steam
@@ -1,6 +1,6 @@
# steam and other blobby games
-libcurl3:i386
+# libcurl3:i386 # now obsolete and incompatible with other packages
libegl1-mesa:i386
# looks obsolete: libtinfo:i386
libgl1-mesa-dri:i386
diff --git a/apt/wayland b/apt/wayland
@@ -1,20 +1,31 @@
+# == wlroots ==
+libavcodec-dev
+libavformat-dev
+libavutil-dev
+libcap-dev
+libdrm2
+libdrm-dev
+libegl1-mesa-dev
+libgbm-dev
+libgles2-mesa-dev
libinput-dev
-weston
+libpixman-1-dev
+libpng-dev
+libsystemd-dev
+libxcb-composite0-dev
+libxcb-icccm4-dev
+libxcb-xinput-dev
+libxkbcommon-dev
+meson
+wayland-protocols
xwayland
-libudev-dev
-libwayland-dev
-libx11-dev
-libxcomposite-dev
-libxdamage-dev
-libxfixes-dev
-libxext-dev
-libxrender-dev
-libxrandr-dev
-libxinerama-dev
-libpcre3-dev
-libconfig-dev
-libdrm-dev
-libgl1-mesa-dev
-libdbus-1-dev
-asciidoc
-libxcb-ewmh-dev
+
+# == sway ==
+libjson-c-dev
+libcairo2-dev
+libgdk-pixbuf2.0-dev
+libpam0g-dev
+libpango1.0-dev
+scdoc
+
+grim # screenshot
diff --git a/apt/wayland-old b/apt/wayland-old
@@ -0,0 +1,20 @@
+libinput-dev
+weston
+xwayland
+libudev-dev
+libwayland-dev
+libx11-dev
+libxcomposite-dev
+libxdamage-dev
+libxfixes-dev
+libxext-dev
+libxrender-dev
+libxrandr-dev
+libxinerama-dev
+libpcre3-dev
+libconfig-dev
+libdrm-dev
+libgl1-mesa-dev
+libdbus-1-dev
+asciidoc
+libxcb-ewmh-dev
diff --git a/apt/wine b/apt/wine
@@ -1,7 +1,5 @@
# wine and useful related packages
playonlinux
-wine
-wine64
wine32:i386
libasound2:i386
libasound2-plugins:i386
@@ -9,3 +7,5 @@ libc6-i386
libcurl3-gnutls:i386 # for don't starve
winetricks
wine-development
+wine64-development
+wine
diff --git a/cgit/cgitrc b/cgit/cgitrc
@@ -18,5 +18,4 @@ enable-index-owner=0
enable-git-config=1
scan-path=/home/a3_nm/git/
max-blob-size=1000
-footer=/home/a3_nm/cgit_footer
max-repodesc-length=1024
diff --git a/firefox/about_config b/firefox/about_config
@@ -0,0 +1,5 @@
+network.captive-portal-service.enabled false
+network.proxy.socks_remote_dns true
+pdfjs.disabled true
+media.autoplay.enabled false
+
diff --git a/gitconfig b/gitconfig
@@ -5,6 +5,7 @@
[user]
name = Antoine Amarilli
email = a3nm@a3nm.net
+ signingkey = 80D88B22D4330331
[status]
relativePaths = false
[alias]
diff --git a/i3/config b/i3/config
@@ -26,7 +26,8 @@ focus_follows_mouse yes
bindsym $mod+shift+Return exec "~/bin/urxvtcdfont"
bindsym $mod+Return exec "urxvtpwd ~/bin/urxvtcdfont"
-bindsym $mod+b exec "iceweasel2"
+bindsym $mod+b exec "~/bin/sandboxed-browser"
+bindsym $mod+Shift+b exec "/usr/bin/firefox"
bindsym $mod+o exec "urxvtcdfont -e ~/bin/my-mutt"
bindsym $mod+i exec "urxvtcdfont -e ~/bin_private/weechat"
bindsym $mod+Shift+t exec "scrot"
@@ -180,4 +181,4 @@ bindsym XF86MonBrightnessDown exec /usr/bin/xbacklight -dec 5
#TODO default split ratio 2/3
#TODO default veritcal split is stacked
-exec ~/bin/startup
+exec ~/bin/startup_i3
diff --git a/install.sh b/install.sh
@@ -6,6 +6,8 @@ command -v git >/dev/null 2>&1 || { echo "I require git but it's not installed.
touch ~/-@ # http://unix.stackexchange.com/a/77868
+mkdir -p ~/.config
+
mkdir -p ~/logs
mkdir -p ~/temp/{vim,mutt,lock}
mkdir -p ~/temp/vim/{temp,backup}
@@ -65,8 +67,11 @@ ln -s ~/config/gnupg/gpg-agent.conf ~/.gnupg/gpg-agent.conf
ln -s ~/config/gnupg/gpg.conf ~/.gnupg/gpg.conf
ln -s ~/config/i3/config ~/.i3/config
+ln -s ~/config/sway ~/.config/sway
+ln -s ~/config/mpv ~/.config/mpv
ln -s ~/config/latexmk ~/.latexmkrc
ln -s ~/config/abcde ~/.abcde.conf
+ln -s ~/config/reportbugrc ~/.reportbugrc
ln -s ~/config/xpdf ~/.xpdfrc
touch ~/.hushlogin
ln -s ~/config/i3/status ~/.i3status.conf
diff --git a/mailcap b/mailcap
@@ -8,7 +8,15 @@ image/*; /usr/bin/feh -.Z '%s'
# to ensure that external resources cannot get loaded
# TODO -no-remote allows only one instance at a time, but -P requires it...
text/html; ~/bin/mutt_bgrun /usr/bin/firefox -P mutt -no-remote %s; nametemplate=%s.html
+application/xhtml+xml; ~/bin/mutt_bgrun /usr/bin/firefox -P mutt -no-remote %s; nametemplate=%s.html
# dump with colors, remove useless whitespace
text/html; iconv -f %{charset} %s | elinks -dump %{charset} -dump -dump-color-mode 1 /dev/stdin 2>/dev/null | sed 's/ *$//' | sed 's/ //'; copiousoutput
+application/xhtml+xml; iconv -f %{charset} %s | elinks -dump %{charset} -dump -dump-color-mode 1 /dev/stdin 2>/dev/null | sed 's/ *$//' | sed 's/ //'; copiousoutput
+application/docx; libreoffice '%s'; test=test -n "$DISPLAY"
+application/doc; libreoffice '%s'; test=test -n "$DISPLAY"
+application/vnd.openxmlformats; libreoffice '%s'; test=test -n "$DISPLAY"
+application/x-mobi8-ebook; ebook-edit %s; test=test -n "$DISPLAY"
+application/epub+zip; fbreader %s; test=test -n "$DISPLAY"
+application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s; test=test -n "$DISPLAY"
diff --git a/manual b/manual
@@ -1,2 +0,0 @@
-verbiste
-notmuch
diff --git a/mimeapps.list b/mimeapps.list
@@ -1,3 +1,6 @@
-
[Default Applications]
-application/pdf=evince.desktop
+application/pdf=org.gnome.Evince.desktop
+
+[Added Associations]
+image/jpeg=eog.desktop;geeqie.desktop;
+video/mp4=vlc.desktop;
diff --git a/mpv/mpv.conf b/mpv/mpv.conf
@@ -0,0 +1,2 @@
+hwdec=auto
+gpu-context=wayland
diff --git a/mutt/fix_998 b/mutt/fix_998
@@ -1,6 +1,6 @@
# fix for https://github.com/neomutt/neomutt/issues/998
-set pgp_encrypt_only_command="/usr/lib/neomutt/pgpewrap gpg --batch --quiet --no-verbose --output - --textmode --armor --always-trust --encrypt -- --recipient %r -- %f"
+set pgp_encrypt_only_command="/usr/libexec/neomutt/pgpewrap gpg --batch --quiet --no-verbose --output - --textmode --armor --always-trust --encrypt -- --recipient %r -- %f"
-set pgp_encrypt_sign_command="/usr/lib/neomutt/pgpewrap gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - %?a?--local-user %a? --armor --always-trust --sign --encrypt -- --recipient %r -- %f"
+set pgp_encrypt_sign_command="/usr/libexec/neomutt/pgpewrap gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - %?a?--local-user %a? --armor --always-trust --sign --encrypt -- --recipient %r -- %f"
diff --git a/mutt/muttrc b/mutt/muttrc
@@ -70,7 +70,7 @@ bind index - collapse-thread
bind index _ collapse-all
# formats
-set index_format="%{%d/%m %H:%M}%Z %-15.15L %?M?<#%03M>&? %s"
+set index_format="%<[y?%<[m?%<[d?%[#%H:%M]&%[%a %d]>&%[%b %d]>&%[%Y%m]> %Z %-15.15L %?M?<#%03M>&? %s"
set pager_format="%4c -%Z- %C/%m: %-20.20n %s"
set status_format="%r%f %?l?%l? %?M?%M/?%m:%?n? N%n?%?o? O%o?%?d? D%d?%?F? !%F?%?t? *%t?%> %h (%s/%S%?V?-%V?) (%P)"
@@ -148,11 +148,6 @@ bind index,pager . sidebar-toggle-visible
macro index,pager , \
"<enter-command>set my_old_visible=\$sidebar_visible sidebar_visible<enter><sidebar-next><sidebar-open><enter-command>set sidebar_visible=\$my_old_visible<enter>"
-# notmuch
-
-bind index,pager \\ vfolder-from-query
-bind index,pager z entire-thread
-
# == Postponed mail ==
# save postponed mail in the inbox
@@ -178,6 +173,25 @@ folder-hook . push 'B=*'
auto_view text/html
# still, prefer text if available
alternative_order text/plain text/enriched text/html
+# press 'H' on a message to change this setting once and view the HTML part in priority
+macro index H \
+ "<enter-command>unalternative_order *<enter><display-message><enter-command>alternative_order text/plain text/enriched text/html<enter>"
+macro pager H \
+ "<exit>H"
# http://mutt-users.mutt.narkive.com/t0y58ITT/sort-mailbox-by-spam-tag-score-sorting-strangeness
spam "X-Spam-Status: (Yes|No), score=(-?[[:digit:]]+\.[[:digit:]]+)" "%2"
+
+folder-hook . push '*'
+
+# == notmuch ==
+bind index,pager z entire-thread
+macro index,pager \\ "<vfolder-from-query>"
+# dirty hack to ensure that vfolder-from-query is read-only
+# at the bottom of the file beacuse it has to be executed first
+folder-hook . "set read_only=no"
+folder-hook (^notmuch) "set read_only=yes"
+
+set abort_noattach = ask-yes
+set abort_noattach_regex = "^([^>].*)?\\<(attach(|ed|ments?)|(attaché|attachés|attache|attachons|joint|jointe|joints|jointes|joins|joignons))\\>"
+
diff --git a/prefs.js b/prefs.js
@@ -0,0 +1,87 @@
+user_pref("app.normandy.api_url", "");
+user_pref("app.normandy.enabled", false);
+user_pref("app.shield.optoutstudies.enabled", false);
+user_pref("app.update.auto", false);
+user_pref("app.update.enabled", false);
+user_pref("beacon.enabled", false);
+user_pref("breakpad.reportURL", "");
+user_pref("browser.crashReports.unsubmittedCheck.autoSubmit", false);
+user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
+user_pref("browser.crashReports.unsubmittedCheck.enabled", false);
+user_pref("browser.disableResetPrompt", true);
+user_pref("browser.fixup.alternate.enabled", false);
+user_pref("browser.newtab.preload", false);
+user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
+user_pref("browser.newtabpage.enabled", false);
+user_pref("browser.newtabpage.enhanced", false);
+user_pref("browser.newtabpage.introShown", true);
+user_pref("browser.safebrowsing.appRepURL", "");
+user_pref("browser.safebrowsing.blockedURIs.enabled", false);
+user_pref("browser.safebrowsing.downloads.enabled", false);
+user_pref("browser.safebrowsing.downloads.remote.enabled", false);
+user_pref("browser.safebrowsing.downloads.remote.url", "");
+user_pref("browser.safebrowsing.enabled", false);
+user_pref("browser.safebrowsing.malware.enabled", false);
+user_pref("browser.safebrowsing.phishing.enabled", false);
+user_pref("browser.search.suggest.enabled", false);
+user_pref("browser.selfsupport.url", "");
+user_pref("browser.send_pings", false);
+user_pref("browser.shell.checkDefaultBrowser", false);
+user_pref("browser.startup.homepage_override.mstone", "ignore");
+user_pref("browser.tabs.crashReporting.sendReport", false);
+user_pref("browser.urlbar.speculativeConnect.enabled", false);
+user_pref("browser.urlbar.trimURLs", false);
+user_pref("datareporting.healthreport.service.enabled", false);
+user_pref("datareporting.healthreport.uploadEnabled", false);
+user_pref("datareporting.policy.dataSubmissionEnabled", false);
+user_pref("dom.battery.enabled", false);
+user_pref("dom.event.clipboardevents.enabled", false);
+user_pref("dom.indexedDB.enabled", false);
+user_pref("experiments.activeExperiment", false);
+user_pref("experiments.enabled", false);
+user_pref("experiments.manifest.uri", "");
+user_pref("experiments.supported", false);
+user_pref("extensions.CanvasBlocker@kkapsner.de.whiteList", "");
+user_pref("extensions.getAddons.cache.enabled", false);
+user_pref("extensions.getAddons.showPane", false);
+user_pref("extensions.greasemonkey.stats.optedin", false);
+user_pref("extensions.greasemonkey.stats.url", "");
+user_pref("extensions.pocket.enabled", false);
+user_pref("extensions.shield-recipe-client.api_url", "");
+user_pref("extensions.shield-recipe-client.enabled", false);
+user_pref("extensions.webservice.discoverURL", "");
+user_pref("general.warnOnAboutConfig", false);
+user_pref("keyword.enabled", false);
+user_pref("media.autoplay.enabled", false);
+user_pref("media.navigator.enabled", false);
+user_pref("media.peerconnection.enabled", false);
+user_pref("media.video_stats.enabled", false);
+user_pref("network.IDN_show_punycode", true);
+user_pref("network.allow-experiments", false);
+user_pref("network.captive-portal-service.enabled", false);
+user_pref("network.dns.disablePrefetch", true);
+user_pref("network.http.referer.spoofSource", true);
+user_pref("network.http.speculative-parallel-limit", "0");
+user_pref("network.prefetch-next", false);
+user_pref("network.trr.mode", 5);
+user_pref("privacy.donottrackheader.enabled", true);
+user_pref("privacy.donottrackheader.value", 1);
+user_pref("privacy.resistFingerprinting", true);
+user_pref("privacy.trackingprotection.enabled", true);
+user_pref("privacy.trackingprotection.pbmode.enabled", true);
+user_pref("signon.autofillForms", false);
+user_pref("toolkit.telemetry.archive.enabled", false);
+user_pref("toolkit.telemetry.bhrPing.enabled", false);
+user_pref("toolkit.telemetry.cachedClientID", "");
+user_pref("toolkit.telemetry.enabled", false);
+user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
+user_pref("toolkit.telemetry.hybridContent.enabled", false);
+user_pref("toolkit.telemetry.newProfilePing.enabled", false);
+user_pref("toolkit.telemetry.prompted", 2);
+user_pref("toolkit.telemetry.rejected", true);
+user_pref("toolkit.telemetry.server", "");
+user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
+user_pref("toolkit.telemetry.unified", false);
+user_pref("toolkit.telemetry.unifiedIsOptIn", false);
+user_pref("toolkit.telemetry.updatePing.enabled", false);
+user_pref("webgl.disabled", true);
diff --git a/reportbugrc b/reportbugrc
@@ -0,0 +1,19 @@
+# reportbug preferences file
+# character encoding: UTF-8
+# Version of reportbug this preferences file was written by
+reportbug_version "6.6.0"
+# default operating mode: one of: novice, standard, advanced, expert
+mode standard
+# default user interface
+ui text
+# offline setting - comment out to be online
+#offline
+# name and email setting (if non-default)
+# realname "Antoine Amarilli"
+email "a3nm@a3nm.net"
+# Disable fallback mode by commenting out the following:
+no-cc
+header "X-Debbugs-CC: a3nm@a3nm.net"
+smtphost reportbug.debian.org
+# You can add other settings after this line. See
+# /etc/reportbug.conf for a full listing of options.
diff --git a/sway/config b/sway/config
@@ -0,0 +1,192 @@
+# This file has been auto-generated by i3-config-wizard(1).
+# It will not be overwritten, so edit it as you like.
+#
+# Should you change your keyboard layout somewhen, delete
+# this file and re-run i3-config-wizard(1).
+#
+
+# i3 config file (v4)
+#
+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+
+# exec compton -CGb
+
+set $mod Mod4
+
+# font for window titles. ISO 10646 = Unicode
+#font -*-Terminus*-*-*-*-*-*-*-*-*-*-*-*
+font Terminus 10
+#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+
+client.background #000000
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+focus_follows_mouse yes
+
+#bindsym $mod+shift+Return exec "~/bin/urxvtcdfont"
+bindsym $mod+Return exec gnome-terminal
+#bindsym $mod+Return exec "urxvtpwd ~/bin/urxvtcdfont"
+bindsym $mod+b exec "~/bin/sandboxed-browser"
+bindsym $mod+o exec "gnome-terminal -e ~/bin/my-mutt"
+bindsym $mod+i exec "gnome-terminal -e ~/bin_private/weechat"
+bindsym $mod+Shift+t exec "~/bin/screenshot_sway"
+bindsym $mod+Shift+s exec ~/bin/xpass
+bindsym $mod+Shift+y exec ~/bin/my-rofi -show ssh
+bindsym $mod+Shift+f exec ~/bin/xpapers
+bindsym $mod+y [urgent=latest] focus
+
+bindsym $mod+Shift+a move container to workspace back_and_forth; workspace back_and_forth
+
+workspace_auto_back_and_forth yes
+
+# kill focused window
+bindsym $mod+Shift+c kill
+bindsym $mod+q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+e exec ~/bin/my-rofi -show run
+bindsym $mod+shift+e exec ~/bin/my-rofi -show window
+bindsym $mod+Shift+w exec "wen=`~/bin/my-rofi -dmenu` && exec ~/bin/wwen $wen"
+bindsym $mod+m exec "gnome-terminal -e ~/bin/msr"
+bindsym $mod+Shift+m exec "music=`~/bin/my-rofi -dmenu` && exec ~/bin/ytmusic $music"
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# move focused window
+bindsym $mod+Shift+H move left
+bindsym $mod+Shift+J move down
+bindsym $mod+Shift+K move up
+bindsym $mod+Shift+L move right
+
+# split in horizontal orientation
+bindsym $mod+w split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen
+
+# change container layout (stacked, tabbed, default)
+bindsym $mod+s layout stacking
+bindsym $mod+t layout tabbed
+bindsym $mod+d layout default
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+bindsym $mod+Tab exec todo
+
+# focus the parent container
+bindsym $mod+u focus parent
+
+bindsym $mod+a workspace back_and_forth
+# assuming that there are at most two outputs
+# bindsym $mod+Shift+a move workspace to output right
+
+# focus the child container
+#bindcode $mod+d fo****cus child
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+bindsym $mod+p workspace prev
+bindsym $mod+n workspace next
+bindsym $mod+Shift+p move container to output left
+bindsym $mod+Shift+n move container to output right
+
+
+# reload the configuration file
+bindsym $mod+Shift+D reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+R restart
+# exit i3 (logs you out of your X session)
+bindsym $mod+Shift+greater exit
+
+bindsym $mod+x exec ~/bin/afk_sway
+bindsym $mod+Shift+x exec ~/bin/dodo_sway
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 10 px or 10 ppt
+ bindsym j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l resize grow width 10 px or 10 ppt
+ bindsym Shift+h resize shrink width 1 px or 1 ppt
+ bindsym Shift+j resize grow height 1 px or 1 ppt
+ bindsym Shift+k resize shrink height 1 px or 1 ppt
+ bindsym Shift+l resize grow width 1 px or 1 ppt
+
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+workspace_layout stacking
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+ status_command i3status
+ mode hide
+ position bottom
+ #font -*-Terminus*-*-*-*-*-*-*-*-*-*-*-*
+ font Terminus
+}
+
+input * {
+ repeat_delay 250
+ repeat_rate 50
+ xkb_layout a3nm
+}
+
+bindsym XF86AudioLowerVolume exec pavol '-5%'
+bindsym XF86AudioRaiseVolume exec pavol '+5%'
+bindsym XF86AudioMute exec /usr/bin/pactl set-sink-volume 0 0
+bindsym XF86MonBrightnessUp exec /usr/bin/xbacklight -inc 10
+bindsym XF86MonBrightnessDown exec /usr/bin/xbacklight -dec 5
+
+#TODO default split ratio 2/3
+#TODO default veritcal split is stacked
+
+exec ~/bin/startup
diff --git a/sway/status b/sway/status
@@ -0,0 +1,65 @@
+general {
+ colors = true
+ interval = 1
+ color_separator = "#00FF00"
+}
+
+order += "ipv6"
+order += "disk /"
+order += "run_watch DHCP"
+order += "wireless wlan0"
+order += "ethernet eth0"
+order += "battery 0"
+order += "cpu_temperature 0"
+order += "load"
+order += "time"
+
+wireless wlan0 {
+ format_up = "W: (%quality at %essid) %ip"
+ format_down = "W: down"
+}
+
+ethernet eth0 {
+ # if you use %speed, i3status requires root privileges
+ format_up = "E: %ip (%speed)"
+ format_down = "E: down"
+}
+
+battery 0 {
+ format = "%status %percentage %remaining"
+ hide_seconds = true
+ integer_battery_capacity = true
+ last_full_capacity = true
+ low_threshold = 10
+}
+
+run_watch DHCP {
+ pidfile = "/var/run/dhclient*.pid"
+}
+
+run_watch VPN {
+ pidfile = "/var/run/vpnc/pid"
+}
+
+time {
+ format = "%Y-%m-%d %H:%M:%S"
+}
+
+load {
+ format = "%1min"
+}
+
+cpu_temperature 0 {
+ format = "T: %degrees °C"
+}
+
+disk "/" {
+ format = "%free on /"
+}
+
+volume master {
+ format = "vol %volume "
+ device = "default"
+ mixer = "Master"
+ mixer_idx = 0
+}
diff --git a/vim/spell.vim b/vim/spell.vim
@@ -0,0 +1,23 @@
+fun! SpellNext()
+ " from https://vi.stackexchange.com/a/17267/
+ " Go to start of buffer and enable spell checking.
+ normal! gg
+ set spell
+
+ " Record cursor position.
+ let l:pos = getpos('.')
+
+ " Special case: first word is misspelled.
+ if spellbadword()[1] isnot# ''
+ return
+ endif
+
+ " Try to find a misspelled word.
+ normal! ]s
+
+ " No more words left if the position is unchanged from last
+ " time, so quit Vim.
+ if getpos('.') == l:pos
+ quit
+ endif
+endfun
diff --git a/weechat b/weechat
@@ -1,25 +0,0 @@
-/mouse disable
-meta-o => /set weechat.look.align_end_of_lines time
-meta-e => /set weechat.look.align_end_of_lines message
-meta-w => /bar toggle nicklist
-meta-r => /bar toggle buffers
-meta-g => /go
-
-/set weechat.bar.buffers.size_max 15
-/script install buffers.py
-/script install go.py
-/set weechat.look.eat_newline_glitch left
-/set weechat.look.prefix_align_max 8
-/set weechat.bar.nicklist.size_max 8
-
-/plugin load /usr/lib/weechat/plugins/perl.so
-
-/key bind ctrl-N /input history_global_next
-/key bind ctrl-P /input history_global_previous
-
-/key bind ctrl-J /window page_down
-/key bind ctrl-K /window page_up
-
-TODO:
-use meta-n meta-p meta-u
-
diff --git a/weechat/.empty b/weechat/.empty
diff --git a/weechat_2 b/weechat_2
@@ -0,0 +1,25 @@
+/mouse disable
+meta-o => /set weechat.look.align_end_of_lines time
+meta-e => /set weechat.look.align_end_of_lines message
+meta-w => /bar toggle nicklist
+meta-r => /bar toggle buffers
+meta-g => /go
+
+/set weechat.bar.buffers.size_max 15
+/script install buffers.py
+/script install go.py
+/set weechat.look.eat_newline_glitch left
+/set weechat.look.prefix_align_max 8
+/set weechat.bar.nicklist.size_max 8
+
+/plugin load /usr/lib/weechat/plugins/perl.so
+
+/key bind ctrl-N /input history_global_next
+/key bind ctrl-P /input history_global_previous
+
+/key bind ctrl-J /window page_down
+/key bind ctrl-K /window page_up
+
+TODO:
+use meta-n meta-p meta-u
+
diff --git a/xinitrc b/xinitrc
@@ -7,5 +7,6 @@
~/bin/layout
eval $(gpg-agent --daemon)
-exec ck-launch-session dbus-launch --exit-with-session i3
+#exec ck-launch-session dbus-launch --exit-with-session i3
+exec dbus-launch --exit-with-session i3
diff --git a/xkb/README b/xkb/README
@@ -0,0 +1,10 @@
+This folder gets symlinked as ~/.xkb.
+
+To load under Xorg:
+
+- xkbcomp -I$HOME/config/xkb ~/config/xkb/map $DISPLAY
+
+To load with wayland and sway:
+
+- XKB_DEFAULT_LAYOUT=a3nm sway
+
diff --git a/xkb/symbols/a3nm b/xkb/symbols/a3nm
@@ -0,0 +1,7 @@
+// based on a keyboard map from an 'xkb/symbols/dk' file
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc+us(dvorak)+inet(evdev)+accents(accents)+compose(caps)+altgr(altgr)+space(space)"
+};
+
diff --git a/xkb/symbols/accents b/xkb/symbols/accents
@@ -1,18 +1,18 @@
partial alphanumeric_keys
xkb_symbols "accents" {
- key <AC02> { [ o, O, ocircumflex, Ocircumflex ] };
- key <AC03> { [ e, E, eacute, Eacute ] };
- key <AB01> { [ semicolon, colon, agrave, Agrave ] };
- key <AB03> { [ j, J, egrave, Egrave ] };
- key <AD01> { [ apostrophe, quotedbl, acircumflex, Acircumflex ] };
- key <AD02> { [ comma, less, dead_cedilla ] };
- key <AD03> { [ period, greater, ecircumflex, Ecircumflex ] };
- key <AD04> { [ p, P, ucircumflex, Ucircumflex ] };
- key <AC04> { [ u, U, ugrave, Ugrave ] };
- key <AC05> { [ i, I, icircumflex, Icircumflex ] };
- key <AC07> { [ h, H, dead_acute ] };
- key <AC08> { [ t, T, dead_circumflex ] };
- key <AC09> { [ n, N, dead_grave ] };
- key <AC10> { [ s, S, dead_diaeresis ] };
- key <AD08> { [ c, C, ccedilla, Ccedilla ] };
+ replace key <AC02> { [ o, O, ocircumflex, Ocircumflex ] };
+ replace key <AC03> { [ e, E, eacute, Eacute ] };
+ replace key <AB01> { [ semicolon, colon, agrave, Agrave ] };
+ replace key <AB03> { [ j, J, egrave, Egrave ] };
+ replace key <AD01> { [ apostrophe, quotedbl, acircumflex, Acircumflex ] };
+ replace key <AD02> { [ comma, less, dead_cedilla ] };
+ replace key <AD03> { [ period, greater, ecircumflex, Ecircumflex ] };
+ replace key <AD04> { [ p, P, ucircumflex, Ucircumflex ] };
+ replace key <AC04> { [ u, U, ugrave, Ugrave ] };
+ replace key <AC05> { [ i, I, icircumflex, Icircumflex ] };
+ replace key <AC07> { [ h, H, dead_acute ] };
+ replace key <AC08> { [ t, T, dead_circumflex ] };
+ replace key <AC09> { [ n, N, dead_grave ] };
+ replace key <AC10> { [ s, S, dead_diaeresis ] };
+ replace key <AD08> { [ c, C, ccedilla, Ccedilla ] };
};
diff --git a/zsh/path b/zsh/path
@@ -8,3 +8,6 @@ MANPATH=~/local/share/man:$MANPATH
export MANPATH
INFOPATH=~/local/share/info:$INFOPATH
export INFOPATH
+
+export PATH="$HOME/.cargo/bin:$PATH"
+