├── bin ├── dmenu ├── qrclip.sh ├── gopher.sh ├── start-g2ra.sh ├── journal.sh ├── 64clip.sh ├── ffprofile.sh ├── msmtp-listqueue.sh ├── lockscr.sh ├── zoom.bash ├── rofi ├── run-python.sh ├── remind-bujo.bash ├── ydl-parallel.sh ├── git-discard ├── lilserver.py ├── mp42gif.sh ├── rclone-backup.sh ├── i3-workspace-finder.bash ├── launch-qutebrowser.bash ├── dconf-dump.sh ├── i3-move-to-workspace.bash ├── pdfs.bash ├── load-screen-layout.bash ├── unswap ├── passmenu.sh ├── inirefmt.py ├── mailcap2xdg.rb ├── batmon.bash ├── nnml2mbox.py ├── splitmbox.py ├── maildir2mbox.py ├── cronic ├── pdfdeannot.bash ├── metabackup.bash ├── msmtp-enqueue.sh └── borg-backup.bash ├── emacs.d ├── lisp ├── invasion ├── extras │ ├── el.m4 │ ├── batch-mail.el.in │ ├── mailto.el.in │ ├── genswankcore.lisp │ ├── Makefile │ └── eless.sh ├── environment.sh ├── etc │ ├── snippets │ │ ├── org-mode │ │ │ ├── lzero.snippet │ │ │ ├── lbar.snippet │ │ │ ├── ldir.snippet │ │ │ ├── lroof.snippet │ │ │ ├── sum.snippet │ │ │ ├── fraction.snippet │ │ │ ├── py.snippet │ │ │ ├── equation.snippet │ │ │ ├── rplot.snippet │ │ │ ├── ling-tree-branch-length.snippet │ │ │ ├── pyfig.snippet │ │ │ ├── ling-feature-matrix.snippet │ │ │ ├── ling-tree.snippet │ │ │ └── asmt.snippet │ │ └── dart-mode │ │ │ └── sw.snippet │ ├── load-test.el │ ├── mc-lists.el │ └── latest-good-build ├── bin │ ├── elisp-byte-compile.sh │ ├── elisp-lint.sh │ ├── gk-open-project.bash │ ├── emacs-maybe-client.bash │ ├── emacs-browse-url.bash │ └── emacs-load-test.bash ├── ext │ ├── gk-module.h │ ├── Makefile │ ├── gk-example.c │ └── gk-module.c ├── patches │ ├── vc-default-dir-extra-headers.patch │ └── turkish-language-environment-alist.patch ├── gk │ └── gk-ad.el └── Makefile ├── dotfiles ├── fcitx │ ├── data │ │ └── layout_override │ └── conf │ │ ├── fcitx-notify.config │ │ ├── fcitx-unicode.config │ │ ├── fcitx-xim.config │ │ ├── fcitx-table.config │ │ ├── fcitx-spell.config │ │ ├── fcitx-chttrans.config │ │ ├── fcitx-xkb.config │ │ ├── fcitx-autoeng.config │ │ ├── fcitx-quickphrase.config │ │ ├── fcitx-clipboard.config │ │ ├── fcitx-keyboard.config │ │ ├── fcitx-classic-ui.config │ │ ├── fcitx-pinyin-enhance.config │ │ └── fcitx-imselector.config ├── qutebrowser │ ├── quickmarks │ ├── bookmarks │ │ └── urls │ ├── userscripts │ │ └── bibtex │ └── commands.py ├── cvsrc ├── latexmk │ └── latexmkrc ├── pycodestyle ├── tmux.conf ├── mpv │ └── mpv.conf ├── pip │ └── pip.conf ├── signature ├── gdbinit ├── git │ └── attributes ├── pryrc.rb ├── mairixrc.in ├── screenlayout │ ├── sappho-undocked.sh │ ├── sappho-docked-only-external.sh │ ├── sappho-docked-only-external-vertical.sh │ ├── sappho-docked-both.sh │ └── sappho-docked-both-vertical.sh ├── mailcap ├── inputrc ├── python-init.py ├── Xdefaults ├── thunar │ └── uca.xml ├── irbrc.rb ├── mpoprc.in ├── msmtprc.in ├── clipit │ └── clipitrc ├── kitty │ ├── kitty.conf │ ├── colours_gruvbox_dark.conf │ ├── colours_c64.conf │ ├── colours_borland.conf │ ├── colours_belafonte_day.conf │ ├── colours_tomorrow_light.conf │ ├── colours_unikitty_light.conf │ └── colours_atelier_cave_light.conf ├── procmailrc ├── hgrc.ini ├── gtk-3.0 │ └── bookmarks.in ├── Makefile ├── vim │ └── autoload │ │ └── gruvbox.vim └── i3status │ └── config ├── systems ├── diotima │ ├── install.linguistics │ ├── install.not-found │ ├── build-dep │ ├── invasion │ ├── cinnamon │ │ ├── backgrounds │ │ │ └── user-folders.lst │ │ └── configs │ │ │ ├── scale@cinnamon.org │ │ │ └── 19.json │ │ │ ├── expo@cinnamon.org │ │ │ └── 17.json │ │ │ ├── network@cinnamon.org │ │ │ └── network@cinnamon.org.json │ │ │ ├── printers@cinnamon.org │ │ │ └── 6.json │ │ │ ├── power@cinnamon.org │ │ │ └── power@cinnamon.org.json │ │ │ └── workspace-switcher@cinnamon.org │ │ │ └── 13.json │ ├── Readme.markdown │ ├── install.maybe │ ├── desktop-setup.bash │ ├── install.desktop │ ├── install.libraries │ └── cinnamon-monitors.xml ├── sappho │ ├── invasion │ ├── battery-graph-2022-01-11.png │ ├── Readme.markdown │ ├── profile.d-template.sh │ ├── tex.bash │ ├── not-found.txt │ ├── online-backup.sh │ ├── udev.rules │ └── full-backup.dirs ├── xanthippe │ └── etc │ │ ├── sane.d │ │ └── saned.conf │ │ ├── network │ │ └── interfaces.d │ │ │ └── 00-dns-nameservers │ │ ├── hosts │ │ ├── default │ │ └── saned │ │ └── nginx │ │ ├── nginx.conf │ │ └── sites-enabled │ │ └── default.site ├── Readme.markdown └── common │ └── flatpak.sh ├── lib ├── lisp │ └── emacs │ │ ├── pdf-tools │ │ ├── server │ │ │ ├── test │ │ │ │ ├── .gitignore │ │ │ │ └── docker │ │ │ │ │ ├── templates │ │ │ │ │ ├── freebsd.Dockerfile.in.FAILING │ │ │ │ │ ├── macos.Dockerfile.in.FAILING │ │ │ │ │ ├── msys2.Dockerfile.in.FAILING │ │ │ │ │ ├── nixos.Dockerfile.in.FAILING │ │ │ │ │ ├── openbsd.Dockerfile.in.FAILING │ │ │ │ │ ├── void.Dockerfile.in.FAILING │ │ │ │ │ ├── opensuse.Dockerfile.in.FAILING │ │ │ │ │ ├── Dockerfile.common.in │ │ │ │ │ ├── fedora-34.Dockerfile.in │ │ │ │ │ ├── fedora-35.Dockerfile.in │ │ │ │ │ ├── fedora-36.Dockerfile.in │ │ │ │ │ ├── arch.Dockerfile.in.FAILING │ │ │ │ │ ├── emacs-26.Dockerfile.in │ │ │ │ │ ├── emacs-27.Dockerfile.in │ │ │ │ │ ├── emacs-28.Dockerfile.in │ │ │ │ │ ├── emacs-29.Dockerfile.in │ │ │ │ │ ├── ubuntu-18.Dockerfile.in │ │ │ │ │ ├── ubuntu-20.Dockerfile.in │ │ │ │ │ ├── ubuntu-22.Dockerfile.in │ │ │ │ │ ├── debian-10.Dockerfile.in │ │ │ │ │ ├── debian-9.Dockerfile.in │ │ │ │ │ ├── debian-11.Dockerfile.in │ │ │ │ │ ├── centos.Dockerfile.in.FAILING │ │ │ │ │ └── gentoo.Dockerfile.in.FAILING │ │ │ │ │ ├── .gitignore │ │ │ │ │ └── lib │ │ │ │ │ ├── yes-or-enter │ │ │ │ │ └── run-tests │ │ │ ├── synctex_parser_version.txt │ │ │ ├── autogen.sh │ │ │ ├── synctex_parser_local.h │ │ │ ├── .gitignore │ │ │ └── poppler-versions │ │ ├── .gitignore │ │ └── Cask │ │ ├── biblio │ │ ├── .gitignore │ │ ├── biblio-pkg.el │ │ └── .travis.yml │ │ ├── bbdb │ │ └── bbdb-pkg.el │ │ ├── docs │ │ ├── evil.info │ │ ├── onlisp.info │ │ ├── onlisp.texi │ │ ├── tex-ref.pdf │ │ ├── onlisp.info-1 │ │ ├── onlisp.info-2 │ │ ├── onlisp.info-3 │ │ ├── Makefile │ │ └── dir │ │ ├── ess │ │ └── etc │ │ │ ├── ESSR.rds │ │ │ ├── icons │ │ │ ├── splus_letters_large.png │ │ │ ├── rline.xpm │ │ │ ├── rbuffer.xpm │ │ │ ├── rregion.xpm │ │ │ ├── switchs.xpm │ │ │ ├── spluslogo.xpm │ │ │ ├── switch_ess.xpm │ │ │ ├── spluslogo.xpm.safe │ │ │ └── rfunction.xpm │ │ │ └── ESSR │ │ │ ├── BUILDESSR │ │ │ ├── R │ │ │ ├── pkg.R │ │ │ └── mpi.R │ │ │ └── LOADREMOTE │ │ ├── auctex │ │ ├── auctex │ │ │ ├── style │ │ │ │ ├── .nosearch │ │ │ │ ├── fontaxes.el │ │ │ │ ├── dk.el │ │ │ │ ├── j-book.el │ │ │ │ ├── dutch.el │ │ │ │ ├── j-report.el │ │ │ │ ├── j-article.el │ │ │ │ ├── czech.el │ │ │ │ ├── amsart.el │ │ │ │ ├── amsbook.el │ │ │ │ ├── english.el │ │ │ │ ├── amstext.el │ │ │ │ ├── amsbsy.el │ │ │ │ ├── swedish.el │ │ │ │ ├── graphics.el │ │ │ │ ├── slovak.el │ │ │ │ ├── danish.el │ │ │ │ ├── book.el │ │ │ │ ├── scrartcl.el │ │ │ │ ├── article.el │ │ │ │ ├── report.el │ │ │ │ ├── jbook.el │ │ │ │ ├── jarticle.el │ │ │ │ ├── jreport.el │ │ │ │ ├── plhb.el │ │ │ │ ├── plfonts.el │ │ │ │ ├── jsarticle.el │ │ │ │ ├── beamerswitch.el │ │ │ │ └── beamerarticle.el │ │ │ └── images │ │ │ │ ├── sep.xpm │ │ │ │ ├── dropdown.xpm │ │ │ │ ├── prvtex12.xpm │ │ │ │ ├── prvwrk12.xpm │ │ │ │ ├── prverr16.xpm │ │ │ │ ├── prvwrk14.xpm │ │ │ │ ├── prvwrk16.xpm │ │ │ │ ├── prvtex16.xpm │ │ │ │ ├── prverr20.xpm │ │ │ │ ├── view.xpm │ │ │ │ ├── prvwrk20.xpm │ │ │ │ ├── prvtex20.xpm │ │ │ │ ├── error.xpm │ │ │ │ ├── prvtex24.xpm │ │ │ │ ├── prverr24.xpm │ │ │ │ ├── execviewpdf.xpm │ │ │ │ ├── execviewps.xpm │ │ │ │ ├── prvwrk24.xpm │ │ │ │ ├── execviewdvi.xpm │ │ │ │ └── ltx-symb-turn-on.xpm │ │ └── texmf │ │ │ ├── doc │ │ │ └── latex │ │ │ │ └── styles │ │ │ │ └── preview.pdf │ │ │ └── tex │ │ │ └── latex │ │ │ └── preview │ │ │ ├── prfootnotes.def │ │ │ ├── prtracingall.def │ │ │ ├── prshowbox.def │ │ │ └── prlyx.def │ │ ├── ebib │ │ ├── images │ │ │ ├── Main-view.png │ │ │ ├── Search-view.png │ │ │ ├── tn-Main-view.png │ │ │ ├── Strings-buffer.png │ │ │ ├── tn-Search-view.png │ │ │ └── tn-Strings-buffer.png │ │ └── README.md │ │ ├── elfeed │ │ └── elfeed-pkg.el │ │ ├── multiple-cursors │ │ ├── multiple-cursors-pkg.el │ │ └── mc-mark-pop.el │ │ ├── zotxt │ │ ├── zotxt-pkg.el │ │ └── test │ │ │ └── test-helper.el │ │ ├── skewer-mode │ │ ├── example.html │ │ ├── skewer-mode-pkg.el │ │ └── skewer-setup.el │ │ ├── haskell │ │ └── haskell-mode-pkg.el │ │ ├── magit │ │ └── magit-pkg.el │ │ ├── Readme.org │ │ └── misc │ │ └── multi-forecast.el ├── i3time.sh ├── lua │ ├── README.lunajson.markdown │ ├── lunajson.lua │ └── LICENCE.lunajson.txt ├── hw │ ├── keyboard.bash │ ├── tpx230.bash │ └── logitech_trackman.bash ├── wine.sh ├── install-configs.bash ├── git-aliases.sh ├── zotero │ └── prefs.js ├── profile │ ├── guix.sh │ ├── loctz.sh │ └── env.sh ├── pop.sh ├── guix │ └── guix-gdbinit ├── setup.sh ├── android.sh ├── debian-virtualbox.sh ├── kvm.sh ├── fns.sh ├── ungoogled-chromium.sh ├── log-notifications.sh ├── firefox │ ├── install.bash │ └── userChrome.css ├── emacs-build-dependencies.bash ├── cron.sh ├── batlog.sh ├── rc.zsh └── fns2.sh ├── img ├── scr-umay.png ├── scr-itugen.png ├── scr-kamaji.png ├── scr-kayra.png ├── scr-mergen.png ├── scr-midori.png ├── scr-sappho.png ├── scr-susulu.png ├── scr-ulgen.png └── scr-diotima.png ├── share ├── icons │ └── hicolor │ │ ├── 128x128 │ │ └── apps │ │ │ └── emacs.png │ │ └── 512x512 │ │ └── apps │ │ └── bogie.png └── applications │ ├── emacsclient.desktop │ ├── emacsclient-org-protocol.desktop │ ├── bogie.desktop │ ├── tropy.desktop │ ├── zotero.desktop │ ├── emacsclient-url.desktop │ ├── qute.desktop │ └── emacs.desktop ├── cpanfile ├── config.m4.template ├── LICENCE ├── Gemfile ├── .gitattributes ├── cron ├── sappho.crontab └── diotima.crontab ├── packages.R └── doc └── Qutebrowser.markdown /bin/dmenu: -------------------------------------------------------------------------------- 1 | /usr/bin/rofi -------------------------------------------------------------------------------- /emacs.d/lisp: -------------------------------------------------------------------------------- 1 | ../lib/lisp/emacs -------------------------------------------------------------------------------- /dotfiles/fcitx/data/layout_override: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /systems/diotima/install.linguistics: -------------------------------------------------------------------------------- 1 | praat 2 | psychopy 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/.gitignore: -------------------------------------------------------------------------------- 1 | .start-vm 2 | -------------------------------------------------------------------------------- /systems/diotima/install.not-found: -------------------------------------------------------------------------------- 1 | # unrar 2 | # libjs-pdf 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/.gitignore: -------------------------------------------------------------------------------- 1 | *.elc 2 | .dir-locals.el 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/synctex_parser_version.txt: -------------------------------------------------------------------------------- 1 | 1.21 2 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-notify.config: -------------------------------------------------------------------------------- 1 | [Notify/Notify] 2 | HiddenNotify= 3 | -------------------------------------------------------------------------------- /dotfiles/qutebrowser/quickmarks: -------------------------------------------------------------------------------- 1 | /home/cadadr/Documents/qutebrowser.quickmarks -------------------------------------------------------------------------------- /dotfiles/cvsrc: -------------------------------------------------------------------------------- 1 | # CVS configuration. 2 | 3 | diff -uNp 4 | update -P 5 | checkout -P -------------------------------------------------------------------------------- /dotfiles/qutebrowser/bookmarks/urls: -------------------------------------------------------------------------------- 1 | /home/cadadr/Documents/qutebrowser.bookmarks -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/freebsd.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/macos.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/msys2.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/nixos.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/openbsd.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/void.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /emacs.d/invasion: -------------------------------------------------------------------------------- 1 | .emacs.d . 2 | .config/profile.d/emacs.sh environment.sh 3 | -------------------------------------------------------------------------------- /img/scr-umay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-umay.png -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/opensuse.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/scr-itugen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-itugen.png -------------------------------------------------------------------------------- /img/scr-kamaji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-kamaji.png -------------------------------------------------------------------------------- /img/scr-kayra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-kayra.png -------------------------------------------------------------------------------- /img/scr-mergen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-mergen.png -------------------------------------------------------------------------------- /img/scr-midori.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-midori.png -------------------------------------------------------------------------------- /img/scr-sappho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-sappho.png -------------------------------------------------------------------------------- /img/scr-susulu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-susulu.png -------------------------------------------------------------------------------- /img/scr-ulgen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-ulgen.png -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-unicode.config: -------------------------------------------------------------------------------- 1 | [Unicode] 2 | # Key 3 | #Key=CTRL_ALT_SHIFT_U 4 | 5 | -------------------------------------------------------------------------------- /img/scr-diotima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/img/scr-diotima.png -------------------------------------------------------------------------------- /lib/i3time.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | while sleep 1; do 4 | date +'📅 %F %a ⌚ %H:%M ' 5 | done 6 | -------------------------------------------------------------------------------- /systems/diotima/build-dep: -------------------------------------------------------------------------------- 1 | emacs-gtk 2 | elpa-pdf-tools 3 | qutebrowser 4 | libgccjit-9-dev 5 | -------------------------------------------------------------------------------- /dotfiles/latexmk/latexmkrc: -------------------------------------------------------------------------------- 1 | # -*- mode: perl -*- 2 | 3 | $xdvipdfmx = "xdvipdfmx -z3 -o %D %O %S"; 4 | -------------------------------------------------------------------------------- /dotfiles/pycodestyle: -------------------------------------------------------------------------------- 1 | [pycodestyle] 2 | ignore = E701,E501,E128,E303,W391,E266,E702,E266,E401,W503 3 | -------------------------------------------------------------------------------- /emacs.d/extras/el.m4: -------------------------------------------------------------------------------- 1 | `#'!__EMACS__ --script 2 | divert(-1) 3 | changequote(`<<',`>>') 4 | divert 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/biblio/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled 2 | *.elc 3 | 4 | # Packaging 5 | .cask 6 | scratch.* 7 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/.gitignore: -------------------------------------------------------------------------------- 1 | *.Dockerfile 2 | *.build 3 | *.container 4 | -------------------------------------------------------------------------------- /bin/qrclip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | xclip -selection clipboard -o | qrencode -l H -s 10 -t png -o - | display png:- 3 | -------------------------------------------------------------------------------- /bin/gopher.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # gopher.sh --- open gopher linkx in lynx in xterm 3 | 4 | exec xterm -e "lynx '$@'" 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/bbdb/bbdb-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "bbdb" "3.1.2" "The Insidious Big Brother Database for GNU Emacs") 2 | -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/evil.info: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/evil.info -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/onlisp.info: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/onlisp.info -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/onlisp.texi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/onlisp.texi -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/tex-ref.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/tex-ref.pdf -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/ESSR.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ess/etc/ESSR.rds -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Running autoreconf..." 4 | 5 | autoreconf -i 6 | -------------------------------------------------------------------------------- /dotfiles/tmux.conf: -------------------------------------------------------------------------------- 1 | # tmux.conf 2 | 3 | set-option -g default-terminal "xterm" 4 | set-option -g display-time 10000 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/.nosearch: -------------------------------------------------------------------------------- 1 | ;; AUCTeX style/ and auto/ directories should not appear in load path. 2 | -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/onlisp.info-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/onlisp.info-1 -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/onlisp.info-2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/onlisp.info-2 -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/onlisp.info-3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/docs/onlisp.info-3 -------------------------------------------------------------------------------- /bin/start-g2ra.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd $HOME/local/g2ra-deploy 3 | ./venv/bin/python3 -m gunicorn -b 127.0.0.1:1961 g2ra:app 4 | 5 | -------------------------------------------------------------------------------- /dotfiles/mpv/mpv.conf: -------------------------------------------------------------------------------- 1 | # mpv.conf 2 | 3 | # use the yt-dlp fork of youtube-dl 4 | script-opts-append=ytdl_hook-ytdl_path=yt-dlp 5 | -------------------------------------------------------------------------------- /emacs.d/environment.sh: -------------------------------------------------------------------------------- 1 | # environment.sh --- set up environment for Emacs 2 | 3 | export PATH="$HOME/.emacs.d/bin:$PATH" 4 | 5 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/lzero.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: lzero 3 | # key: l0 4 | # -- 5 | 6 | $${X:1}^0$ $0 -------------------------------------------------------------------------------- /dotfiles/pip/pip.conf: -------------------------------------------------------------------------------- 1 | # pip.conf --- configs for python's pip 2 | 3 | [global] 4 | # fucking stop doing this to me 5 | no-color = yes 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/Main-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/Main-view.png -------------------------------------------------------------------------------- /lib/lisp/emacs/elfeed/elfeed-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "elfeed" "3.4.1" 2 | "an Emacs Atom/RSS feed reader" 3 | '((emacs "24.3"))) 4 | -------------------------------------------------------------------------------- /systems/sappho/invasion: -------------------------------------------------------------------------------- 1 | # invasion for sappho 2 | 3 | .xinitrc ../../dotfiles/xsessionrc 4 | .config/fontconfig/fonts.conf fonts.conf -------------------------------------------------------------------------------- /systems/xanthippe/etc/sane.d/saned.conf: -------------------------------------------------------------------------------- 1 | # saned.conf --- Configuration for the saned daemon 2 | 3 | ## Access list 4 | 192.168.1.0/24 5 | -------------------------------------------------------------------------------- /dotfiles/signature: -------------------------------------------------------------------------------- 1 | İ. Göktuğ Kayaalp / @cadadr / 2 | pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 3 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/lbar.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: lbar 3 | # key: lbar 4 | # -- 5 | 6 | $\bar{${Barred:1}\}$ $0 -------------------------------------------------------------------------------- /emacs.d/extras/batch-mail.el.in: -------------------------------------------------------------------------------- 1 | (setq gk-skip-init t) 2 | (load "~/co/emacs.d/load-emacs.el") 3 | (require 'gk-mail) 4 | (gnus-agent-batch) 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/Search-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/Search-view.png -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/tn-Main-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/tn-Main-view.png -------------------------------------------------------------------------------- /share/icons/hicolor/128x128/apps/emacs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/share/icons/hicolor/128x128/apps/emacs.png -------------------------------------------------------------------------------- /share/icons/hicolor/512x512/apps/bogie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/share/icons/hicolor/512x512/apps/bogie.png -------------------------------------------------------------------------------- /systems/sappho/battery-graph-2022-01-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/systems/sappho/battery-graph-2022-01-11.png -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/fontaxes.el: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/auctex/auctex/style/fontaxes.el -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/Strings-buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/Strings-buffer.png -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/tn-Search-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/tn-Search-view.png -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/ldir.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ldir 3 | # key: ldir 4 | # -- 5 | 6 | \tikzset{grow'=${Direction:1}\}$0 -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/images/tn-Strings-buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ebib/images/tn-Strings-buffer.png -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/lroof.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: lroof 3 | # key: lr 4 | # -- 5 | 6 | ${X:1} \edge[roof]; {${Content:2}\} $0 -------------------------------------------------------------------------------- /bin/journal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # journal.sh 3 | 4 | fil="$HOME/Documents/not/journal/$(date +%F)" 5 | 6 | date > $fil 7 | 8 | exec $EDITOR $fil 9 | 10 | -------------------------------------------------------------------------------- /cpanfile: -------------------------------------------------------------------------------- 1 | # cpanfile --- CPAN packages used by my config -*- mode: perl -*- 2 | 3 | requires "PLS", ">= 0.902"; 4 | requires "Devel::REPL", ">= 1.003029"; 5 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/sum.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: sum 3 | # key: sum 4 | # -- 5 | 6 | \sum_{ ${i:1} \}^{ ${Limit:2} \}{ ${Term:3} \}$0 -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/splus_letters_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/ess/etc/icons/splus_letters_large.png -------------------------------------------------------------------------------- /lib/lisp/emacs/multiple-cursors/multiple-cursors-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "multiple-cursors" "1.3.0" 2 | "Multiple cursors for Emacs." 3 | '((cl-lib "0.5"))) 4 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/fraction.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: fraction 3 | # key: / 4 | # -- 5 | 6 | \frac{ ${Dividend:1} \}{ ${Divisor:2} \}$0 -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/texmf/doc/latex/styles/preview.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cadadr/configuration/HEAD/lib/lisp/emacs/auctex/texmf/doc/latex/styles/preview.pdf -------------------------------------------------------------------------------- /emacs.d/extras/mailto.el.in: -------------------------------------------------------------------------------- 1 | ;;; mailto.el --- allow programs to 2 | (require 'server) 3 | (server-eval-at "server" `(browse-url-mail ,(pop command-line-args-left))) 4 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/synctex_parser_local.h: -------------------------------------------------------------------------------- 1 | #include 2 | #define printf(fmt, args...) (fprintf (stderr, (fmt), ## args)) 3 | #define SYNCTEX_INLINE 4 | -------------------------------------------------------------------------------- /bin/64clip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 64clip.sh --- Base64-decode clipboard 3 | 4 | xclip -out | base64 --ignore-garbage --decode 2>/dev/null \ 5 | | xclip -selection clipboard 6 | -------------------------------------------------------------------------------- /lib/lua/README.lunajson.markdown: -------------------------------------------------------------------------------- 1 | # lunajson library 2 | 3 | obtained from: 4 | 5 | - https://github.com/grafi-tt/lunajson/ 6 | - via: https://github.com/odkr/pandoc-zotxt.lua 7 | -------------------------------------------------------------------------------- /systems/xanthippe/etc/network/interfaces.d/00-dns-nameservers: -------------------------------------------------------------------------------- 1 | # Set DNS nameservers 2 | 3 | # CloudFlare DNS and Google DNS, respectively. 4 | dns-nameservers 1.1.1.1 8.8.8.8 5 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-xim.config: -------------------------------------------------------------------------------- 1 | [Xim] 2 | # Use On The Spot Style for XIM (Cannot change during running) 3 | # Available Value: 4 | # True False 5 | #UseOnTheSpotStyle=False 6 | 7 | -------------------------------------------------------------------------------- /lib/lisp/emacs/zotxt/zotxt-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "zotxt" "0.1.34" 2 | "Tools to integrate emacs with Zotero via the zotxt plugin." 3 | '((request "0.3.2") (deferred "0.5.1"))) 4 | -------------------------------------------------------------------------------- /systems/diotima/invasion: -------------------------------------------------------------------------------- 1 | .cinnamon cinnamon 2 | .config/cinnamon-monitors.xml cinnamon-monitors.xml 3 | .xsessionrc ../../dotfiles/xsessionrc 4 | .xprofile ../../dotfiles/xsessionrc 5 | -------------------------------------------------------------------------------- /bin/ffprofile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | grep ^Name= ~/.mozilla/firefox/profiles.ini | cut -d= -f2 \ 4 | | dmenu -p 'Select Firefox profile' \ 5 | | xargs -r firefox -allow-downgrade -P 6 | 7 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/py.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: py 3 | # key: py 4 | # -- 5 | 6 | #+name: $1 7 | #+begin_src python :results output 8 | $0 9 | #+end_src 10 | -------------------------------------------------------------------------------- /share/applications/emacsclient.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Emacs Client 3 | Exec=emacsclient %f 4 | Icon=emacs 5 | Type=Application 6 | Terminal=false 7 | MimeType=text/*; 8 | NoDisplay=true -------------------------------------------------------------------------------- /emacs.d/bin/elisp-byte-compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # elisp-byte-compile.sh --- byte compile Emacs Lisp files 3 | 4 | exec emacs -Q --batch -l ~/.emacs.d/loadpaths.el \ 5 | -f batch-byte-compile "$@" 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/Dockerfile.common.in: -------------------------------------------------------------------------------- 1 | COPY . /pdf-tools 2 | WORKDIR /pdf-tools 3 | RUN make -s distclean || true 4 | CMD ["sh", "./server/test/docker/lib/run-tests"] 5 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/backgrounds/user-folders.lst: -------------------------------------------------------------------------------- 1 | /home/g/Pictures 2 | /home/g/Pictures/wlp 3 | /home/g/Pictures/wlp/mint 4 | /home/g/Pictures/wlp/simpledesktops.com 5 | /home/g/Pictures/wlp/slideshow 6 | -------------------------------------------------------------------------------- /systems/xanthippe/etc/hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | ::1 localhost ip6-localhost ip6-loopback 3 | ff02::1 ip6-allnodes 4 | ff02::2 ip6-allrouters 5 | 6 | 127.0.1.1 raspberrypi 7 | 127.0.1.1 xanthippe 8 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/equation.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: equation 3 | # key: eqn 4 | # -- 5 | 6 | \begin{equation} 7 | \begin{align*} 8 | $0 9 | \end{align*} 10 | \end{equation} -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/rplot.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: rplot 3 | # key: rplot 4 | # -- 5 | 6 | #+name: $1 7 | #+begin_src R :results file graphics :file img/$1.png 8 | $0 9 | #+end_src -------------------------------------------------------------------------------- /systems/diotima/Readme.markdown: -------------------------------------------------------------------------------- 1 | # `diotima`: Linux Mint Cinnamon based workstation 2 | 3 | For installation instructions, see the [setup guide](Setup.markdown). 4 | 5 | --- 6 | 7 | ![](/img/scr-diotima.png) 8 | -------------------------------------------------------------------------------- /config.m4.template: -------------------------------------------------------------------------------- 1 | divert(-1) 2 | define(`__SSID__', `') 3 | define(`__WPAKEY__', `') 4 | define(`__DNS1__', `') 5 | define(`__DNS2__', `') 6 | define(`__ALPHAIP__', `') 7 | define(`__GATEWAY__', `') 8 | divert 9 | -------------------------------------------------------------------------------- /lib/lisp/emacs/skewer-mode/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Skewer 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /lib/lisp/emacs/skewer-mode/skewer-mode-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "skewer-mode" "1.8.0" 2 | "live browser JavaScript, CSS, and HTML interaction" 3 | '((simple-httpd "1.4.0") (js2-mode "20090723") (emacs "24"))) 4 | -------------------------------------------------------------------------------- /bin/msmtp-listqueue.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | QUEUEDIR=$MAILQUEUE 4 | 5 | for i in $QUEUEDIR/*.mail; do 6 | egrep -s --colour -h '(^From:|^To:|^Subject:)' "$i" || echo "No mail in queue"; 7 | echo " " 8 | done 9 | -------------------------------------------------------------------------------- /dotfiles/gdbinit: -------------------------------------------------------------------------------- 1 | # gdbinit --- gdb configuration -*- mode: gdb-script -*- 2 | 3 | set disassembly-flavor intel 4 | 5 | # TODO(2023-04-06): do this right 6 | # if guix 7 | # source $MYLIB/guix/guix-gdbinit 8 | # end 9 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/ling-tree-branch-length.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ling-tree-branch-length 3 | # key: llen 4 | # -- 5 | 6 | \tikzset{level 1+/.style={level distance=${1:BranchLength}pt}}$0 -------------------------------------------------------------------------------- /lib/lisp/emacs/biblio/biblio-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "biblio" "0.2" "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org" 2 | '((emacs "24.3") 3 | (biblio-core "0.2"))) 4 | -------------------------------------------------------------------------------- /bin/lockscr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # lockscr.sh --- lock screen in X session 3 | 4 | bg="${GK_XBGIMG-$HOME/.xbg.png}" 5 | 6 | # if image not found, display a gray screen 7 | i3lock -p default -f -e -i "$bg" -c 333333 -t 8 | 9 | -------------------------------------------------------------------------------- /dotfiles/git/attributes: -------------------------------------------------------------------------------- 1 | # gitattributes -*- mode: conf-unix -*- 2 | 3 | # Adapted from: https://protesilaos.com/codelog/2021-01-26-git-diff-hunk-elisp-org/ 4 | *.lisp diff=lisp 5 | *.el diff=lisp 6 | *.org diff=org 7 | -------------------------------------------------------------------------------- /lib/hw/keyboard.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # keyboard.bash --- default keyboard settings 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | setxkbmap gb 9 | setxkbmap -option ctrl:nocaps 10 | -------------------------------------------------------------------------------- /share/applications/emacsclient-org-protocol.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=org-protocol 3 | Exec=emacsclient %u 4 | Type=Application 5 | Terminal=false 6 | Categories=System; 7 | MimeType=x-scheme-handler/org-protocol; 8 | -------------------------------------------------------------------------------- /emacs.d/extras/genswankcore.lisp: -------------------------------------------------------------------------------- 1 | ;; Load swank and dump a core image to load slime faster. 2 | (load (truename #p"~/co/emacs.d/packages/slime/swank-loader.lisp")) 3 | (swank-loader:dump-image #p"~/co/emacs.d/extras/slime.fasl") 4 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/lib/yes-or-enter: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Step over prompts from the package-manager. 4 | if [ -f /etc/arch-release ]; then 5 | yes '' 6 | else 7 | yes 8 | fi 9 | 10 | -------------------------------------------------------------------------------- /share/applications/bogie.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Name=Bogie 4 | Icon=bogie 5 | Exec=bogie.bash 6 | Terminal=true 7 | X-MultipleArgs=false 8 | Type=Application 9 | StartupNotify=true 10 | 11 | -------------------------------------------------------------------------------- /systems/sappho/Readme.markdown: -------------------------------------------------------------------------------- 1 | # `sappho`: Void Linux based mobile workstation setup for ThinkPad x230 2 | 3 | For installation instructions, see the [setup guide](Setup.markdown). 4 | 5 | --- 6 | 7 | ![](/img/scr-sappho.png) 8 | -------------------------------------------------------------------------------- /emacs.d/bin/elisp-lint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # lint.sh --- elisp lint 3 | 4 | exec emacs -Q --batch \ 5 | -l ~/.emacs.d/loadpaths.el \ 6 | -l ~/.emacs.d/lisp/site/misc/elisp-lint.el \ 7 | -f elisp-lint-files-batch $@ 2>&1 8 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/pyfig.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: pyfig 3 | # key: pyplot 4 | # -- 5 | 6 | #+name: $1 7 | #+begin_src python :results file output 8 | $0 9 | savefig("$1.png") 10 | #+end_src 11 | -------------------------------------------------------------------------------- /systems/sappho/profile.d-template.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # sappho.sh --- environment hook for systems/sappho 3 | 4 | # Ev ağı router’inin MAC adresi 5 | export GK_SAPPHO_HOME_ROUTER_MAC=... 6 | 7 | # Borg deposu 8 | export BORG_REPO=... 9 | -------------------------------------------------------------------------------- /dotfiles/pryrc.rb: -------------------------------------------------------------------------------- 1 | # pryrc.rb --- pry ruby repl config 2 | 3 | # Aliases 4 | Pry.commands.alias_command :c, "continue" 5 | Pry.commands.alias_command :q, "exit" 6 | Pry.commands.alias_command :s, "step" 7 | Pry.commands.alias_command :n, "next" 8 | -------------------------------------------------------------------------------- /lib/wine.sh: -------------------------------------------------------------------------------- 1 | # wine.sh --- install wine 2 | 3 | # Adapted from https://wiki.debian.org/Wine 4 | 5 | dpkg --add-architecture i386 && apt-get update 6 | 7 | # Standard 64bit install 8 | apt-get install wine wine32 wine64 libwine libwine:i386 fonts-wine 9 | -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/Makefile: -------------------------------------------------------------------------------- 1 | # makefile --- docs makefile. 2 | 3 | OUT = onlisp.info 4 | 5 | .PHONY: all clean 6 | 7 | all: $(OUT) 8 | 9 | onlisp.info: onlisp.texi 10 | makeinfo --fill-column=70 -o $@ $+ 11 | 12 | clean: 13 | $(RM) $(OUT) 14 | -------------------------------------------------------------------------------- /systems/sappho/tex.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # tex.bash --- install (La)TeX shite 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | xbps-install -y \ 9 | texlive-full \ 10 | texlive-fontsextra 11 | -------------------------------------------------------------------------------- /lib/install-configs.bash: -------------------------------------------------------------------------------- 1 | # install-configs.bash 2 | 3 | for file in $(find etc/ -type f -o -type l -not -name \*.in); do 4 | mkdir -vp "$(dirname /$file)" || echo Failed\! 5 | cp -Pv --preserve=mode --backup=numbered "$file" "/$file" || echo Failed\! 6 | done 7 | -------------------------------------------------------------------------------- /systems/diotima/install.maybe: -------------------------------------------------------------------------------- 1 | # lmms 2 | # obs-studio 3 | # slrn 4 | # python3-dulwich 5 | # python3-fastimport 6 | # python3-hglib 7 | # kdenlive 8 | # valac 9 | # valadoc 10 | # certbot 11 | # lftp 12 | # okular 13 | # sbcl 14 | # ttf-mscorefonts-installer 15 | -------------------------------------------------------------------------------- /emacs.d/extras/Makefile: -------------------------------------------------------------------------------- 1 | # makefile --- extras makefile. 2 | 3 | OUT = batch-mail.el mailto.el 4 | 5 | .PNOHY: all clean 6 | 7 | all: $(OUT) 8 | 9 | clean: 10 | $(RM) $(OUT) 11 | 12 | %.el: el.m4 %.el.in 13 | $(M4) -D__EMACS__=$(EMACS) $+ >$@ && chmod 750 $@ 14 | -------------------------------------------------------------------------------- /systems/xanthippe/etc/default/saned: -------------------------------------------------------------------------------- 1 | # Defaults for the saned initscript, from sane-utils 2 | 3 | # To enable under systemd please read README.Debian 4 | # Set to yes to start saned under SysV 5 | RUN=yes 6 | 7 | # Set to the user saned should run as 8 | RUN_AS_USER=saned 9 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-table.config: -------------------------------------------------------------------------------- 1 | [Key] 2 | # Add Phrase 3 | #AddPhrase=CTRL_8 4 | # Delete Phrase 5 | #DeletePhrase=CTRL_7 6 | # Adjust Order 7 | #AdjustOrder=CTRL_6 8 | # Clear Frequency 9 | #ClearFreq= 10 | # Lookup Pinyin 11 | #LookupPinyin=CTRL_ALT_E 12 | 13 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/dk.el: -------------------------------------------------------------------------------- 1 | ;;; dk.el - Setup AUCTeX for editing Danish text. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook "dk" 6 | (function (lambda () 7 | (run-hooks 'TeX-language-dk-hook))) 8 | LaTeX-dialect) 9 | 10 | ;;; dk.el ends here 11 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/j-book.el: -------------------------------------------------------------------------------- 1 | ;;; j-book.el - Special code for j-book style. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook 6 | "j-book" 7 | (lambda () 8 | (LaTeX-largest-level-set "part")) 9 | LaTeX-dialect) 10 | 11 | ;;; j-book.el ends here 12 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/fedora-34.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM fedora:34 3 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 4 | RUN dnf update -y && dnf install -y make tzdata 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/fedora-35.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM fedora:35 3 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 4 | RUN dnf update -y && dnf install -y make tzdata 5 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/fedora-36.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM fedora:36 3 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 4 | RUN dnf update -y && dnf install -y make tzdata 5 | -------------------------------------------------------------------------------- /dotfiles/mairixrc.in: -------------------------------------------------------------------------------- 1 | # mairixrc --- Mailbox search. 2 | 3 | # Set this to the directory where your maildir folders live 4 | base=__BASE__ 5 | mbox=current:archive*:outbox*:lists* 6 | mfolder=__BASE__/mairix/search 7 | mformat=mbox 8 | database=__BASE__/mairix/index 9 | 10 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/arch.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM archlinux:latest 3 | RUN pacman -Syu --noconfirm --noprogressbar 4 | # @TODO: The official Archlinux image does not seem to have any form of shell. Marking this as FAILING. 5 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | Licenses 2 | ======== 3 | 4 | Lots of files created by other people are included in this repository, 5 | most of the time verbatim. Any file that does not include a statement 6 | for its licence terms is probably written by me, and I hereby put all of 7 | them in public domain. 8 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-spell.config: -------------------------------------------------------------------------------- 1 | [Spell Hint] 2 | # Preferred Enchant provider 3 | # Available Value: 4 | # Default 5 | # Aspell 6 | # Myspell 7 | #PreferredEnchantProvider=Myspell 8 | # Default Spell Hint Backends Order 9 | #HintProvidersOrder=presage,custom,enchant 10 | 11 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/ling-feature-matrix.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ling-feature-matrix 3 | # key: lfm 4 | # -- 5 | 6 | \[ \left ${OpenBracket:1} 7 | \begin{array\}{${ArrayOpts:2}\} 8 | $0 9 | \end{array\} 10 | \right ${CloseBracket:3} 11 | \] -------------------------------------------------------------------------------- /lib/git-aliases.sh: -------------------------------------------------------------------------------- 1 | # git-aliases.sh --- list git aliases 2 | 3 | # Adapted from: https://news.ycombinator.com/item?id=18902743 4 | 5 | git config --global --get-regexp ^alias \ 6 | | sed -E 's/^alias\.(.+) (.*)/\1 \2/' \ 7 | | awk '{h=$1; $1=""; printf "%15s %s\n", h, $0;}' 8 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/dutch.el: -------------------------------------------------------------------------------- 1 | ;;; dutch.el - Setup AUCTeX for editing Dutch text. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook "dutch" 6 | (function (lambda () 7 | (run-hooks 'TeX-language-nl-hook))) 8 | LaTeX-dialect) 9 | 10 | ;;; dutch.el ends here 11 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/j-report.el: -------------------------------------------------------------------------------- 1 | ;;; j-report.el - Special code for j-report style. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook 6 | "j-report" 7 | (lambda () 8 | (LaTeX-largest-level-set "chapter")) 9 | LaTeX-dialect) 10 | 11 | ;;; j-report.el ends here 12 | -------------------------------------------------------------------------------- /dotfiles/screenlayout/sappho-undocked.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | xrandr --output LVDS1 --primary --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output DP2 --off --output DP3 --off --output HDMI1 --off --output HDMI2 --off --output HDMI3 --off --output VGA1 --off --output VIRTUAL1 --off 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/j-article.el: -------------------------------------------------------------------------------- 1 | ;;; j-article.el - Special code for j-article style. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook 6 | "j-article" 7 | (lambda () 8 | (LaTeX-largest-level-set "section")) 9 | LaTeX-dialect) 10 | 11 | ;;; j-article.el ends here 12 | -------------------------------------------------------------------------------- /lib/lisp/emacs/haskell/haskell-mode-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "haskell-mode" "16.2-git" "A Haskell editing mode" 2 | '((emacs "24.3")) 3 | :url "https://github.com/haskell/haskell-mode" 4 | :keywords '("haskell" "cabal" "ghc" "repl")) 5 | ;; Local Variables: 6 | ;; no-byte-compile: t 7 | ;; End: 8 | -------------------------------------------------------------------------------- /share/applications/tropy.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Name=Tropy (AppImage) 4 | GenericName=Tropy 5 | Comment=Tropy 6 | Exec=Tropy-1.11.1-x86_64.AppImage 7 | Type=Application 8 | Terminal=false 9 | Categories=Education; 10 | Keywords=Education;Reseach;Images; 11 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/scale@cinnamon.org/19.json: -------------------------------------------------------------------------------- 1 | { 2 | "activate-on-hover": { 3 | "type": "switch", 4 | "default": false, 5 | "description": "Activate scale on hover", 6 | "value": false 7 | }, 8 | "__md5__": "b8cca2b78b83d067f5d0fb8b06b2b1a9" 9 | } -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-chttrans.config: -------------------------------------------------------------------------------- 1 | [TraditionalChinese] 2 | # Traditional Chinese Translate Engine 3 | # Available Value: 4 | # Native 5 | # OpenCC 6 | #TransEngine=OpenCC 7 | # Toggle for enable or disable 8 | #Hotkey=CTRL_SHIFT_F 9 | # Enabled state for im 10 | #EnabledForIM= 11 | 12 | -------------------------------------------------------------------------------- /lib/zotero/prefs.js: -------------------------------------------------------------------------------- 1 | /* prefs.js --- «advanced» preferences for zotero 2 | 3 | These go into ~/.zotero/zotero//prefs.js. 4 | */ 5 | 6 | // Enable dark theme. 7 | user_pref("widget.chrome.allow-gtk-dark-theme", true); 8 | user_pref("widget.content.allow-gtk-dark-theme", true); 9 | 10 | -------------------------------------------------------------------------------- /bin/zoom.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # zoom.bash --- start jailed zoom 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | mkdir -p $HOME/.jailed/zoom 9 | 10 | firejail --apparmor --profile=$HOME/.config/firejail/zoom.local \ 11 | --private=$HOME/.jailed/zoom zoom 12 | -------------------------------------------------------------------------------- /dotfiles/mailcap: -------------------------------------------------------------------------------- 1 | # mailcap 2 | 3 | text/*; mailcap2xdg.rb '%s' '%t' & sleep 1; copiousoutput 4 | image/*; mailcap2xdg.rb '%s' '%t' & sleep 1; copiousoutput 5 | video/*; mailcap2xdg.rb '%s' '%t' & sleep 1; copiousoutput 6 | application/*; mailcap2xdg.rb '%s' '%t' & sleep 1; copiousoutput 7 | -------------------------------------------------------------------------------- /dotfiles/screenlayout/sappho-docked-only-external.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | xrandr --output LVDS1 --off --output DP1 --off --output DP2 --off --output DP3 --off --output HDMI1 --off --output HDMI2 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI3 --off --output VGA1 --off --output VIRTUAL1 --off 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/Cask: -------------------------------------------------------------------------------- 1 | (source gnu) 2 | (source melpa) 3 | 4 | (package-file "lisp/pdf-tools.el") 5 | 6 | (files "lisp/*.el" 7 | "README" 8 | "server/epdfinfo" 9 | "server/epdfinfo.exe") 10 | 11 | (development 12 | (depends-on "ert-runner") 13 | (depends-on "undercover")) 14 | -------------------------------------------------------------------------------- /share/applications/zotero.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Name=Zotero (AppImage) 4 | GenericName=Zotero 5 | Comment=Zotero 6 | Exec=Zotero-6.0.26_linux-x86_64.AppImage 7 | Type=Application 8 | Terminal=false 9 | Categories=Education; 10 | Keywords=Education;Reseach;PDFs;Documents; 11 | -------------------------------------------------------------------------------- /dotfiles/inputrc: -------------------------------------------------------------------------------- 1 | # inputrc --- readline config 2 | 3 | # Case-insensitive completion. 4 | set completion-ignore-case on 5 | set completion-map-case on 6 | # Show completions w/ just one TAB, not double. 7 | set show-all-if-ambiguous on 8 | # Indicate filetypes with a trailing cahracter. 9 | set visible-stats on 10 | 11 | -------------------------------------------------------------------------------- /dotfiles/screenlayout/sappho-docked-only-external-vertical.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | xrandr --output LVDS1 --off --output DP1 --off --output DP2 --off --output DP3 --off --output HDMI1 --off --output HDMI2 --primary --mode 1920x1080 --pos 0x0 --rotate ${ROTATION-right} --output HDMI3 --off --output VGA1 --off --output VIRTUAL1 --off 3 | -------------------------------------------------------------------------------- /share/applications/emacsclient-url.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Comment=Emacs Client for URLs 3 | Exec=emacs-browse-url.bash %u 4 | MimeType=x-scheme-handler/org-protocol;x-scheme-handler/mailto;x-scheme-handler/gopher;x-scheme-handler/gemini; 5 | Name=emacsclient-url 6 | NoDisplay=true 7 | Terminal=false 8 | Type=Application 9 | -------------------------------------------------------------------------------- /emacs.d/bin/gk-open-project.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # gk-open-project.bash --- open project using emacsclient, rofi & gk-open-project 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | p="$(rofi -lines 0 1 -dmenu -p 'Project path')" 9 | 10 | exec emacsclient -eval "(gk-open-project \"$p\")" 11 | -------------------------------------------------------------------------------- /emacs.d/etc/load-test.el: -------------------------------------------------------------------------------- 1 | ;; load-test.el -- Test script for configuration. 2 | (let 3 | ((time-start (current-time))) 4 | (message 5 | "Startup took %f seconds..." 6 | (car (benchmark-run 1 7 | (progn 8 | (load (expand-file-name "~/.emacs.d/init.el")) 9 | (message "-OK-")))))) 10 | -------------------------------------------------------------------------------- /lib/lisp/emacs/magit/magit-pkg.el: -------------------------------------------------------------------------------- 1 | (define-package "magit" "2.12.0" 2 | "A Git porcelain inside Emacs." 3 | '((emacs "24.4") 4 | (async "1.9.3") 5 | (dash "2.14.1") 6 | (ghub "2.0.1") 7 | (git-commit "2.12.1") 8 | (let-alist "1.0.5") 9 | (magit-popup "2.12.3") 10 | (with-editor "2.7.3"))) 11 | -------------------------------------------------------------------------------- /dotfiles/screenlayout/sappho-docked-both.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | xrandr --output LVDS1 --mode 1366x768 --pos 1920x312 --rotate normal --output DP1 --off --output DP2 --off --output DP3 --off --output HDMI1 --off --output HDMI2 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI3 --off --output VGA1 --off --output VIRTUAL1 --off 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/emacs-26.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM silex/emacs:26-ci-cask 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/emacs-27.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM silex/emacs:27-ci-cask 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/emacs-28.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM silex/emacs:28-ci-cask 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/emacs-29.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM silex/emacs:master-ci-cask 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /bin/rofi: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # rofi --- wrapper for rofi(1) 3 | 4 | # Because assholes develop rofi, it can’t have a config file like all 5 | # other similar apps, and this is what we have to resort to. 🖕 6 | 7 | exec /usr/bin/rofi \ 8 | -theme "$GK_ROFI_THEME" \ 9 | -hide-scrollbar \ 10 | $@ 11 | 12 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/ubuntu-18.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM ubuntu:bionic 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update --fix-missing -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/ubuntu-20.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM ubuntu:focal 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update --fix-missing -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/ubuntu-22.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM ubuntu:jammy 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 5 | RUN apt-get update --fix-missing -y && apt-get install -y make tzdata 6 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/ling-tree.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ling-tree 3 | # key: ltree 4 | # -- 5 | 6 | #+BEGIN_EXPORT latex 7 | \begin{center} 8 | \begin{tikzpicture} 9 | \tikzset{every tree node/.style={align=center,anchor=north}} 10 | 11 | \Tree $0 12 | 13 | \end{tikzpicture} 14 | \end{center} 15 | #+END_EXPORT -------------------------------------------------------------------------------- /dotfiles/screenlayout/sappho-docked-both-vertical.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | xrandr --output LVDS1 --mode 1366x768 --pos 1080x1152 --rotate normal --output DP1 --off --output DP2 --off --output DP3 --off --output HDMI1 --off --output HDMI2 --primary --mode 1920x1080 --pos 0x0 --rotate ${ROTATION-right} --output HDMI3 --off --output VGA1 --off --output VIRTUAL1 --off 3 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/debian-10.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | # Debian 10 is known as buster 3 | FROM debian:10 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 6 | RUN apt-get update -y && apt-get install -y make tzdata 7 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/debian-9.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | # Debian 9 is known as stretch 3 | FROM debian:9 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 6 | RUN apt-get update -y && apt-get install -y make tzdata 7 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/czech.el: -------------------------------------------------------------------------------- 1 | ;;; czech.el --- Setup AUCTeX for editing Czech text. 2 | 3 | (TeX-add-style-hook 4 | "czech" 5 | (lambda () 6 | (unless (eq (car TeX-quote-language) 'override) 7 | (setq TeX-quote-language `("czech" "\\uv{" "}" ,TeX-quote-after-quote))) 8 | (run-hooks 'TeX-language-cz-hook)) 9 | LaTeX-dialect) 10 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/debian-11.Dockerfile.in: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | # Debian 11 is known as bullseye 3 | FROM debian:11 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | # Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild 6 | RUN apt-get update -y && apt-get install -y make tzdata 7 | -------------------------------------------------------------------------------- /lib/profile/guix.sh: -------------------------------------------------------------------------------- 1 | # guix.sh --- Guix(SD) environment 2 | 3 | type source >/dev/null || source () { 4 | . $@ 5 | } 6 | 7 | GUIX_PROFILE="$HOME/.guix-profile" 8 | 9 | if [ -f "$GUIX_PROFILE" ]; then 10 | export GUIX_PROFILE 11 | 12 | # Import generated environment variables 13 | source $GUIX_PROFILE/etc/profile 14 | fi 15 | 16 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/amsart.el: -------------------------------------------------------------------------------- 1 | ;;; amsart.el --- Style hook for the AMS-LaTeX article document class. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook "amsart" 6 | (function 7 | (lambda () 8 | (TeX-run-style-hooks "amsmath" "amsthm") 9 | (LaTeX-add-environments "abstract"))) 10 | LaTeX-dialect) 11 | 12 | ;;; amsart.el ends here. 13 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/amsbook.el: -------------------------------------------------------------------------------- 1 | ;;; amsbook.el --- Style hook for the AMS-LaTeX book document class. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook "amsbook" 6 | (function 7 | (lambda () 8 | (TeX-run-style-hooks "amsmath" "amsthm") 9 | (LaTeX-add-environments "abstract"))) 10 | LaTeX-dialect) 11 | 12 | ;;; amsbook.el ends here. 13 | -------------------------------------------------------------------------------- /dotfiles/python-init.py: -------------------------------------------------------------------------------- 1 | import sys, os 2 | 3 | 4 | # This will print tuples in python 2, but who cares about python 2? 5 | print("Interpreter at:", sys.executable) 6 | print("Working directory:", os.getcwd()) 7 | 8 | 9 | def dumpsesh(outfile): 10 | "Dump session history to OUTFILE." 11 | import readline 12 | readline.write_history_file(outfile) 13 | -------------------------------------------------------------------------------- /bin/run-python.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # run-python.sh --- run python, with poetry if applicable 3 | 4 | start="$PWD" 5 | 6 | while true; do 7 | if [ -e pyproject.toml ]; then 8 | exec poetry run python $@ 9 | elif [ / = "$PWD" ]; then 10 | cd $start 11 | exec ${RUN_PYTHON:-python3} $@ 12 | else 13 | cd .. 14 | fi 15 | done 16 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/dart-mode/sw.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: statefulwidget 3 | # key: sw 4 | # -- 5 | 6 | class ${1:WidgetName}State extends State<$1> { 7 | @override 8 | Widget build(BuildContext context) { 9 | $0 10 | \} 11 | } 12 | 13 | class $1 extends StatefulWidget { 14 | @override 15 | $1State createState() => new $1State(); 16 | } -------------------------------------------------------------------------------- /emacs.d/extras/eless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # A script for $PAGER that redirects to an Emacs buffer 3 | # Adapted from https://crowding.github.io/blog/2014/08/16/replace-less-with-emacs/ 4 | 5 | set -e 6 | 7 | # make a named fifo 8 | FIFO=$(mktemp -ut pagerXXXXXXXXXXX.$$) 9 | mkfifo $FIFO 10 | 11 | emacsclient -u -e "(gk-less \"$FIFO\")" 12 | 13 | exec cat > "$FIFO" 14 | -------------------------------------------------------------------------------- /lib/pop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # pop.sh --- play alert sound 3 | 4 | urgency=$DUNST_URGENCY 5 | sounds_dir=/usr/share/sounds/freedesktop/stereo/ 6 | 7 | case $urgency in 8 | CRITICAL) paplay $sounds_dir/message-new-instant.oga ;; 9 | NORMAL) paplay $sounds_dir/dialog-information.oga ;; 10 | *) paplay $sounds_dir/dialog-information.oga ;; 11 | esac 12 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/english.el: -------------------------------------------------------------------------------- 1 | ;;; english.el --- Setup AUCTeX for editing English text. 2 | 3 | ;;; Code: 4 | 5 | (TeX-add-style-hook 6 | "english" 7 | (lambda () 8 | (unless (eq (car TeX-quote-language) 'override) 9 | (setq TeX-quote-language nil)) 10 | (run-hooks 'TeX-language-en-hook)) 11 | LaTeX-dialect) 12 | 13 | ;;; english.el ends here 14 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/ESSR/BUILDESSR: -------------------------------------------------------------------------------- 1 | #!/usr/bin/Rscript 2 | ## -*- mode: R -*- 3 | ## code to build ESSR environemnt. 4 | ## Assume that current directory is etc/ESSR 5 | ## run "./BUILDESSR" to create ../ESSR.rda 6 | 7 | ## exactly as in inferior-ess-r-load-ESSR in ess-r-d.el 8 | source('./R/.load.R', local=TRUE) 9 | ESSR <- .ess.load.ESSR('./R/') 10 | saveRDS(ESSR, file = "../ESSR.rds") 11 | -------------------------------------------------------------------------------- /systems/sappho/not-found.txt: -------------------------------------------------------------------------------- 1 | # Packages from `diotima' not found in Void repositories. 2 | 3 | bridge-utils 4 | bundler 5 | dc 6 | dnsutils 7 | feedgnuplot 8 | git-email 9 | hunspell-tr 10 | mailutils 11 | pandoc-citeproc 12 | perlbrew 13 | diffpdf 14 | krop 15 | pdfarranger 16 | pdfsam 17 | virtualbox-qt 18 | libimage-exiftool-perl 19 | libuniversal-isa-perl 20 | r-cran-* 21 | psychopy 22 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/sep.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sep_xpm[] = { 3 | "1 24 2 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #776758", 6 | " ", 7 | " ", 8 | " ", 9 | ".", 10 | ".", 11 | ".", 12 | ".", 13 | ".", 14 | ".", 15 | ".", 16 | ".", 17 | ".", 18 | ".", 19 | ".", 20 | ".", 21 | ".", 22 | ".", 23 | ".", 24 | ".", 25 | ".", 26 | ".", 27 | " ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /lib/profile/loctz.sh: -------------------------------------------------------------------------------- 1 | # loctz.sh --- Locale and timezone. 2 | 3 | MM_CHARSET=UTF-8; export MM_CHARSET 4 | LANG=en_GB.$MM_CHARSET; export LANG 5 | LANGUAGE=$LANG; export LANGUAGE 6 | if [ -d /usr/share/locale/tr/ ]; then 7 | LC_MONETARY=tr_TR.$MM_CHARSET; export LC_MONETARY 8 | LC_TIME=tr_TR.$MM_CHARSET; export LC_TIME 9 | fi 10 | 11 | # Timezone 12 | TZ=Europe/Istanbul; export TZ 13 | -------------------------------------------------------------------------------- /lib/lisp/emacs/Readme.org: -------------------------------------------------------------------------------- 1 | #+title: Göktuğ's Vendored Elisp Files 2 | 3 | These files are vendored Elisp files used by my [[https://github.com/cadadr/configuration][configuration]], which 4 | imparts this repository as a submodule. 5 | 6 | All of the file's are open source here, although some might be edited 7 | by me. All are subject to their own terms, my changes are so to terms 8 | of the file they are in. 9 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/centos.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM centos:centos7 3 | RUN sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* 4 | RUN sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* 5 | RUN yum update -y 6 | # @TODO: Since CentOS is no more, do I even want to try and fix this? 7 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/expo@cinnamon.org/17.json: -------------------------------------------------------------------------------- 1 | { 2 | "section1": { 3 | "type": "section", 4 | "description": "Behavior" 5 | }, 6 | "activate-on-hover": { 7 | "type": "switch", 8 | "default": false, 9 | "description": "Activate expo on hover", 10 | "value": false 11 | }, 12 | "__md5__": "5965ee74f3d0d4ec75d6f319ca59a789" 13 | } -------------------------------------------------------------------------------- /dotfiles/Xdefaults: -------------------------------------------------------------------------------- 1 | ! Settings for X and various X programs. 2 | 3 | Xft.autohint: 1 4 | Xft.lcdfilter: lcddefault 5 | Xft.hintstyle: hintfull 6 | Xft.hinting: true 7 | Xft.antialias: 1 8 | Xft.rgba: rgb 9 | 10 | xterm*selectToClipboard: true 11 | xterm*metaSendsEscape: true 12 | xterm*renderFont: true 13 | xterm*faceName: "Iosevka Cadadrish Sans" 14 | xterm*faceSize: 10 15 | xterm*scrollBar: true 16 | 17 | -------------------------------------------------------------------------------- /lib/hw/tpx230.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # tpx230.bash --- hardware settings for ThinkPad x230 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | 9 | # Disable the annoying ThinkPad touchpad 10 | xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 0 11 | 12 | # Natural scrolling with the nipple 13 | xinput set-prop 'TPPS/2 IBM TrackPoint' 'libinput Natural Scrolling Enabled' 1 14 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | .deps/ 3 | Makefile 4 | Makefile.in 5 | aclocal.m4 6 | autom4te.cache/ 7 | config.h 8 | config.h.in 9 | config.log 10 | config.status 11 | configure 12 | depcomp 13 | epdfinfo 14 | install-sh 15 | libsynctex.a 16 | missing 17 | stamp-h1 18 | ar-lib 19 | compile 20 | config.h.in~ 21 | .clang_complete 22 | callgrind.out.* 23 | config.guess 24 | config.sub 25 | TAGS 26 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/templates/gentoo.Dockerfile.in.FAILING: -------------------------------------------------------------------------------- 1 | # -*- dockerfile -*- 2 | FROM gentoo/stage3 3 | RUN emerge --sync 4 | # IF you see this error, just ignore it: !!! It seems /run is not mounted. Process management may malfunction. 5 | # Note that gentoo takes a **long** time to build and run, that's okay. 6 | # @TODO: Currently, running this errors out because it cannot find glib-2.0, needs fixing. 7 | -------------------------------------------------------------------------------- /emacs.d/ext/gk-module.h: -------------------------------------------------------------------------------- 1 | /* gk-module.h --- C module helpers. */ 2 | #ifndef GK_MODULE_H 3 | #define GK_MODULE_H 4 | 5 | #include "emacs-module.h" 6 | 7 | extern void 8 | gk_bind_function (emacs_env *env, const char *name, emacs_value Sfun); 9 | 10 | extern void 11 | gk_provide (emacs_env *env, const char *feature); 12 | 13 | /* Mandatory for all modules. */ 14 | int plugin_is_GPL_compatible; 15 | 16 | #endif /* GK_MODULE_H */ 17 | -------------------------------------------------------------------------------- /lib/guix/guix-gdbinit: -------------------------------------------------------------------------------- 1 | # guix-gdbinit --- gdb configuration for guix -*- mode: gdb-script -*- 2 | 3 | # Conditionally source this from main GDB config file if we’re on Guix. 4 | 5 | # Tell GDB where to look for separate debugging files. 6 | set debug-file-directory ~/.guix-profile/lib/debug 7 | 8 | # Authorize extensions found in the store, such as the 9 | # pretty-printers of libstdc++. 10 | set auto-load safe-path /gnu/store/*/lib 11 | -------------------------------------------------------------------------------- /systems/diotima/desktop-setup.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # desktop-setup.bash --- initialisation for desktop session 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | # Hold the smaller left button to scroll in all directions. 9 | xinput set-prop "Logitech USB Trackball" \ 10 | 'libinput Scroll Method Enabled' {0,0,1} 11 | 12 | # Enable core dumps in case something goes wrong 13 | ulimit -c unlimited 14 | 15 | -------------------------------------------------------------------------------- /lib/lua/lunajson.lua: -------------------------------------------------------------------------------- 1 | local newdecoder = require 'lunajson.decoder' 2 | local newencoder = require 'lunajson.encoder' 3 | local sax = require 'lunajson.sax' 4 | -- If you need multiple contexts of decoder and/or encoder, 5 | -- you can require lunajson.decoder and/or lunajson.encoder directly. 6 | return { 7 | decode = newdecoder(), 8 | encode = newencoder(), 9 | newparser = sax.newparser, 10 | newfileparser = sax.newfileparser, 11 | } 12 | -------------------------------------------------------------------------------- /dotfiles/thunar/uca.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | utilities-terminal 5 | Open Terminal Here 6 | 1651845638829649-1 7 | kitty --working-directory %f 8 | Open a terminal (kitty) in the current directory 9 | * 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/poppler-versions: -------------------------------------------------------------------------------- 1 | HAVE_POPPLER_ANNOT_WRITE 2 | 0.19.4 solves bug 49080, which potentially corrupts PDF files. 3 | 4 | HAVE_POPPLER_FIND_OPTS 5 | 0.22 PopplerFindFlags 6 | 0.22 poppler_page_find_text_with_options 7 | 8 | HAVE_POPPLER_ANNOT_SET_RECT 9 | 0.26 Adds function poppler_annot_set_rectangle 10 | 11 | HAVE_POPPLER_ANNOT_MARKUP 12 | 0.26 poppler_annot_text_markup_new_{highlight,squiggly,strikeout,underline} 13 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # gem 'bundler' 4 | gem 'rdoc' 5 | gem 'mime-types' 6 | gem 'rss' 7 | gem 'solargraph' 8 | gem 'neocities', '>= 0.0.16' 9 | 10 | # for academia-dl 11 | gem 'nokogiri', ">= 1.13.6" 12 | gem 'open_uri_redirections' 13 | gem "addressable", "~> 2.8" 14 | 15 | # for jot 16 | gem 'geoclue' 17 | 18 | # better repl 19 | gem 'pry', '~> 0.13.1' 20 | gem 'pry-doc', '~> 1.1.0' 21 | gem 'pry-byebug', '~> 3.9.0' 22 | 23 | -------------------------------------------------------------------------------- /bin/remind-bujo.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # remind-bujo.bash --- send reminder notification to check bujo 3 | 4 | . $HOME/.profile 5 | . $MYLIB/cron.sh 6 | 7 | icon="/usr/share/icons/Adwaita++/apps/scalable/bookworm.svg" 8 | if [ -f "$icon" ]; then 9 | icon="-i $icon" 10 | else 11 | icon="" 12 | fi 13 | 14 | notify-send -u critical $icon \ 15 | "Bullet journala baktın mı?" \ 16 | "Ne yapıyorsun? Şu anda ne yapmayı planlamıştın?" 17 | -------------------------------------------------------------------------------- /lib/setup.sh: -------------------------------------------------------------------------------- 1 | # setup.sh --- post-install setup 2 | 3 | crontab cron/$(hostname).crontab 4 | 5 | update-desktop-database ./share/applications/ 6 | 7 | # scripts won't be in $PATH before reloading profile, so stop bugging me 8 | # 'bout it ffs. 9 | pip3 install --no-warn-script-location -r requirements.txt 10 | gem install --user-install bundler 11 | 12 | . lib/profile/paths.sh 13 | 14 | bundle 15 | bundle update --bundler 16 | gem rdoc --all 17 | 18 | -------------------------------------------------------------------------------- /dotfiles/irbrc.rb: -------------------------------------------------------------------------------- 1 | IRB.conf[:PROMPT][:MY_PROMPT] = { # name of prompt mode 2 | :AUTO_INDENT => true, # enables auto-indent mode 3 | :PROMPT_I => IRB.conf[:PROMPT][:DEFAULT][:PROMPT_I], # keep normal prompt 4 | :PROMPT_S => "", # prompt for continuated strings 5 | :PROMPT_C => "", # prompt for continuated statement 6 | :RETURN => "=> %s\n" # format to return value 7 | } 8 | 9 | IRB.conf[:PROMPT_MODE] = :MY_PROMPT 10 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ebib/README.md: -------------------------------------------------------------------------------- 1 | Ebib 2 | 3 | (c) 2003-2021 Joost Kremers 4 | 5 | Ebib is a BibTeX database manager that runs in GNU Emacs. With Ebib, you 6 | can create and manage `.bib`-files, all within Emacs. It supports `@string` and 7 | `@preamble` definitions, multi-line field values, searching, and integration 8 | with Emacs' (La)TeX mode. 9 | 10 | Please refer to [Ebib's website](http://joostkremers.github.io/ebib) for installation instructions and user manual. 11 | -------------------------------------------------------------------------------- /bin/ydl-parallel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ydl-parallel.sh --- run youtube-dl in parallel. 3 | 4 | # Either $1 is an input file, or stdin is used. The input file is 5 | # expected to contain one URL per line. 6 | 7 | infile=${1:-/dev/stdin} 8 | procs=${YDL_MAX_PROCS:-10} 9 | 10 | ydl_path=$HOME/co/External/youtube-dl 11 | export PYTHONPATH=$ydl_path 12 | 13 | ydl_cmd="$ydl_path/bin/youtube-dl --no-progress --extract-audio" 14 | 15 | xargs -L 1 -P $procs $ydl_cmd < $infile 16 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-xkb.config: -------------------------------------------------------------------------------- 1 | [X Keyboard] 2 | # Allow to Override System XKB Settings 3 | # Available Value: 4 | # True False 5 | #OverrideSystemXKBSettings=True 6 | # Use the layout of first keyboard input method in list as default layout 7 | # Available Value: 8 | # True False 9 | #UseFirstKeyboardIMAsDefaultLayout=True 10 | # xmodmap command 11 | #XModmapCommand=xmodmap 12 | # Apply this custom xmodmap script after layout change 13 | #CustomXModmapScript= 14 | 15 | -------------------------------------------------------------------------------- /lib/lisp/emacs/zotxt/test/test-helper.el: -------------------------------------------------------------------------------- 1 | (setq load-dir (f-parent (f-dirname load-file-name))) 2 | (setq base-dir (f-parent (f-parent load-dir))) 3 | (add-to-list 'load-path base-dir) 4 | 5 | 6 | (require 'undercover) 7 | (undercover "*.el") 8 | 9 | (require 'zotxt) 10 | (require 'org-zotxt) 11 | 12 | (async-shell-command 13 | (format "bundle exec ruby %s/mock-server.rb -p 33119" base-dir)) 14 | (sleep-for 2) 15 | (setq zotxt-url-base "http://127.0.0.1:33119/zotxt") 16 | -------------------------------------------------------------------------------- /bin/git-discard: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # git-discard --- discard unstaged changes 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | echo Do you really want to discard all unstaged changes? 9 | echo 10 | echo Summary of changes in "$(pwd)": 11 | echo 12 | git status --short 13 | echo 14 | printf "Asnwer 'yes' to confirm: " 15 | read answer 16 | case "$answer" in 17 | yes) echo exec git checkout -- . ;; 18 | *) echo Nothing done. ;; 19 | esac 20 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/amstext.el: -------------------------------------------------------------------------------- 1 | ;;; amstext.el --- Style hook for the AMS-LaTeX amstext package. 2 | ;;; 3 | ;;; AUTHOR: Carsten Dominik 4 | 5 | ;;; Code: 6 | 7 | (TeX-add-style-hook "amstext" 8 | (function 9 | (lambda () 10 | (TeX-add-symbols 11 | '("text" t)))) 12 | LaTeX-dialect) 13 | 14 | (defvar LaTeX-amstext-package-options nil 15 | "Package options for the amstext package.") 16 | 17 | ;;; amstext.el ends here. 18 | -------------------------------------------------------------------------------- /share/applications/qute.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Version=2.2.0 4 | Name=Qutebrowser (gk) 5 | Exec=launch-qutebrowser.bash %u 6 | Terminal=false 7 | X-MultipleArgs=false 8 | Type=Application 9 | Icon=qutebrowser 10 | Categories=Network;WebBrowser; 11 | MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp 12 | StartupNotify=true 13 | 14 | -------------------------------------------------------------------------------- /emacs.d/bin/emacs-maybe-client.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # emacs-maybe-client.bash --- use emacsclient if server is live, start emacs otherwise 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | if emacsclient -e '(server-running-p)' 1>/dev/null 2>/dev/null; then 9 | exec emacsclient -c \ 10 | --eval '(ignore-errors (find-file initial-buffer-choice))' \ 11 | --eval '(raise-frame)' \ 12 | $@ 13 | else 14 | exec emacs $@ 15 | fi 16 | -------------------------------------------------------------------------------- /bin/lilserver.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # lilserver.py --- http.server for local needs 3 | 4 | from pathlib import Path 5 | 6 | import http.server 7 | import os 8 | import socketserver 9 | 10 | HOST = "127.0.0.1" 11 | PORT = 1993 12 | 13 | os.chdir(Path(os.getenv("MY")) / "html") 14 | 15 | Handler = http.server.SimpleHTTPRequestHandler 16 | 17 | with socketserver.TCPServer((HOST, PORT), Handler) as httpd: 18 | print("serving at", HOST, ", port", PORT) 19 | httpd.serve_forever() 20 | -------------------------------------------------------------------------------- /bin/mp42gif.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # mp42gif.sh --- convert an MP4 video to a GIF file. 3 | 4 | set -e 5 | 6 | if [ -z "$1" ]; then 7 | echo "usage: $0 file"; exit 1; 8 | fi 9 | 10 | if [ ! -f "$1" ]; then 11 | echo "no such file: $1"; 12 | fi 13 | 14 | tmp=$(mktemp -d -t mp42gifconv.XXXXXXXXXXXXX) 15 | 16 | ffmpeg -loglevel fatal -i $1 -r 2 $tmp/%010d.jpg 17 | 18 | out=$(dirname $1)/$(basename $1 .mp4).gif 19 | 20 | convert $tmp/*.jpg $out 21 | 22 | echo Wrote $out 23 | 24 | rm -rf $tmp 25 | -------------------------------------------------------------------------------- /dotfiles/mpoprc.in: -------------------------------------------------------------------------------- 1 | # -*- mode: conf-unix -*- 2 | # mpoprc --- mpop config. 3 | 4 | # Set default values for all following accounts. 5 | defaults 6 | tls on 7 | tls_starttls off 8 | tls_trust_file /etc/ssl/certs/ca-certificates.crt 9 | keep off 10 | password 11 | 12 | # self@ 13 | account self-inbox 14 | host __MAIL_HOST__ 15 | port 995 16 | user __MAIL_ADDR__ 17 | delivery mda "/usr/bin/procmail -f '%F' -a self" 18 | uidls_file ~/Posta/mpop_uidls/2 19 | passwordeval "pass show email/__MAIL_ADDR__" 20 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/network@cinnamon.org/network@cinnamon.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "section1": { 3 | "type": "section", 4 | "description": "Menu" 5 | }, 6 | "keyOpen": { 7 | "type": "keybinding", 8 | "description": "Show menu", 9 | "default": "n", 10 | "tooltip": "Set keybinding(s) to show the network applet menu.", 11 | "value": "n" 12 | }, 13 | "__md5__": "976b46e8430522899e7fe34f2abfee76" 14 | } -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-autoeng.config: -------------------------------------------------------------------------------- 1 | [Auto English] 2 | # Choose key modifier 3 | # Available Value: 4 | # None 5 | # Alt 6 | # Ctrl 7 | # Shift 8 | #ChooseModifier=Alt 9 | # Do not show spell hint 10 | # Available Value: 11 | # True False 12 | #DisableSpell=False 13 | # Maximum hint length 14 | #MaximumHintLength=2 15 | # Maximum words number kept in preedit 16 | #MaximumKeep=3 17 | # Add Extra space when selecting a candidate word 18 | # Available Value: 19 | # True False 20 | #SelectAddSpace=True 21 | 22 | -------------------------------------------------------------------------------- /bin/rclone-backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # rclone-backup.sh --- rclone backup script 3 | 4 | . $HOME/.profile 5 | . $MYLIB/cron.sh 6 | . $MYLIB/fns.sh 7 | 8 | # if stdout is not a tty, output to log 9 | if [ ! -t 1 ]; then 10 | exec >>$MYLOGS/rclone.log 11 | exec 2>&1 12 | fi 13 | 14 | say starting rclone backup... 15 | 16 | sh "$MYSYSTEM/online-backup.sh" 2>&1 17 | 18 | notify-send -u low 'rclone backup completed' 'Remote backup successfully completed' 19 | 20 | say 'done completed finished bye' 21 | 22 | -------------------------------------------------------------------------------- /dotfiles/msmtprc.in: -------------------------------------------------------------------------------- 1 | # msmtprc --- Send mail. 2 | 3 | # Set default values for all following accounts. 4 | defaults 5 | auth on 6 | tls on 7 | tls_trust_file /etc/ssl/certs/ca-certificates.crt 8 | tls_starttls off 9 | protocol smtp 10 | # Leave ↓ blank for check netrc 11 | password 12 | 13 | # self@ 14 | account self 15 | host __MAIL_HOST__ 16 | port 465 17 | from __MAIL_ADDR__ 18 | user __MAIL_ADDR__ 19 | passwordeval "pass show email/__MAIL_ADDR__" 20 | 21 | # Set a default account 22 | account default : self 23 | -------------------------------------------------------------------------------- /systems/diotima/install.desktop: -------------------------------------------------------------------------------- 1 | audacity 2 | cheese 3 | clipit 4 | dconf-editor 5 | devhelp 6 | dex 7 | diffpdf 8 | fcitx-table-ipa-x-sampa 9 | gimp 10 | gsmartcontrol 11 | ibus-mozc 12 | inkscape 13 | kdeconnect 14 | kitty 15 | krop 16 | libnotify-bin 17 | libreoffice 18 | liferea 19 | mpv 20 | pdf-presenter-console 21 | pdfarranger 22 | pdfsam 23 | qrencode 24 | quodlibet 25 | rofi 26 | simplescreenrecorder 27 | simple-scan 28 | stellarium 29 | transmission-gtk 30 | virtualbox-qt 31 | xclip 32 | xdotool 33 | xpra 34 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # .gitattributes 2 | 3 | dotfiles/vim/colors/*.vim vendored linguist-vendored 4 | lib/lisp/emacs/**/*.el vendored linguist-vendored 5 | lib/lisp/emacs/**/*.c vendored linguist-vendored 6 | lib/lisp/emacs/**/*.h vendored linguist-vendored 7 | lib/lisp/emacs/**/*.in vendored linguist-vendored 8 | emacs.d/extras/*.xsl vendored linguist-vendored 9 | lib/lua/lunajson/*.lua vendored linguist-vendored 10 | lib/lua/lunajson.lua vendored linguist-vendored 11 | lib/pandoc-zotxt.lua vendored linguist-vendored 12 | -------------------------------------------------------------------------------- /emacs.d/bin/emacs-browse-url.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # emacs-browse.bash --- emacs browse-url interface for freedesktop 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | # HACK(2021-04-22): xdg-open cannot handle %-codes when they are not 9 | # space-separated. 10 | # see: https://github.com/freedesktop/xdg-utils/blob/d11b33ec7f24cfb1546f6b459611d440013bdc72/scripts/xdg-open.in#L296-L320 11 | 12 | . $MYLIB/fns.sh 13 | 14 | say browsing $1 15 | 16 | emacsclient -c --eval "(browse-url \"$1\")" 17 | -------------------------------------------------------------------------------- /lib/android.sh: -------------------------------------------------------------------------------- 1 | # android.sh --- Android development environment settings. 2 | 3 | ### Environment: 4 | optdir="$HOME/opt" 5 | 6 | export ANDROID_HOME="$optdir/android-sdk-tools" 7 | export ANDROID_PTOOLS="$ANDROID_HOME/platform-tools" 8 | export FLUTTER="$optdir/flutter" 9 | 10 | PATH="$PATH:$ANDROID_HOME/tools/bin:$FLUTTER/bin" 11 | 12 | ### Helpers: 13 | alias terriblepileofshit="$optdir/android-studio/bin/studio.sh" 14 | alias ptool="printf \"$ANDROID_PTOOLS/%s\"" 15 | alias flutterdocs="$FLUTTER/dev/bots/docs.sh" 16 | -------------------------------------------------------------------------------- /lib/debian-virtualbox.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # debian-virtualbox.sh --- install virtualbox from upstream 3 | 4 | . /etc/os-release 5 | 6 | echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $DEBIAN_CODENAME contrib" > /etc/apt/sources.list.d/gk-virtualbox.list 7 | 8 | wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - 9 | wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - 10 | 11 | apt-get update 12 | apt-get install virtualbox-6.1 13 | -------------------------------------------------------------------------------- /systems/sappho/online-backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # online-backup.sh --- online backups for sappho 3 | 4 | # To be called by bin/rclone-backup.sh 5 | 6 | # Set GK_RCLONE_FLAGS to pass flags to rclone(1). 7 | 8 | remote="encryptifier-$(hostname)" 9 | flags="$GK_RCLONE_FLAGS" 10 | 11 | rclone $flags copy "$HOME/Documents" "$remote:/Documents" 12 | rclone $flags copy "$HOME/Research" "$remote:/Research" 13 | rclone $flags copy "$HOME/Notlar" "$remote:/Notlar" 14 | rclone $flags copy "$HOME/Library" "$remote:/Library" 15 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/amsbsy.el: -------------------------------------------------------------------------------- 1 | ;;; amsbsy.el --- Style hook for the AMS-LaTeX amsbsy package. 2 | ;;; 3 | ;;; AUTHOR: Carsten Dominik 4 | 5 | ;;; Code: 6 | 7 | (TeX-add-style-hook "amsbsy" 8 | (function 9 | (lambda () 10 | (TeX-add-symbols 11 | '("boldsymbol" "Symbol") 12 | '("pmb" "Symbol") 13 | ))) 14 | LaTeX-dialect) 15 | 16 | (defvar LaTeX-amsbsy-package-options nil 17 | "Package options for the amsbsy package.") 18 | 19 | ;;; amsbsy.el ends here. 20 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/swedish.el: -------------------------------------------------------------------------------- 1 | ;;; swedish.el --- Setup AUCTeX for editing Swedish text. 2 | 3 | ;;; Commentary: 4 | ;; 5 | ;; Apparently the Swedes use ''this style'' quotations. 6 | 7 | (TeX-add-style-hook 8 | "swedish" 9 | (lambda () 10 | (unless (eq (car TeX-quote-language) 'override) 11 | (setq TeX-quote-language 12 | `("swedish" "''" ,TeX-close-quote ,TeX-quote-after-quote))) 13 | (setq LaTeX-babel-hyphen-language "swedish") 14 | (run-hooks 'TeX-language-sv-hook)) 15 | LaTeX-dialect) 16 | -------------------------------------------------------------------------------- /lib/kvm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # kvm.sh --- set up user for kvm accel 3 | 4 | [ "$(id -u)" -le 999 ] \ 5 | && { echo "run script as a regular user"; exit 1; } 6 | 7 | [ $(egrep -c '(vmx|svm)' /proc/cpuinfo) -ge 1 ] \ 8 | || { echo "can not use kvm"; exit 2; } 9 | 10 | sudo apt-get install qemu-kvm libvirt-daemon-system \ 11 | libvirt-clients bridge-utils 12 | 13 | # for android? 14 | # sudo apt-get install libvirt-bin ubuntu-vm-builder ia32-libs-multiarch 15 | 16 | sudo adduser $(id -un) libvirt 17 | sudo adduser $(id -un) kvm 18 | 19 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-quickphrase.config: -------------------------------------------------------------------------------- 1 | [QuickPhrase] 2 | # Trigger Key for QuickPhrase 3 | # Available Value: 4 | # None 5 | # Semicolon 6 | # Grave 7 | #QuickPhraseTriggerKey=Semicolon 8 | # Alternative Trigger Key for QuickPhrase 9 | #AlternativeTriggerKey= 10 | # Choose key modifier 11 | # Available Value: 12 | # None 13 | # Alt 14 | # Ctrl 15 | # Shift 16 | #ChooseModifier=None 17 | # Do not show spell hint 18 | # Available Value: 19 | # True False 20 | #DisableSpell=False 21 | # Maximum hint length 22 | #MaximumHintLength=2 23 | 24 | -------------------------------------------------------------------------------- /lib/lisp/emacs/biblio/.travis.yml: -------------------------------------------------------------------------------- 1 | language: emacs-lisp 2 | 3 | sudo: no 4 | 5 | env: 6 | - EVM_EMACS=emacs-24.3-travis 7 | - EVM_EMACS=emacs-24.4-travis 8 | - EVM_EMACS=emacs-24.5-travis 9 | # - EVM_EMACS=emacs-git-snapshot-travis 10 | 11 | before_install: 12 | - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > travis.sh && source ./travis.sh 13 | - evm install "$EVM_EMACS" --use --skip 14 | 15 | install: 16 | - make version 17 | - make depends 18 | 19 | script: 20 | - make elc 21 | - make test 22 | -------------------------------------------------------------------------------- /emacs.d/etc/mc-lists.el: -------------------------------------------------------------------------------- 1 | ;; This file is automatically generated by the multiple-cursors extension. 2 | ;; It keeps track of your preferences for running commands with multiple cursors. 3 | 4 | (setq mc/cmds-to-run-for-all 5 | '( 6 | gk-bol 7 | gk-maybe-expand-abbrev-or-space 8 | org-end-of-line 9 | org-force-self-insert 10 | org-kill-line 11 | org-yank 12 | )) 13 | 14 | (setq mc/cmds-to-run-once 15 | '( 16 | org-cycle 17 | org-self-insert-command 18 | )) 19 | -------------------------------------------------------------------------------- /emacs.d/etc/snippets/org-mode/asmt.snippet: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: assignment 3 | # key: asmt 4 | # -- 5 | 6 | #+title: Assignment: ${1:Title} 7 | 8 | * $1 9 | :export-setup: 10 | #+subtitle: ${2:Subtitle} 11 | #+author: İsmail Göktuğ Kayaalp 12 | #+date: `(format-time-string "%d %b %Y")` 13 | #+language: english 14 | #+include: ~/Notes/Templates/org/Assignment.org 15 | #+latex_header_extra: \addbibresource{./`(car (last (split-string default-directory "/" t)))`.bib} 16 | :end: 17 | 18 | $0 19 | 20 | * References 21 | {{{bibs}}} 22 | -------------------------------------------------------------------------------- /bin/i3-workspace-finder.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # i3-workspace-finder.bash --- fuzzy-match i3wm workspaces 3 | 4 | # Adapted from https://cyberchaos.dev/kookie/nomicon/-/blob/main/\ 5 | # infra/libkookie/modules/workstation/ui/i3/core/tools/i3-switch.nix 6 | 7 | # bash strict mode 8 | set -euo pipefail 9 | IFS=$'\n\t' 10 | 11 | workspace="$(i3-msg -t get_workspaces \ 12 | | jq -r -M '.[] | .name' | sort -u \ 13 | | dmenu -p 'Go to workspace (or create if new)')" 14 | 15 | i3-msg workspace $workspace 16 | -------------------------------------------------------------------------------- /systems/diotima/install.libraries: -------------------------------------------------------------------------------- 1 | libcurl4-gnutls-dev 2 | libfuse-dev 3 | libgccjit-9-dev 4 | libgirepository1.0-dev 5 | libimage-exiftool-perl 6 | libjansson-dev 7 | libjson-perl 8 | libjs-pdf 9 | liblocal-lib-perl 10 | libpoppler-glib-dev 11 | libpoppler-private-dev 12 | libreply-perl 13 | libssl-dev 14 | libswitch-perl 15 | libuniversal-isa-perl 16 | python3-dev 17 | python3-pip 18 | python3-setuptools 19 | python3-tk 20 | python3-venv 21 | python3-wheel 22 | r-cran-car 23 | r-cran-psych 24 | r-cran-rio 25 | r-cran-tidyverse 26 | r-recommended 27 | ruby-dev 28 | -------------------------------------------------------------------------------- /bin/launch-qutebrowser.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # launch-qutebrowser.bash --- launch qutebrowser from virtual environment 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | export PATH="$HOME/local/_qutebrowser/bin/:$PATH" 9 | . $HOME/local/_qutebrowser/bin/activate 10 | 11 | 12 | # Workaround from 13 | # https://github.com/qutebrowser/qutebrowser/issues/5656#issuecomment-761821220 14 | 15 | rm -frv ~/.local/share/qutebrowser/webengine/Service\ Worker/CacheStorage 16 | 17 | exec ~/local/_qutebrowser/bin/python3 -m qutebrowser "$@" 18 | 19 | -------------------------------------------------------------------------------- /cron/sappho.crontab: -------------------------------------------------------------------------------- 1 | # sappho.crontab 2 | 3 | # Example of job definition: 4 | # .---------------- minute (0 - 59) 5 | # | .------------- hour (0 - 23) 6 | # | | .---------- day of month (1 - 31) 7 | # | | | .------- month (1 - 12) ⁽¹⁾ 8 | # | | | | .---- day of week (0 - 6) ⁽²⁾ 9 | # | | | | | 10 | # min hr day month week command to be executed 11 | 12 | */5 * * * * $HOME/bin/dconf-dump.sh >/dev/null 13 | 30 */2 * * * $HOME/bin/rclone-backup.sh 14 | 45 */6 * * * $HOME/bin/borg-backup.bash 15 | 16 | # ¹ OR jan,feb,mar,apr ... 17 | # ² (Sunday=0 or 7) OR sun,mon, ... 18 | -------------------------------------------------------------------------------- /dotfiles/qutebrowser/userscripts/bibtex: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # bibtex --- fetch BibTeX from DOI/ISBN/... 3 | 4 | use v5.30; 5 | 6 | use strict; 7 | use warnings; 8 | 9 | 10 | =pod 11 | - https://www.molspaces.com/cb2bib/doc/overview/ 12 | 13 | - https://gist.github.com/DavidGriffith/5097431 14 | - «Reads ISBN numbers from a file, checks them for validity, fetches 15 | the corresponding data from isbndb.com, then outputs a BibTeX file 16 | with all fields set accordingly. An API key from isbndb.com is 17 | required; see NOTES below.» 18 | =cut 19 | -------------------------------------------------------------------------------- /share/applications/emacs.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=GNU Emacs (gk) 3 | GenericName=Mother of all programs 4 | Comment=Conquer the world 5 | Exec=emacs-maybe-client.bash 6 | Icon=emacs.png 7 | Type=Application 8 | Terminal=false 9 | Categories=Development;TextEditor; 10 | StartupWMClass=Emacs 11 | Keywords=Text;Editor;Lisp; 12 | Actions=new-window;load-project; 13 | 14 | [Desktop Action new-window] 15 | Name=Open a New Client Frame 16 | Exec=emacsclient -c 17 | 18 | [Desktop Action load-project] 19 | Name=Open a New Client Frame for Project 20 | Exec=gk-open-project.bash 21 | -------------------------------------------------------------------------------- /systems/sappho/udev.rules: -------------------------------------------------------------------------------- 1 | # sappho.rules --- udev rules for sappho 2 | 3 | # Make trackpoint more responsive. 4 | KERNEL=="serio2" ATTR{description}=="Synaptics pass-through" ATTR{sensitivity}="150" 5 | KERNEL=="serio2" ATTR{description}=="Synaptics pass-through" ATTR{speed}="255" 6 | 7 | # ThinkPad dock 8 | KERNEL=="dock.*" ATTR{type}=="dock_station" ATTR{docked}=="0" WAIT_FOR="/home/cadadr" RUN+="/home/cadadr/cf/systems/sappho/dock.bash undocked" 9 | KERNEL=="dock.*" ATTR{type}=="dock_station" ATTR{docked}=="1" WAIT_FOR="/home/cadadr" RUN+="/home/cadadr/cf/systems/sappho/dock.bash docked" -------------------------------------------------------------------------------- /bin/dconf-dump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # dconf-dump.sh --- dump dconf database for system 3 | 4 | . $HOME/.profile 5 | . $MYLIB/cron.sh 6 | . $MYLIB/fns.sh 7 | 8 | # This pops up sometimes for some reason 9 | if [ "$DESKTOP_SESSION" = "cinnamon" ]; then 10 | dconf reset -f /org/mate/ 11 | fi 12 | 13 | # Load filters 14 | . $MYLIB/dconf.filter 15 | 16 | say "dumping dconf database for $MYSYSTEM..." 17 | /usr/bin/dconf dump / \ 18 | | grep -Ev "^($(echo $filter | tr ' ' '|'))=" \ 19 | | grep -v 'nm-applet' \ 20 | | inirefmt.py \ 21 | > $MYSYSTEM/dconf.dump 22 | say 'done' 23 | -------------------------------------------------------------------------------- /systems/Readme.markdown: -------------------------------------------------------------------------------- 1 | # Göktuğ's Systems 2 | 3 | This tree contains system-level configurations specific to my computers. 4 | 5 | ## [`sappho`](https://en.wikipedia.org/wiki/Sappho): mobile workstation 6 | 7 | Void Linux based config for ThinkPad x230. 8 | 9 | ## [`diotima`](https://en.wikipedia.org/wiki/Diotima_of_Mantinea): desktop workstation 10 | 11 | Linux Mint Cinnamon based desktop workstation. 12 | 13 | ## [`xsanthippe`](https://en.wikipedia.org/wiki/Xanthippe): Raspberry Pi 14 | 15 | A config for an RPi that acts as a networked printer / scanner / 16 | backup server. 17 | -------------------------------------------------------------------------------- /emacs.d/etc/latest-good-build: -------------------------------------------------------------------------------- 1 | ;; AUTO GENERATED FILE, DO NOT MODIFY! 2 | ;; 3 | ;; This file indicates the latest build from GNU Emacs git repo that is 4 | ;; known to work with my Emacs and dotfiles setup. 5 | ;; 6 | ;; Last updated: 2023-08-2700:11:41+0300. 7 | 8 | (:system "x86_64-pc-linux-gnu" :commit 9 | "ecb1e6c71323127b0b6d171861376950d28073c0" :branch "master" 10 | :version 11 | "GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0)\n of 2023-08-26" 12 | :source source-directory) 13 | 14 | ;; Local Variables: 15 | ;; mode: emacs-lisp 16 | ;; End: 17 | -------------------------------------------------------------------------------- /bin/i3-move-to-workspace.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # i3-move-to-workspace.bash --- fuzzy-match i3wm workspaces and move active container 3 | 4 | # Adapted from https://cyberchaos.dev/kookie/nomicon/-/blob/main/\ 5 | # infra/libkookie/modules/workstation/ui/i3/core/tools/i3-switch.nix 6 | 7 | # bash strict mode 8 | set -euo pipefail 9 | IFS=$'\n\t' 10 | 11 | workspace="$(i3-msg -t get_workspaces \ 12 | | jq -r -M '.[] | .name' | sort -u \ 13 | | dmenu -p 'Move active window to workspace (match or new)')" 14 | 15 | i3-msg move container to workspace $workspace 16 | -------------------------------------------------------------------------------- /bin/pdfs.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # pdfs.bash --- save or load list of open pdfs 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | fil="${PDFS_SAVE_FILE:-$HOME/pdfs.dat}" 9 | cmd="${PDFS_OPEN_COMMAND:-okular}" 10 | 11 | case $@ in 12 | dump) lsof | grep \\.pdf | awk 'FS=" /" {print "/" $2}' \ 13 | | tail +2 | sort | uniq | tr '\n' '\0' \ 14 | > "$fil" ; 15 | echo Wrote $fil ;; 16 | load) xargs -0 $cmd < "$fil" 2>/dev/null 1>/dev/null & ;; 17 | *) echo "usage: $0 [dump|load]" ; exit 2 ;; 18 | esac 19 | -------------------------------------------------------------------------------- /dotfiles/clipit/clipitrc: -------------------------------------------------------------------------------- 1 | [rc] 2 | use_copy=true 3 | use_primary=false 4 | synchronize=false 5 | automatic_paste=false 6 | show_indexes=true 7 | save_uris=true 8 | use_rmb_menu=false 9 | save_history=false 10 | history_limit=50 11 | history_timeout_seconds=30 12 | history_timeout=false 13 | items_menu=20 14 | statics_show=true 15 | statics_items=10 16 | hyperlinks_only=false 17 | confirm_clear=false 18 | single_line=true 19 | reverse_history=false 20 | item_length=50 21 | ellipsize=2 22 | history_key= 23 | actions_key= 24 | menu_key= 25 | search_key= 26 | offline_key= 27 | offline_mode=false 28 | exclude_windows= 29 | -------------------------------------------------------------------------------- /dotfiles/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # kitty.conf 2 | 3 | shell_integration no-rc 4 | 5 | font_family Iosevka Cadadrish Sans Extended 6 | font_size 9.0 7 | italic_font auto 8 | bold_font auto 9 | bold_italic_font auto 10 | 11 | enable_audio_bell no 12 | mouse_hide_wait 0 13 | remember_window_size no 14 | close_on_child_death yes 15 | 16 | scrollback_lines 1000000 17 | scrollback_pager less --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER 18 | scrollback_pager_history_size 0 19 | 20 | tab_bar_style separator 21 | 22 | # Single click to follow URLs 23 | url_style double 24 | 25 | include $GK_KITTY_THEME 26 | -------------------------------------------------------------------------------- /bin/load-screen-layout.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # load-screen-layout.bash --- load a saved screen layout 3 | 4 | # bash strict mode 5 | #set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | layout_dir="$HOME/.screenlayout" 9 | 10 | declare -A layout_map 11 | 12 | layout_scripts="$(ls $layout_dir/ | grep $HOSTNAME)" 13 | 14 | for layout in $layout_scripts; do 15 | layout_id="$(basename -s .sh $layout | tr '-' ' ')" 16 | layout_map+=(["$layout_id"]="$layout") 17 | done 18 | 19 | 20 | for key in "${!layout_map[@]}"; do echo $key; done | dmenu | ( 21 | read key 22 | exec $layout_dir/${layout_map[$key]} 23 | ) 24 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/graphics.el: -------------------------------------------------------------------------------- 1 | ;;; graphics.el --- Handle graphical commands in LaTeX 2e. 2 | 3 | ;;; Code: 4 | 5 | ;; Load "graphicx" explicitly to access `LaTeX-graphicx-package-options' 6 | ;; before running style hook "graphics". This is necessary to have 7 | ;; support for completion of package options of "usepackage". 8 | (TeX-load-style "graphicx") 9 | (defvar LaTeX-graphics-package-options LaTeX-graphicx-package-options) 10 | 11 | (TeX-add-style-hook "graphics" 12 | (function 13 | (lambda () 14 | (TeX-run-style-hooks "graphicx"))) 15 | LaTeX-dialect) 16 | 17 | ;;; graphics.el ends here. 18 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/slovak.el: -------------------------------------------------------------------------------- 1 | ;;; slovak.el --- Setup AUCTeX for editing Slovak text. 2 | 3 | ;; Silence the compiler: 4 | (declare-function font-latex-add-quotes 5 | "font-latex" 6 | (quotes)) 7 | 8 | (TeX-add-style-hook 9 | "slovak" 10 | (lambda () 11 | (unless (eq (car TeX-quote-language) 'override) 12 | (setq TeX-quote-language `("slovak" "\\uv{" "}" ,TeX-quote-after-quote))) 13 | (when (fboundp 'font-latex-add-quotes) 14 | (font-latex-add-quotes '("\"`" "\"'")) 15 | (font-latex-add-quotes '("\"<" "\">" french))) 16 | (run-hooks 'TeX-language-sk-hook)) 17 | LaTeX-dialect) 18 | -------------------------------------------------------------------------------- /emacs.d/ext/Makefile: -------------------------------------------------------------------------------- 1 | # makefile --- Makefile for local emacs modules. 2 | 3 | EMACS_ROOT = $(HOME)/co/External/emacs 4 | 5 | CC = gcc 6 | LD = gcc 7 | CFLAGS = -ggdb3 -Wall -I$(EMACS_ROOT)/src -fPIC 8 | LDFLAGS = -shared 9 | 10 | ALLMODS=example 11 | 12 | all: $(ALLMODS) 13 | 14 | example: gk-example.so 15 | 16 | gk-example.so: gk-module.o gk-example.o 17 | $(LD) $(LDFLAGS) -o $@ $+ 18 | 19 | gk-module.o: gk-module.c 20 | $(CC) $(CFLAGS) -o $@ -c $+ 21 | 22 | gk-example.o: gk-example.c 23 | $(CC) $(CFLAGS) -o $@ -c $+ 24 | 25 | clean: 26 | rm -f *.o *.so 27 | 28 | .MAIN: all 29 | 30 | .PHONY: clean all $(ALLMODS) 31 | -------------------------------------------------------------------------------- /lib/fns.sh: -------------------------------------------------------------------------------- 1 | # fns.sh --- common functions 2 | 3 | # Generic log function that prints to stdout 4 | say () { 5 | msg="$0 [$(date)]: $@" 6 | echo $msg 7 | if [ "x${GK_NOTIFY-no}" = xyes ]; then 8 | # IDK why I need to do this but if I use "$@" directly in 9 | # notify-send command line, it doesn’t work and says invalid 10 | # number of arguments... 11 | str="$@" 12 | notify-send -u normal "$0" "$str" 13 | fi 14 | } 15 | 16 | die () { 17 | say $@ 18 | exit 1 19 | } 20 | 21 | # Log function for xinit scripts 22 | logx () { 23 | echo \[$(date)\] $* >> ~/.xinit.errors 24 | } 25 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/dropdown.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * dropdown_xpm[] = { 3 | "10 24 3 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #292C29", 6 | "+ c #B3B3B3", 7 | " ", 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " . . ", 18 | " ... ... ", 19 | " ...... ", 20 | " .... ", 21 | " .. ", 22 | " ++ ", 23 | " ", 24 | " ", 25 | " ", 26 | " ", 27 | " ", 28 | " ", 29 | " ", 30 | " "}; 31 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/printers@cinnamon.org/6.json: -------------------------------------------------------------------------------- 1 | { 2 | "section1": { 3 | "type": "section", 4 | "description": "Appearance" 5 | }, 6 | "show-icon": { 7 | "type": "radiogroup", 8 | "default": "printers", 9 | "description": "Show printer icon", 10 | "options": { 11 | "Always": "always", 12 | "When printers exist": "printers", 13 | "When printing": "jobs" 14 | }, 15 | "tooltip": "Choose when to show the printer icon in the panel", 16 | "value": "printers" 17 | }, 18 | "__md5__": "93e5a8d56ccfdbf949efa8b7e5b6ef9d" 19 | } -------------------------------------------------------------------------------- /cron/diotima.crontab: -------------------------------------------------------------------------------- 1 | # diotima.crontab 2 | 3 | SESSION_MANAGER=cinnamon-session 4 | USER=g 5 | 6 | # Example of job definition: 7 | # .---------------- minute (0 - 59) 8 | # | .------------- hour (0 - 23) 9 | # | | .---------- day of month (1 - 31) 10 | # | | | .------- month (1 - 12) ⁽¹⁾ 11 | # | | | | .---- day of week (0 - 6) ⁽²⁾ 12 | # | | | | | 13 | # min hr day month week command to be executed 14 | 15 | */5 * * * * $HOME/bin/cronic $HOME/bin/dconf-dump.sh 16 | 30 */2 * * * $HOME/bin/cronic $HOME/bin/rclone-backup.sh 17 | 45 */6 * * * $HOME/bin/cronic $HOME/bin/borg-backup.bash 18 | 19 | # ¹ OR jan,feb,mar,apr ... 20 | # ² (Sunday=0 or 7) OR sun,mon, ... 21 | -------------------------------------------------------------------------------- /dotfiles/qutebrowser/commands.py: -------------------------------------------------------------------------------- 1 | # commands.py --- custom command definitions 2 | 3 | ### Commentary: 4 | 5 | # These are custom commands defined using the internal (but with the 6 | # planned Extensions API possibly to be external some time in the 7 | # future) APIs of Qutebrowser. Caution is needed when writing these 8 | # given these could break stuff at the run time. 9 | 10 | 11 | ### Code: 12 | 13 | from qutebrowser.api import cmdutils 14 | 15 | 16 | # The general format of a command definition is as follows: 17 | 18 | @cmdutils.register() 19 | def test_I_can_register_commands(some_flag: bool = False): 20 | "Just an example command." 21 | pass 22 | 23 | -------------------------------------------------------------------------------- /emacs.d/bin/emacs-load-test.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # emacs-load-test.bash --- emacs load test 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | EMACS="${EMACS-emacs}" 9 | 10 | echo 11 | echo "EMACS=$EMACS" 12 | echo 13 | 14 | # XXX(2020-06-01): ‘-d ''’ doesn’t work for some reason. 15 | read -r -d ';;;' expression < c #CECEB2", 17 | ", c #363632", 18 | "' c #6E6E62", 19 | ") c #0E0E0E", 20 | "! c #52524A", 21 | "............", 22 | ".>>>>$*>>>>.", 23 | ".>>>>&>>>>>.", 24 | ".'.,@+##&$%.", 25 | ".>)>'#>>&!>.", 26 | ".>=%#%%>@&>.", 27 | "..,@>*>-@&>=", 28 | " # #,>>#-%%.", 29 | " . @,%>>>>.", 30 | " . !;#>>>.", 31 | " . . ,;.", 32 | " . .. .."}; 33 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvwrk12.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * nwork12_xpm[] = { 3 | "12 12 17 1", 4 | " c None", 5 | ". c #0F110E", 6 | "+ c #161815", 7 | "@ c #1F211E", 8 | "# c #383937", 9 | "$ c #6A6C69", 10 | "% c #818380", 11 | "& c #E46767", 12 | "* c #FF6467", 13 | "= c #959794", 14 | "- c #DC9897", 15 | "; c #ADAFAC", 16 | "> c #FF9797", 17 | ", c #C6C8C5", 18 | "' c #FFCBCA", 19 | ") c #E4E6E3", 20 | "! c #FBFDFA", 21 | " >> ", 22 | " '**' ", 23 | " >>>> ", 24 | " '*''*' ", 25 | " >>!)>> ", 26 | " '*,==,*' ", 27 | " >>$@=!>> ", 28 | " '*';#;!'*' ", 29 | " >>!$$=!,-> ", 30 | "'*'=)%!%.@&'", 31 | ">>!=!=;..+$>", 32 | " ********** "}; 33 | -------------------------------------------------------------------------------- /lib/ungoogled-chromium.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ungoogled-chromium.sh --- set up ungoogled-chromium repo and install 3 | 4 | . /etc/os-release 5 | 6 | osid="Ubuntu_$(echo $UBUNTU_CODENAME | sed -E 's/^(.)(.*)/\u\1\2/')" 7 | 8 | base="http://download.opensuse.org/repositories/home" 9 | 10 | echo "deb $base:/ungoogled_chromium/$osid/ /" \ 11 | | sudo tee /etc/apt/sources.list.d/home-ungoogled_chromium.list \ 12 | > /dev/null 13 | 14 | curl -s "$base:/ungoogled_chromium/$osid/Release.key" \ 15 | | gpg --dearmor \ 16 | | sudo tee /etc/apt/trusted.gpg.d/home-ungoogled_chromium.gpg \ 17 | > /dev/null 18 | 19 | apt update 20 | apt install -y ungoogled-chromium ungoogled-chromium-sandbox 21 | -------------------------------------------------------------------------------- /lib/log-notifications.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # log-notifications.sh --- dunst script to log notifications 3 | 4 | mkdir -p $HOME/log 5 | 6 | cat <> $MYLOGS/dunst.log 7 | ----- 8 | id: $DUNST_ID 9 | timestamp: $DUNST_TIMESTAMP 10 | summary: $DUNST_SUMMARY 11 | app_name: $DUNST_APP_NAME 12 | -- 13 | body: $DUNST_BODY 14 | icon_path: $DUNST_ICON_PATH 15 | urgency: $DUNST_URGENCY 16 | progress: $DUNST_PROGRESS 17 | category: $DUNST_CATEGORY 18 | stack_tag: $DUNST_STACK_TAG 19 | urls: $DUNST_URLS 20 | timeout: $DUNST_TIMEOUT 21 | desktop_entry: $DUNST_DESKTOP_ENTRY 22 | stack_tag: $DUNST_STACK_TAG 23 | ----- 24 | EOF 25 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-keyboard.config: -------------------------------------------------------------------------------- 1 | [Keyboard] 2 | # Commit with extra space when choose candidate word 3 | # Available Value: 4 | # True False 5 | #CommitWithExtraSpace=False 6 | # Choose key modifier 7 | # Available Value: 8 | # None 9 | # Alt 10 | # Ctrl 11 | # Shift 12 | #ChooseModifier=Alt 13 | # Toggle the word hint 14 | #HotkeyToggleWordHint=CTRL_ALT_H 15 | # Minimum length to trigger word hint 16 | #MinimumHintLength=1 17 | # Maximum length of spell hint list 18 | #MaximumHintLength=5 19 | # Use enter to commit the existing string 20 | # Available Value: 21 | # True False 22 | #UseEnterToCommit=False 23 | # Add current input buffer to user dictionary 24 | #HotkeyAddToUserDict=CTRL_ALT_N 25 | 26 | -------------------------------------------------------------------------------- /lib/lisp/emacs/multiple-cursors/mc-mark-pop.el: -------------------------------------------------------------------------------- 1 | ;;; mc-mark-pop.el --- Pop cursors off of the mark stack 2 | 3 | (require 'multiple-cursors-core) 4 | 5 | ;;;###autoload 6 | (defun mc/mark-pop () 7 | "Add a cursor at the current point, pop off mark ring and jump 8 | to the popped mark." 9 | (interactive) 10 | ;; If the mark happens to be at the current point, just pop that one off. 11 | (while (eql (mark) (point)) 12 | (pop-mark)) 13 | (mc/create-fake-cursor-at-point) 14 | (exchange-point-and-mark) 15 | (pop-mark) 16 | (mc/maybe-multiple-cursors-mode)) 17 | 18 | ;; A good key binding for this feature is perhaps "C-S-p" ('p' for pop). 19 | 20 | (provide 'mc-mark-pop) 21 | 22 | ;;; mc-mark-pop.el ends here 23 | -------------------------------------------------------------------------------- /systems/xanthippe/etc/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes auto; 3 | pid /run/nginx.pid; 4 | 5 | events { 6 | worker_connections 768; 7 | } 8 | 9 | http { 10 | sendfile on; 11 | tcp_nopush on; 12 | tcp_nodelay on; 13 | keepalive_timeout 65; 14 | types_hash_max_size 2048; 15 | 16 | include /etc/nginx/mime.types; 17 | default_type application/octet-stream; 18 | 19 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE 20 | ssl_prefer_server_ciphers on; 21 | 22 | access_log /var/log/nginx/access.log; 23 | error_log /var/log/nginx/error.log; 24 | 25 | gzip on; 26 | gzip_disable "msie6"; 27 | 28 | include /etc/nginx/conf.d/*.conf; 29 | include /etc/nginx/sites-enabled/*.site; 30 | } 31 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-classic-ui.config: -------------------------------------------------------------------------------- 1 | [ClassicUI] 2 | # Status Panel Position X 3 | #MainWindowOffsetX=500 4 | # Status Panel Position Y 5 | #MainWindowOffsetY=40 6 | # Font Size 7 | #FontSize=0 8 | # Font 9 | #Font=Sans 10 | # Menu Font 11 | #MenuFont=Sans 12 | # Font Locale to display 13 | #FontLocale=zh_CN.UTF-8 14 | # Use System Tray Icon 15 | # Available Value: 16 | # True False 17 | #UseTray=True 18 | # Status Panel Hide Mode 19 | # Available Value: 20 | # Show 21 | # Auto 22 | # Hide when tray icon is available 23 | # Hide 24 | #MainWindowHideMode=Hide when tray icon is available 25 | # Vertical Candidate Word List 26 | # Available Value: 27 | # True False 28 | #VerticalList=False 29 | # Skin Name 30 | #SkinType=default 31 | 32 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prverr16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noway16[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 9 1", 5 | " c red", 6 | ". c #FD0D0D", 7 | "X c #FA1C1C", 8 | "o c #F52D2D", 9 | "O c #FB5B5B", 10 | "+ c #FC6060", 11 | "@ c #FFBBBB", 12 | "# c #FEFEFE", 13 | "$ c None", 14 | /* pixels */ 15 | "$$$$$ XXXX $$$$$", 16 | "$$$X. .X$$$", 17 | "$$o o$$", 18 | "$X. .X$", 19 | "$. .$", 20 | " ", 21 | "O@@@@@@@@@@@@@@O", 22 | "+##############+", 23 | "+##############+", 24 | "O@@@@@@@@@@@@@@O", 25 | " ", 26 | "$. .$", 27 | "$X. .X$", 28 | "$$o o$$", 29 | "$$$X. .X$$$", 30 | "$$$$$ XXXX $$$$$" 31 | }; 32 | -------------------------------------------------------------------------------- /lib/lisp/emacs/skewer-mode/skewer-setup.el: -------------------------------------------------------------------------------- 1 | ;;; skewer-setup.el --- automatic setup for the Skewer minor modes -*- lexical-binding: t; -*- 2 | 3 | ;; This is free and unencumbered software released into the public domain. 4 | 5 | ;;; Commentary: 6 | 7 | ;; This exists as a separate file so that Skewer need not be fully 8 | ;; loaded just to use this setup function. 9 | 10 | ;;; Code: 11 | 12 | ;;;###autoload 13 | (defun skewer-setup () 14 | "Fully integrate Skewer into js2-mode, css-mode, and html-mode buffers." 15 | (add-hook 'js2-mode-hook 'skewer-mode) 16 | (add-hook 'css-mode-hook 'skewer-css-mode) 17 | (add-hook 'html-mode-hook 'skewer-html-mode)) 18 | 19 | (provide 'skewer-setup) 20 | 21 | ;;; skewer-setup.el ends here 22 | -------------------------------------------------------------------------------- /bin/passmenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # passmenu.sh -- rofi script for pass(1). 3 | 4 | set +e 5 | 6 | prefix=${PASSWORD_STORE_DIR-~/.password-store} 7 | prompt="Select password store entry" 8 | password="$(pass git ls-files | grep -v ^\\. | sed s/.gpg\$// \ 9 | | dmenu -p "$prompt" -i)" 10 | notify="notify-send -i dialog-password" 11 | 12 | [ -z "$password" ] && { 13 | $notify "empty string received from rofi" 14 | exit 1 15 | } 16 | 17 | pass show -c $password 18 | 19 | [ "$?" = "0" ] && $notify "“$password” copied" \ 20 | "Password copied to clipboard, will be cleared after\ 21 | ${PASSWORD_STORE_CLIP_TIME:-45} seconds" \ 22 | || { 23 | $notify "error copying password '$password'" 24 | exit 1 25 | } 26 | 27 | -------------------------------------------------------------------------------- /dotfiles/hgrc.ini: -------------------------------------------------------------------------------- 1 | # hgrc.ini -- Mercurial setup. 2 | 3 | [extensions] 4 | hgext.convert= 5 | hgext.mq= 6 | hgext.patchbomb= 7 | hgext.fetch= 8 | hgext.purge= 9 | hgext.bookmarks= 10 | #hgext.git=/home/g/co/External/hg-git/hggit 11 | 12 | [ui] 13 | username = İ. Göktuğ Kayaalp 14 | # Always compress with SSH when using ssh(1). 15 | ssh = ssh -C 16 | paginate = False 17 | 18 | [alias] 19 | # committing 20 | cam = commit --amend 21 | cim = commit -m 22 | cin = commit --interactive 23 | ciao = commit --addremove 24 | # log 25 | l = log -G 26 | last = tip 27 | latest = log -l 10 -G 28 | # mq 29 | q = qapplied 30 | qs = qseries 31 | qf = qfinish 32 | qop = qpop 33 | qsh = qpush 34 | # hg-git 35 | remaster = bookmark -r tip master -------------------------------------------------------------------------------- /dotfiles/gtk-3.0/bookmarks.in: -------------------------------------------------------------------------------- 1 | file:///home/__USER__/Notlar Notlar 2 | file:///home/__USER__/Library Library 3 | file:///home/__USER__/Efemera Efemera 4 | file:///home/__USER__/Notlar/Okul Okul 5 | file:///home/__USER__/Sources Sources 6 | file:///home/__USER__/cf Configuration 7 | file:///home/__USER__/Documents Documents 8 | file:///home/__USER__/Downloads Downloads 9 | file:///home/__USER__/Documents/hacettepe Hacettepe 10 | file:///home/__USER__/Research/yltez Yüksek lisans 11 | file:///home/__USER__/Music Music 12 | file:///home/__USER__/Fotoğraflar Fotoğraflar 13 | file:///home/__USER__/Pictures Pictures 14 | file:///home/__USER__/Pictures/Screenshots Screenshots 15 | file:///home/__USER__/Research Research 16 | file:///home/__USER__/Videos Videos 17 | -------------------------------------------------------------------------------- /lib/firefox/install.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # install.bash --- install settings to all firefox profiles 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | profilesdir=$HOME/.mozilla/firefox 9 | 10 | grep ^Path $profilesdir/profiles.ini \ 11 | | while read line 12 | do 13 | profile_id="${line#Path=}" 14 | profile_path="$profilesdir/$profile_id" 15 | if [ -d $profile_path ]; then 16 | css_dest=$profile_path/chrome/userChrome.css 17 | js_dest=$profile_path/user.js 18 | 19 | mkdir -pv $profile_path/chrome 20 | 21 | install -v -T --backup=numbered $MYLIB/firefox/userChrome.css $css_dest 22 | install -v -T --backup=numbered $MYLIB/firefox/user.js $js_dest 23 | fi 24 | done 25 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvwrk14.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * nwork14_xpm[] = { 3 | "14 14 17 1", 4 | " c None", 5 | ". c #000100", 6 | "+ c #161816", 7 | "@ c #222421", 8 | "# c #2A2C29", 9 | "$ c #363836", 10 | "% c #525451", 11 | "& c #686A67", 12 | "* c #828481", 13 | "= c #FF6467", 14 | "- c #949693", 15 | "; c #A4A6A3", 16 | "> c #FF9797", 17 | ", c #B8BAB7", 18 | "' c #D8D6D4", 19 | ") c #FFCBCA", 20 | "! c #FAFDF9", 21 | " >> ", 22 | " )==) ", 23 | " >>>> ", 24 | " )=))=) ", 25 | " >>!!>> ", 26 | " )=)!!)=) ", 27 | " >>''@!>> ", 28 | " )=&%#!!)=) ", 29 | " >>-@$!!!>> ", 30 | " )=);%&!!!)=) ", 31 | " >>!&&;,!&,>> ", 32 | ")=)*',,'@.+'=)", 33 | ">>!-!';$+++%>>", 34 | " ============ "}; 35 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/danish.el: -------------------------------------------------------------------------------- 1 | ;;; danish.el --- Setup AUCTeX for editing Danish text. 2 | 3 | ;;; Code: 4 | 5 | ;; Silence the compiler: 6 | (declare-function font-latex-add-quotes 7 | "font-latex" 8 | (quotes)) 9 | 10 | (TeX-add-style-hook 11 | "danish" 12 | (lambda () 13 | (unless (eq (car TeX-quote-language) 'override) 14 | (setq TeX-quote-language `("danish" "\"`" "\"'" ,TeX-quote-after-quote))) 15 | (setq LaTeX-babel-hyphen-language "danish") 16 | ;; Fontification of quotation marks. 17 | (when (fboundp 'font-latex-add-quotes) 18 | (font-latex-add-quotes '("\"`" "\"'")) 19 | (font-latex-add-quotes '("\">" "\"<" german))) 20 | (run-hooks 'TeX-language-dk-hook)) 21 | LaTeX-dialect) 22 | 23 | ;;; danish.el ends here 24 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon-monitors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | no 4 | 5 | CMO 6 | 0x15a7 7 | 0x00000000 8 | 1366 9 | 768 10 | 59,989000 11 | 0 12 | 0 13 | normal 14 | no 15 | no 16 | yes 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /systems/sappho/full-backup.dirs: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # full-backup.dirs --- directories for full backup on sappho 3 | 4 | echo \ 5 | $HOME/.backups \ 6 | $HOME/.config \ 7 | $HOME/.elfeed \ 8 | $HOME/.fonts \ 9 | $HOME/.gnupg \ 10 | $HOME/.mozilla \ 11 | $HOME/.ssh \ 12 | $HOME/.var \ 13 | $HOME/.zotero \ 14 | $HOME/Apps \ 15 | $HOME/Audio \ 16 | $HOME/Desktop \ 17 | $HOME/Documents \ 18 | $HOME/Fotoğraflar \ 19 | $HOME/Library \ 20 | $HOME/Music \ 21 | $HOME/Notlar \ 22 | $HOME/Pictures \ 23 | $HOME/Posta \ 24 | $HOME/Research \ 25 | $HOME/Scratch \ 26 | $HOME/Sources \ 27 | $HOME/Videos \ 28 | $HOME/cf 29 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/ESSR/R/pkg.R: -------------------------------------------------------------------------------- 1 | 2 | .ess_keep <- function(.x, .f, ...) { 3 | is_true <- vapply(.x, .f, logical(1), ...) 4 | .x[is_true] 5 | } 6 | 7 | .ess_devtools_functions <- function() { 8 | if (!requireNamespace("devtools")) { 9 | .ess_mpi_error("devtools is not installed") 10 | stop("internal error") 11 | } 12 | devtools_env <- asNamespace("devtools") 13 | exports <- getNamespaceExports("devtools") 14 | funs_exported <- as.list(devtools_env)[exports] 15 | 16 | is_first_arg <- function(f, arg) { 17 | args <- names(formals(f)) 18 | length(args) && args[[1]] == arg 19 | } 20 | 21 | funs_pkg <- .ess_keep(funs_exported, is.function) 22 | funs_pkg <- .ess_keep(funs_pkg, is_first_arg, "pkg") 23 | funs_names <- sort(names(funs_pkg)) 24 | 25 | funs_names 26 | } 27 | -------------------------------------------------------------------------------- /packages.R: -------------------------------------------------------------------------------- 1 | # packages.R --- install R packages 2 | 3 | # Run with `Rscript --no-init-file' 4 | 5 | libdir <- Sys.getenv("R_LIBS_USER") 6 | 7 | if(!dir.exists(libdir)) { 8 | dir.create(libdir, recursive = T, showWarnings = T) 9 | } 10 | 11 | options(repos=c(CRAN="https://cloud.r-project.org/")) 12 | 13 | install.packages("rio", libdir) 14 | install.packages("tidyverse", libdir) 15 | install.packages("lintr", libdir) 16 | install.packages("gridExtra", libdir) 17 | install.packages("emuR", libdir) 18 | install.packages("lingtypology", libdir) 19 | 20 | ## FIXME(2022-10-18): does this work fine with ESS? 21 | # - https://github.com/emacs-ess/ESS/issues/554 22 | # - https://github.com/emacs-ess/ESS/issues/1214 23 | # - https://stackoverflow.com/q/72735320 24 | # install.packages("languageserver", libdir) 25 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/book.el: -------------------------------------------------------------------------------- 1 | ;;; book.el - Special code for book style. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-book-class-options 6 | '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper" 7 | "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final" 8 | "titlepage" "notitlepage" "openright" "openany" "onecolumn" "twocolumn" 9 | "leqno" "fleqn" "openbib") 10 | "Package options for the book class.") 11 | 12 | (TeX-add-style-hook 13 | "book" 14 | (lambda () 15 | (LaTeX-largest-level-set "part") 16 | (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection" 17 | "paragraph" "subparagraph" "figure" "table") 18 | (LaTeX-add-pagestyles "headings" "myheadings")) 19 | LaTeX-dialect) 20 | 21 | ;;; book.el ends here 22 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_gruvbox_dark.conf: -------------------------------------------------------------------------------- 1 | # Gruvbox colour theme for kitty(1), from: 2 | # https://gist.github.com/lunks/0d5731693084b2831c88ca23936d20e8 3 | 4 | foreground #ebdbb2 5 | background #272727 6 | selection_foreground #655b53 7 | selection_background #ebdbb2 8 | url_color #d65c0d 9 | 10 | # black 11 | color0 #272727 12 | color8 #928373 13 | 14 | # red 15 | color1 #cc231c 16 | color9 #fb4833 17 | 18 | # green 19 | color2 #989719 20 | color10 #b8ba25 21 | 22 | # yellow 23 | color3 #d79920 24 | color11 #fabc2e 25 | 26 | # blue 27 | color4 #448488 28 | color12 #83a597 29 | 30 | # magenta 31 | color5 #b16185 32 | color13 #d3859a 33 | 34 | # cyan 35 | color6 #689d69 36 | color14 #8ec07b 37 | 38 | # white 39 | color7 #a89983 40 | color15 #ebdbb2 41 | -------------------------------------------------------------------------------- /emacs.d/patches/vc-default-dir-extra-headers.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el 2 | index 41c44e2c24..839f401153 100644 3 | --- a/lisp/vc/vc-dir.el 4 | +++ b/lisp/vc/vc-dir.el 5 | @@ -1275,13 +1275,8 @@ vc-dir 6 | (vc-dir-mode)))) 7 | 8 | (defun vc-default-dir-extra-headers (_backend _dir) 9 | - ;; Be loud by default to remind people to add code to display 10 | - ;; backend specific headers. 11 | - ;; XXX: change this to return nil before the release. 12 | - (concat 13 | - (propertize "Extra : " 'face 'font-lock-type-face) 14 | - (propertize "Please add backend specific headers here. It's easy!" 15 | - 'face 'font-lock-warning-face))) 16 | + (ignore _backend _dir) 17 | + nil) 18 | 19 | (defvar vc-dir-filename-mouse-map 20 | (let ((map (make-sparse-keymap))) 21 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-pinyin-enhance.config: -------------------------------------------------------------------------------- 1 | [Pinyin Enhance] 2 | # Treating abbreviated Pinyin as English 3 | # Available Value: 4 | # True False 5 | #ShortAsEnglish=False 6 | # Allow replacing the first candidate 7 | # Available Value: 8 | # True False 9 | #AllowReplaceFirst=True 10 | # Do not show spell hint 11 | # Available Value: 12 | # True False 13 | #DisableSpell=False 14 | # Maximum hint length 15 | #MaximumHintLength=1 16 | # Hotkey for Inputing Character From Phrase 17 | #InputCharFromPhraseString=[] 18 | # Hotkey for switching to Inputing Character From Phrase mode 19 | #InputCharFromPhraseKey= 20 | # Disable Pinyin Symbol 21 | # Available Value: 22 | # True False 23 | #DisableSym=False 24 | # Stroke input trigger length 25 | #StrokeThresh=2 26 | # Maximum results from stroke input. 27 | #StrokeLimit=3 28 | 29 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/scrartcl.el: -------------------------------------------------------------------------------- 1 | ;;; -*- emacs-lisp -*- 2 | ;;; scrartcl.el -- AUCTeX style for scrartcl.cls 3 | 4 | ;; Copyright (C) 2002, 2005 Free Software Foundation 5 | ;; License: GPL, see the file COPYING in the base directory of AUCTeX 6 | 7 | ;; Author: Mark Trettin 8 | ;; Created: 2002-09-26 9 | ;; Keywords: tex 10 | 11 | ;;; Commentary: 12 | 13 | ;; This file adds support for `scrartcl.cls'. This file needs 14 | ;; `scrbase.el'. 15 | 16 | ;; This file is part of AUCTeX. 17 | 18 | ;;; Code: 19 | (TeX-add-style-hook "scrartcl" 20 | (lambda () 21 | (LaTeX-largest-level-set "section") 22 | ;; load basic definitons 23 | (TeX-run-style-hooks "scrbase") 24 | (LaTeX-add-environments "abstract")) 25 | LaTeX-dialect) 26 | 27 | ;;; scrartcl.el ends here 28 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/ESSR/R/mpi.R: -------------------------------------------------------------------------------- 1 | ## simple Message Parsing Inerface 2 | 3 | .ess_mpi_send <- function(head, ...){ 4 | dots <- lapply(list(...), function(el) { 5 | if (is.null(el)) "nil" 6 | else if (is.logical(el)) {if (el) "t" else "nil"} 7 | else as.character(el) 8 | }) 9 | payload <- paste(dots, collapse = "") 10 | cat(sprintf("_%s%s\\", head, payload)) 11 | } 12 | 13 | .ess_mpi_message <- function(msg){ 14 | .ess_mpi_send("message", msg) 15 | } 16 | 17 | .ess_mpi_y_or_n <- function(prompt, callback = NULL){ 18 | .ess_mpi_send("y-or-n", prompt, callback) 19 | } 20 | 21 | .ess_mpi_eval <- function(expr, callback = NULL){ 22 | .ess_mpi_send("eval", expr, callback) 23 | } 24 | 25 | .ess_mpi_error <- function(msg) { 26 | .ess_mpi_send("error", msg) 27 | } 28 | 29 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvwrk16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * nwork16_xpm[] = { 3 | "16 16 17 1", 4 | " c None", 5 | ". c #040703", 6 | "+ c #0E100D", 7 | "@ c #262825", 8 | "# c #434542", 9 | "$ c #4C4E4B", 10 | "% c #5B5D5A", 11 | "& c #70726F", 12 | "* c #868885", 13 | "= c #D86467", 14 | "- c #FF6467", 15 | "; c #A69F9F", 16 | "> c #FF9797", 17 | ", c #B6B8B5", 18 | "' c #C7C9C6", 19 | ") c #D5D7D4", 20 | "! c #FAFCF9", 21 | " >> ", 22 | " -- ", 23 | " >--> ", 24 | " ->>- ", 25 | " >-!!-> ", 26 | " ->!!>- ", 27 | " >-!!&*-> ", 28 | " -;#@;)>- ", 29 | " >-#&.;!!-> ", 30 | " ->!+@,!!>- ", 31 | " >-!&@%;!!!-> ", 32 | " ->)#,%,,&.;- ", 33 | " >-!%'!#!$..+=> ", 34 | " ->!&!!&&..++#- ", 35 | ">->>>>>>>>>>>>->", 36 | " >>>>>>>>>>>>>> "}; 37 | -------------------------------------------------------------------------------- /emacs.d/patches/turkish-language-environment-alist.patch: -------------------------------------------------------------------------------- 1 | Patch for bug#25763 2 | 3 | diff --git a/lisp/language/european.el b/lisp/language/european.el 4 | index 954ac1f450..6c0232efd3 100644 5 | --- a/lisp/language/european.el 6 | +++ b/lisp/language/european.el 7 | @@ -506,7 +506,7 @@ 'ibm437 8 | (input-method . "turkish-postfix") 9 | (sample-text . "Turkish (Türkçe) Merhaba") 10 | (setup-function . turkish-case-conversion-enable) 11 | - (setup-function . turkish-case-conversion-disable) 12 | + (exit-function . turkish-case-conversion-disable) 13 | (documentation . "Support for Turkish. 14 | Differs from the Latin-5 environment in using the `turkish-postfix' input 15 | method and applying Turkish case rules for the characters i, I, ı, İ."))) 16 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvtex16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * preview16_xpm[] = { 3 | "16 16 17 1", 4 | " c None", 5 | ". c #020202", 6 | "+ c #1A1A16", 7 | "@ c #636357", 8 | "# c #6E6E62", 9 | "$ c #828276", 10 | "% c #8A8A7A", 11 | "& c #969686", 12 | "* c #A6A692", 13 | "= c #B2B29E", 14 | "- c #BABAA6", 15 | "; c #363632", 16 | "> c #BEBEAA", 17 | ", c #52524A", 18 | "' c #CECEB2", 19 | ") c #46463E", 20 | "! c #7A7A6E", 21 | "................", 22 | ".''''''>@''''''.", 23 | ".''''''%>''''''.", 24 | ".'!..#*;,=#*'#=.", 25 | ".''.''!*>''&=@'.", 26 | ".''.''#@>''>)='.", 27 | ".'',,'#!@>'&@''.", 28 | " .;@;''*>'')%''.", 29 | " -$$;'''''%!>@=.", 30 | ". &$@;&'''*''>'.", 31 | ". @,+$'''''''.", 32 | " . ...;;;+''''.", 33 | " . . . .....", 34 | " . . . . . ", 35 | " . . . .. . ", 36 | " . .. . . ."}; 37 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/article.el: -------------------------------------------------------------------------------- 1 | ;;; article.el - Special code for article style. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-article-class-options 6 | '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper" 7 | "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final" 8 | "titlepage" "notitlepage" "onecolumn" "twocolumn" "leqno" "fleqn" "openbib") 9 | "Package options for the article class.") 10 | 11 | (TeX-add-style-hook 12 | "article" 13 | (lambda () 14 | (LaTeX-largest-level-set "section") 15 | (LaTeX-add-counters "part" "section" "subsection" "subsubsection" "paragraph" 16 | "subparagraph" "figure" "table") 17 | (LaTeX-add-pagestyles "headings" "myheadings") 18 | (LaTeX-add-environments "abstract")) 19 | LaTeX-dialect) 20 | 21 | ;;; article.el ends here 22 | -------------------------------------------------------------------------------- /systems/common/flatpak.sh: -------------------------------------------------------------------------------- 1 | # flatpak.sh --- install and configure flatpaks 2 | 3 | # Add flatpak remote 4 | flatpak remote-add --user --if-not-exists flathub \ 5 | https://flathub.org/repo/flathub.flatpakrepo 6 | 7 | flatpak --noninteractive install --user fi.skyjake.Lagrange 8 | flatpak --noninteractive install --user com.spotify.Client 9 | flatpak --noninteractive install --user com.github.tchx84.Flatseal 10 | flatpak --noninteractive install --user us.zoom.Zoom 11 | flatpak --noninteractive install --user com.ozmartians.VidCutter 12 | flatpak --noninteractive install --user com.valvesoftware.Steam 13 | flatpak --noninteractive install --user com.vscodium.codium 14 | flatpak --noninteractive install --user io.github.hmlendea.geforcenow-electron 15 | flatpak --noninteractive install --user org.onlyoffice.desktopeditors 16 | 17 | -------------------------------------------------------------------------------- /bin/inirefmt.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # inirefmt.py --- clean up and sort .ini file 3 | 4 | from collections import OrderedDict, UserDict 5 | from configparser import ConfigParser 6 | import sys 7 | 8 | 9 | class SortedDict(UserDict): 10 | """Ordered dictionary that keeps itself sorted.""" 11 | 12 | def __init__(self, **kwargs): 13 | super().__init__(**kwargs) 14 | self.data = OrderedDict(**kwargs) 15 | 16 | def __setitem__(self, key, value): 17 | super().__setitem__(key, value) 18 | self.data = OrderedDict( 19 | sorted(self.data.items(), key=lambda i: i[0]) 20 | ) 21 | 22 | 23 | cp = ConfigParser(dict_type=SortedDict) 24 | 25 | cs = sys.stdin.read() 26 | cp.read_string(cs) 27 | 28 | try: 29 | cp.write(sys.stdout) 30 | except BrokenPipeError: 31 | pass 32 | 33 | -------------------------------------------------------------------------------- /lib/lisp/emacs/pdf-tools/server/test/docker/lib/run-tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PATH="$(dirname "$0")":$PATH 4 | 5 | run_tests_exit_success() 6 | { 7 | echo "===============================" 8 | echo " Elisp Tests succeeded. :O) " 9 | echo "===============================" 10 | exit 0 11 | } 12 | 13 | set -e 14 | # Check that install completes successfully 15 | yes-or-enter | ./server/autobuild -i /bin 16 | # Check that re-install skips package installation 17 | yes-or-enter | ./server/autobuild -i /usr/bin | \ 18 | grep -q "Skipping package installation (already installed)" 19 | # Check that lisp tests run correctly, if emacs is installed and available on PATH 20 | echo 21 | if which emacs > /dev/null 2> /dev/null; then 22 | echo "Emacs found installed! Running elisp tests" 23 | make test && run_tests_exit_success 24 | fi 25 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_c64.conf: -------------------------------------------------------------------------------- 1 | # colours_c64.conf --- Commodore 64 theme for kitty 2 | 3 | # from https://github.com/dexpota/kitty-themes/ 4 | 5 | background #40318d 6 | foreground #7869c4 7 | cursor #7869c4 8 | selection_background #7869c4 9 | color0 #090300 10 | color8 #000000 11 | color1 #883932 12 | color9 #883932 13 | color2 #55a049 14 | color10 #55a049 15 | color3 #bfce72 16 | color11 #bfce72 17 | color4 #40318d 18 | color12 #40318d 19 | color5 #8b3f96 20 | color13 #8a3e95 21 | color6 #67b6bd 22 | color14 #67b6bd 23 | color7 #ffffff 24 | color15 #f7f7f7 25 | selection_foreground #40318d 26 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/power@cinnamon.org/power@cinnamon.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "labelinfo": { 3 | "type": "combobox", 4 | "description": "Display", 5 | "default": "nothing", 6 | "options": { 7 | "Show percentage": "percentage", 8 | "Show time remaining": "time", 9 | "Show percentage and time remaining": "percentage_time", 10 | "Hide label": "nothing" 11 | }, 12 | "value": "nothing" 13 | }, 14 | "showmulti": { 15 | "type": "switch", 16 | "default": false, 17 | "description": "Always show all batteries", 18 | "tooltip": "Check this to always show multiple batteries in the panel, regardless of whether one of them is marked primary.", 19 | "value": false 20 | }, 21 | "__md5__": "db29025b0930e93063f745d0adcc675a" 22 | } -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/report.el: -------------------------------------------------------------------------------- 1 | ;;; report.el - Special code for report style. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-report-class-options 6 | '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper" 7 | "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final" 8 | "titlepage" "notitlepage" "openright" "openany" "onecolumn" "twocolumn" 9 | "leqno" "fleqn" "openbib") 10 | "Package options for the report class.") 11 | 12 | (TeX-add-style-hook 13 | "report" 14 | (lambda () 15 | (LaTeX-largest-level-set "chapter") 16 | (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection" 17 | "paragraph" "subparagraph" "figure" "table") 18 | (LaTeX-add-pagestyles "headings" "myheadings") 19 | (LaTeX-add-environments "abstract")) 20 | LaTeX-dialect) 21 | 22 | ;;; report.el ends here 23 | -------------------------------------------------------------------------------- /bin/mailcap2xdg.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # mailcap2xdg.rb --- shim to make mailcap use xdg-open 3 | 4 | # How many mime handlers can you handle? I can only one. 5 | 6 | require 'mime/types' 7 | require 'tempfile' 8 | 9 | infile = File.open ARGV[0] 10 | mimeid = ARGV[1] 11 | 12 | unless infile and mimeid 13 | puts "usage: mailcap2xdg.rb INFILE MIMETYPE" 14 | exit 2 15 | end 16 | 17 | 18 | mimetype = MIME::Types[mimeid].first 19 | 20 | unless mimetype 21 | puts "bad mime type: #{mimeid} (file: #{infile})" 22 | exit 1 23 | end 24 | 25 | extension = mimetype.preferred_extension 26 | 27 | # #create does not remove the file automatically after close, 28 | # which is useful to us here. 29 | outfile = Tempfile.create ['mailcap2xdg-', "." + extension] 30 | 31 | outfile.write infile.read 32 | outfile.fsync 33 | outfile.close 34 | 35 | exec "xdg-open", outfile.path 36 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_borland.conf: -------------------------------------------------------------------------------- 1 | # colours_borland.conf --- borland theme for kitty 2 | 3 | # Adapted from https://github.com/dexpota/kitty-themes/ 4 | 5 | background #0000a3 6 | foreground #ffff4d 7 | cursor #ffa460 8 | selection_background #a3a3a3 9 | color0 #4e4e4e 10 | color8 #7c7c7c 11 | color1 #ff6b60 12 | color9 #ffb6b0 13 | color2 #a7ff60 14 | color10 #ceffab 15 | color3 #ffffb6 16 | color11 #ffffcb 17 | color4 #96cafd 18 | color12 #b5dcfe 19 | color5 #ff73fd 20 | color13 #ff9cfe 21 | color6 #c6c4fd 22 | color14 #dfdffe 23 | color7 #eeeeee 24 | color15 #ffffff 25 | selection_foreground #0000a3 26 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/jbook.el: -------------------------------------------------------------------------------- 1 | ;;; jbook.el - Special code for jbook class. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-jbook-class-options 6 | '("a4paper" "a5paper" "b4paper" "b5paper" "a4j" "a5j" "b4j" "b5j" 7 | "a4p" "b4p" "b5p" "10pt" "11pt" "12pt" "landscape" "tombow" "tombo" 8 | "mentuke" "oneside" "twoside" "onecolumn" "twocolumn" 9 | "titlepage" "notitlepage" "openright" "openany" "leqno" "fleqn" 10 | "openbib" "disablejfam" "mathrmmc" "draft" "final") 11 | "Class options for the jbook class.") 12 | 13 | (TeX-add-style-hook 14 | "jbook" 15 | (lambda () 16 | (LaTeX-largest-level-set "part") 17 | (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection" 18 | "paragraph" "subparagraph" "figure" "table") 19 | (LaTeX-add-pagestyles "headings" "myheadings")) 20 | LaTeX-dialect) 21 | 22 | ;;; jbook.el ends here 23 | -------------------------------------------------------------------------------- /systems/xanthippe/etc/nginx/sites-enabled/default.site: -------------------------------------------------------------------------------- 1 | # nginx websites config. 2 | ## Docs: 3 | # http://wiki.nginx.org/Pitfalls 4 | # http://wiki.nginx.org/QuickStart 5 | # http://wiki.nginx.org/Configuration 6 | # /usr/share/doc/nginx-doc/examples/ 7 | ## 8 | 9 | # Default server configuration 10 | 11 | server { 12 | listen 80 default_server; 13 | listen [::]:80 default_server; 14 | 15 | root /home/pi/public_html; 16 | 17 | # Add index.php to the list if you are using PHP 18 | index index.html README; 19 | 20 | server_name goktugspi; 21 | 22 | location / { 23 | # First attempt to serve request as file, then 24 | # as directory, then fall back to displaying a 404. 25 | try_files $uri $uri/ =404; 26 | } 27 | 28 | # deny access to .htaccess files, if Apache's document root 29 | # concurs with nginx's one 30 | location ~ /\.ht { 31 | deny all; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_belafonte_day.conf: -------------------------------------------------------------------------------- 1 | # colours_belafonte_day.conf --- belafonte day theme for kitty 2 | 3 | # Adapted from https://github.com/dexpota/kitty-themes/ 4 | 5 | background #d4ccb9 6 | foreground #45363b 7 | cursor #45363b 8 | selection_background #958b83 9 | color0 #20111a 10 | color8 #5e5252 11 | color1 #bd100d 12 | color9 #bd100d 13 | color2 #858062 14 | color10 #858062 15 | color3 #e9a448 16 | color11 #e9a448 17 | color4 #416978 18 | color12 #416978 19 | color5 #96522b 20 | color13 #96522b 21 | color6 #98999c 22 | color14 #98999c 23 | color7 #958b83 24 | color15 #d4ccb9 25 | selection_foreground #d4ccb9 26 | -------------------------------------------------------------------------------- /lib/emacs-build-dependencies.bash: -------------------------------------------------------------------------------- 1 | # emacs-build-dependencies.bash --- install emacs build and runtime dependencies 2 | 3 | if [ "$UID" -ne 0 ]; then 4 | echo $(basename $0): error: this script requires superuser privileges 5 | exit 2 6 | fi 7 | 8 | case "$(lsb_release -si)" in 9 | Debian|Ubuntu|Linuxmint) 10 | apt-get update 11 | apt-get build-dep emacs emacs-pdf-tools ;; 12 | VoidLinux) 13 | xbps-install -S # update repos 14 | xbps-install -y $(xbps-query -R --fulldeptree -x emacs-gtk3) 15 | xbps-install -y jansson-devel ncurses-devel libXaw-devel \ 16 | gtk+-devel gtk+3-devel webkit2gtk-devel dbus-devel \ 17 | acl-devel libjpeg-turbo-devel tiff-devel giflib-devel \ 18 | libpng-devel libXpm-devel librsvg-devel libmagick-devel \ 19 | libxml2-devel alsa-lib-devel m17n-lib-devel harfbuzz-devel \ 20 | cairo-devel gmp-devel gnutls-devel 21 | ;; 22 | esac 23 | 24 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/ESSR/LOADREMOTE: -------------------------------------------------------------------------------- 1 | ## -*- mode: R -*- 2 | ## loading code which is first sent to R on remote sessions 3 | local({ 4 | ver <- '%s' ## <- passed from elisp 5 | root <- '~/.config/ESSR' 6 | if(!file.exists(root)) 7 | dir.create(root, recursive = TRUE) 8 | ## cannot use sprintf here 9 | essr_file <- file.path(root, paste('ESSRv', ver, '.rds', sep = '')) 10 | tryCatch({ 11 | if(!file.exists(essr_file)) { 12 | url <- paste('https://github.com/emacs-ess/ESS/raw/ESSRv', ver, '/etc/ESSR.rds', sep = '') 13 | utils::download.file(url, essr_file) 14 | } 15 | ESSR <- readRDS(essr_file) 16 | ESSR[[".ess.Rversion"]] <- ESSR[[".ess.getRversion"]]() 17 | attach(ESSR) 18 | print(TRUE) 19 | }, 20 | error = function(e) { 21 | print(e) 22 | print(FALSE) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /systems/diotima/cinnamon/configs/workspace-switcher@cinnamon.org/13.json: -------------------------------------------------------------------------------- 1 | { 2 | "display-type": { 3 | "type": "combobox", 4 | "default": "visual", 5 | "description": "Type of display", 6 | "tooltip": "Note that the visual representation will only work if your panel is large enough to display it properly, otherwise the simple style will be used.", 7 | "options": { 8 | "A visual representation of the workspaces": "visual", 9 | "Simple buttons": "buttons" 10 | }, 11 | "value": "visual" 12 | }, 13 | "reverse-scrolling": { 14 | "type": "switch", 15 | "default": false, 16 | "description": "Reverse scrolling direction", 17 | "tooltip": "Reverse the direction of the scroll in the workspace list.", 18 | "value": false 19 | }, 20 | "__md5__": "32c4073e3c75656cae20a1ac53ebd0c3" 21 | } -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prverr20.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noway20[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "20 20 9 1", 5 | " c red", 6 | ". c #FF0404", 7 | "X c #FD0F0F", 8 | "o c #F91919", 9 | "O c #F82828", 10 | "+ c #F33636", 11 | "@ c #ED4A4A", 12 | "# c #FEFEFE", 13 | "$ c None", 14 | /* pixels */ 15 | "$$$$$$@+OXXO+@$$$$$$", 16 | "$$$$OO. .OO$$$$", 17 | "$$$@. .@$$$", 18 | "$$@. .@$$", 19 | "$O. .O$", 20 | "$o o$", 21 | "@. .@", 22 | "+ +", 23 | "o##################o", 24 | "o##################o", 25 | "o##################o", 26 | "o##################o", 27 | "+ +", 28 | "@. .@", 29 | "$o o$", 30 | "$O. .O$", 31 | "$$@. .@$$", 32 | "$$$@. .@$$$", 33 | "$$$$OO. .OO$$$$", 34 | "$$$$$$@+OXXO+@$$$$$$" 35 | }; 36 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/jarticle.el: -------------------------------------------------------------------------------- 1 | ;;; jarticle.el - Special code for jarticle class. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-jarticle-class-options 6 | '("a4paper" "a5paper" "b4paper" "b5paper" "a4j" "a5j" "b4j" "b5j" 7 | "a4p" "b4p" "b5p" "10pt" "11pt" "12pt" "landscape" "tombow" "tombo" 8 | "mentuke" "oneside" "twoside" "onecolumn" "twocolumn" 9 | "titlepage" "notitlepage" "leqno" "fleqn" 10 | "openbib" "disablejfam" "mathrmmc" "draft" "final") 11 | "Class options for the jarticle class.") 12 | 13 | (TeX-add-style-hook 14 | "jarticle" 15 | (lambda () 16 | (LaTeX-largest-level-set "section") 17 | (LaTeX-add-counters "part" "section" "subsection" "subsubsection" "paragraph" 18 | "subparagraph" "figure" "table") 19 | (LaTeX-add-pagestyles "headings" "myheadings") 20 | (LaTeX-add-environments "abstract")) 21 | LaTeX-dialect) 22 | 23 | ;;; jarticle.el ends here 24 | -------------------------------------------------------------------------------- /lib/cron.sh: -------------------------------------------------------------------------------- 1 | # cron.sh --- common setup for cron scripts 2 | 3 | # Figure out DBus info. 4 | if [ -e /var/lib/dbus/machine-id ] \ 5 | && [ -e "$HOME/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0" ]; 6 | then 7 | . $HOME/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0 8 | export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID 9 | export DBUS_SESSION_BUS_WINDOWID 10 | else 11 | if pgrep i3 >/dev/null 2>&1; then 12 | env=/proc/$(pgrep -f "i3 " -u "$USER" | cut -d ' ' -f 1)/environ 13 | elif pgrep cinnamon-session >/dev/null 2>&1; then 14 | env=/proc/$(pgrep -f "cinnamon-session --session cinnamon" -u "$USER" \ 15 | | cut -d ' ' -f 1)/environ 16 | else 17 | echo $0: could not locate session process 18 | fi 19 | 20 | if [ -e "$env" ]; then 21 | export $(cat $env | egrep -z '^DBUS_SESSION_BUS_ADDRESS=' | tr -d '\0') 22 | fi 23 | fi 24 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/jreport.el: -------------------------------------------------------------------------------- 1 | ;;; jreport.el - Special code for jreport class. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-jreport-class-options 6 | '("a4paper" "a5paper" "b4paper" "b5paper" "a4j" "a5j" "b4j" "b5j" 7 | "a4p" "b4p" "b5p" "10pt" "11pt" "12pt" "landscape" "tombow" "tombo" 8 | "mentuke" "oneside" "twoside" "onecolumn" "twocolumn" 9 | "titlepage" "notitlepage" "openright" "openany" "leqno" "fleqn" 10 | "openbib" "disablejfam" "mathrmmc" "draft" "final") 11 | "Class options for the jreport class.") 12 | 13 | (TeX-add-style-hook 14 | "jreport" 15 | (lambda () 16 | (LaTeX-largest-level-set "chapter") 17 | (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection" 18 | "paragraph" "subparagraph" "figure" "table") 19 | (LaTeX-add-pagestyles "headings" "myheadings") 20 | (LaTeX-add-environments "abstract")) 21 | LaTeX-dialect) 22 | 23 | ;;; jreport.el ends here 24 | -------------------------------------------------------------------------------- /lib/hw/logitech_trackman.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # logitech_trackman.bash --- logitech trackman USB trackball settings 3 | 4 | # bash strict mode 5 | set -euo pipefail 6 | IFS=$'\n\t' 7 | 8 | 9 | # Set small button on the right as middle click, and disable history 10 | # navigation. 11 | xinput set-button-map "Logitech USB Trackball" \ 12 | 1 0 3 4 5 6 7 0 2 13 | 14 | # Enable scrolling. By default, the left small button needs to be 15 | # pressed and held to use the track ball to scroll. But that’s an 16 | # ergonomic nightmare so ... 17 | xinput set-prop "Logitech USB Trackball" 'libinput Scroll Method Enabled' \ 18 | {0,0,1} 19 | 20 | # ... make button 8 (left small) toggle scroll mode. 21 | xinput set-prop "Logitech USB Trackball" \ 22 | "libinput Button Scrolling Button Lock Enabled" 1 23 | 24 | # Enable «natural scrolling». 25 | # xinput set-prop "Logitech USB Trackball" "libinput Natural Scrolling Enabled" 1 26 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/rline.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *rline[]={ 3 | "24 24 3 1", 4 | ". c None s backgroundToolBarColor", 5 | "a c #000000", 6 | "# c #1532ed", 7 | "........................", 8 | "...............#........", 9 | "...............##.......", 10 | ".....#############......", 11 | ".....##############.....", 12 | ".....#############......", 13 | "...............##.......", 14 | "...............#........", 15 | "........................", 16 | "........................", 17 | "........................", 18 | "........................", 19 | "........................", 20 | "........................", 21 | "........................", 22 | "........................", 23 | "........................", 24 | "...aaaaaaaaaaaaaaaaaa...", 25 | "........................", 26 | "........................", 27 | "........................", 28 | "........................", 29 | "........................", 30 | "........................"}; 31 | -------------------------------------------------------------------------------- /bin/batmon.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # batmon.bash --- battery monitor script, for cron 3 | 4 | . $HOME/.profile 5 | . $MYLIB/cron.sh 6 | 7 | path=/sys/class/power_supply 8 | battery=BAT0 9 | 10 | # Sourcing here doesn’t work because some values can suddenly contain 11 | # spaces, because programmers are dickheads who care nothing about 12 | # backwards compatibility. 13 | export $(sed 's/ /_/g; s/^/export /' $path/$battery/uevent) 14 | 15 | # We use designed power leven instead of actual power level to match 16 | # i3status. 17 | x="$POWER_SUPPLY_ENERGY_NOW" 18 | y="$POWER_SUPPLY_ENERGY_FULL_DESIGN" 19 | percent_full="$(echo 2k $x $y / 100 \*p | dc | cut -d. -f1)" 20 | 21 | if [ "$POWER_SUPPLY_STATUS" = 'Discharging' ] \ 22 | && [ "$percent_full" -lt 20 ]; 23 | then 24 | notify-send -u critical -h int:value:"$percent_full" \ 25 | "Low battery" "Battery level critically low ($percent_full%)" \ 26 | --icon=ac-adapter 27 | fi 28 | 29 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/rbuffer.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *rbuffer[]={ 3 | "24 24 3 1", 4 | ". c None s backgroundToolBarColor", 5 | "a c #000000", 6 | "# c #1532ed", 7 | "........................", 8 | "...............#........", 9 | "...............##.......", 10 | ".....#############......", 11 | ".....##############.....", 12 | ".....#############......", 13 | "...............##.......", 14 | "...............#........", 15 | "........................", 16 | "........................", 17 | "........................", 18 | "...aaaaaaaaaaaaaaaaaa...", 19 | "........................", 20 | "........................", 21 | "...aaaaaaaaaaaaaaaaaa...", 22 | "........................", 23 | "........................", 24 | "...aaaaaaaaaaaaaaaaaa...", 25 | "........................", 26 | "........................", 27 | "...aaaaaaaaaaaaaaaaaa...", 28 | "........................", 29 | "........................", 30 | "...aaaaaaaaaaaaaaaaaa..."}; 31 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/rregion.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *rregion[]={ 3 | "24 24 3 1", 4 | ". c None s backgroundToolBarColor", 5 | "a c #000000", 6 | "# c #1532ed", 7 | "........................", 8 | "...............#........", 9 | "...............##.......", 10 | ".....#############......", 11 | ".....##############.....", 12 | ".....#############......", 13 | "...............##.......", 14 | "...............#........", 15 | "........................", 16 | "........................", 17 | "........................", 18 | "........................", 19 | "........................", 20 | "........................", 21 | "...aaaaaaaaaaaaaaaaaa...", 22 | "........................", 23 | "........................", 24 | "...aaaaaaaaaaaaaaaaaa...", 25 | "........................", 26 | "........................", 27 | "...aaaaaaaaaaaaaaaaaa...", 28 | "........................", 29 | "........................", 30 | "........................"}; 31 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_tomorrow_light.conf: -------------------------------------------------------------------------------- 1 | # colours_tomorrow_light.conf --- tomorrow theme for kitty (light) 2 | 3 | # Adapted from https://github.com/dexpota/kitty-themes/ 4 | 5 | # was originally #fff; changed to #eee to match `lithochromatic.vim'. 6 | background #eeeeee 7 | foreground #4c4c4c 8 | cursor #4c4c4c 9 | selection_background #d6d6d6 10 | color0 #000000 11 | color8 #000000 12 | color1 #c82828 13 | color9 #c82828 14 | color2 #708b00 15 | color10 #708b00 16 | color3 #e9b600 17 | color11 #e9b600 18 | color4 #4170ae 19 | color12 #4170ae 20 | color5 #8958a7 21 | color13 #8958a7 22 | color6 #3d999f 23 | color14 #3d999f 24 | color7 #fffefe 25 | color15 #fffefe 26 | selection_foreground #ffffff 27 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/switchs.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *switchs[]={ 3 | "24 24 5 1", 4 | ". c None", 5 | "# c #000000", 6 | "c c #1532ed", 7 | "b c #838383", 8 | "a c #ce3000", 9 | "........................", 10 | "........###.aaa.bbb.....", 11 | "........###.aaa.bbb.....", 12 | "........###.aaa.bbb.....", 13 | "..ccc...................", 14 | "..ccc...aaa.bbb....bbb..", 15 | "..ccc...aaa.bbb....bbb..", 16 | "..ccc...aaa.bbb....bbb..", 17 | "..ccc...................", 18 | "..ccc...bbb....bbb.aaa..", 19 | "..ccc...bbb....bbb.aaa..", 20 | "..ccc...bbb....bbb.aaa..", 21 | "..ccc...................", 22 | "..ccc......bbb.aaa.###..", 23 | "..ccc......bbb.aaa.###..", 24 | "..ccc......bbb.aaa.###..", 25 | "..ccc...................", 26 | "..ccc...........c.......", 27 | "..ccc...........cc......", 28 | "..ccccccccccccccccc.....", 29 | "..cccccccccccccccccc....", 30 | "...cccccccccccccccc.....", 31 | "................cc......", 32 | "................c......."}; 33 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/view.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * view15_xpm[] = { 3 | "24 24 4 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #000000", 6 | "+ c #565656", 7 | "@ c #FFFFFF", 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " ... ", 13 | " .+ . ", 14 | " .+ . ", 15 | " .+ .+ ", 16 | " .+ .+ ... ", 17 | " .+ .+ ..", 18 | " .... .+ .", 19 | " .@@ +. .+ .+", 20 | " .@@@ +. .+ .+ ", 21 | " .@@@ . .... .+ ", 22 | " . @ ...@@ +.. ", 23 | " +. +. .@@@ +. ", 24 | " +.++. .@@@ . ", 25 | " +.. . @ . ", 26 | " +. +. ", 27 | " +.++. ", 28 | " +.. ", 29 | " ", 30 | " ", 31 | " "}; 32 | -------------------------------------------------------------------------------- /bin/nnml2mbox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # nnml2mbox.py --- convert Gnus NNML groups to mbox files. 3 | 4 | import sys 5 | import os 6 | import mailbox 7 | import email 8 | 9 | if len(sys.argv) < 2: 10 | print("usage: nnml2mbox.py FOLDER... TARGET") 11 | exit(1) 12 | 13 | target = sys.argv.pop() 14 | folders = sys.argv[1:] 15 | 16 | messages = [] 17 | 18 | for folder in folders: 19 | msgs = os.listdir(folder) 20 | try: msgs.remove(".overview") 21 | except ValueError: pass 22 | for msg in msgs: 23 | messages.append((os.path.join(folder, msg), int(msg))) 24 | 25 | messages.sort(key=lambda i: i[1]) 26 | 27 | mbox = mailbox.mbox(target) 28 | 29 | for path, _ in messages: 30 | with open(path, mode="rb") as f: 31 | try: 32 | text = f.read() 33 | msg = email.message_from_bytes(text) 34 | mbox.add(msg) 35 | except Exception as e: 36 | print("Exception while processing %s: %s" % (path, e)) 37 | -------------------------------------------------------------------------------- /bin/splitmbox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # splitmbox.py --- split up an mbox 3 | 4 | import mailbox 5 | import sys 6 | import os 7 | 8 | if len(sys.argv) < 4: 9 | print("usage: splitmbox.py MEGABYTES MBOX NEWNAME") 10 | exit(1) 11 | 12 | _, split_size, source, newname = sys.argv 13 | 14 | split_size = int(split_size) * 1024 * 1024 15 | 16 | mbox = mailbox.mbox(source) 17 | idx = 1 18 | 19 | # Find the next slice number. 20 | files = list(filter(lambda fil: fil.startswith(newname + "-"), os.listdir('.'))) 21 | if files: 22 | files.sort() 23 | idx = int(files[-1].split("-")[1]) 24 | 25 | 26 | def newmbox(): 27 | return "%s-%04d" % (newname, idx) 28 | 29 | 30 | target = mailbox.mbox(newmbox()) 31 | 32 | for _, message in mbox.items(): 33 | target.add(message) 34 | if os.stat(newmbox()).st_size >= split_size: 35 | target.flush() 36 | target.close() 37 | idx += 1 38 | target = mailbox.mbox(newmbox()) 39 | 40 | os.rename(newmbox(), newname) 41 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvwrk20.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * nwork20_xpm[] = { 3 | "20 20 17 1", 4 | " c None", 5 | ". c #000100", 6 | "+ c #262825", 7 | "@ c #2B2D2A", 8 | "# c #444643", 9 | "$ c #575956", 10 | "% c #726D6B", 11 | "& c #D16668", 12 | "* c #FF6467", 13 | "= c #979794", 14 | "- c #E4999A", 15 | "; c #B1B3B0", 16 | "> c #FF9797", 17 | ", c #C9CBC8", 18 | "' c #D3D5D2", 19 | ") c #E5E7E3", 20 | "! c #FDFFFB", 21 | " ** ", 22 | " >**> ", 23 | " **** ", 24 | " >****> ", 25 | " **>>** ", 26 | " >**!!**> ", 27 | " **>!!>** ", 28 | " >**!!)!**> ", 29 | " **>!'.)>** ", 30 | " >*%$$;,!!**> ", 31 | " *&=;.=!!!>** ", 32 | " >*&;@@=!!!!**> ", 33 | " **>,$=;!!!!>** ", 34 | " >**)#%;=!!!!!**> ", 35 | " **>=,;=';!,#;>** ", 36 | " >**)%!)%!!=+..,**> ", 37 | " **>='!)%!;....@-** ", 38 | ">**!;!!!='#####$=**>", 39 | "********************", 40 | "********************"}; 41 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvtex20.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * preview20_xpm[] = { 3 | "20 20 17 1", 4 | " c None", 5 | ". c #000200", 6 | "+ c #151614", 7 | "@ c #20211F", 8 | "# c #31312A", 9 | "$ c #3D3C35", 10 | "% c #474439", 11 | "& c #504F48", 12 | "* c #626054", 13 | "= c #727063", 14 | "- c #7E7E6F", 15 | "; c #888A7A", 16 | "> c #969987", 17 | ", c #A9A992", 18 | "' c #B8B8A1", 19 | ") c #C6C5AA", 20 | "! c #CFCDB1", 21 | " .@@@@@@@@@@@@@@@@. ", 22 | " %!!!!!!!''!!!!!!!% ", 23 | " %!!!!!!)&>!!!!!!!% ", 24 | " %!!!!!!>*'!!!!!!!% ", 25 | " %!!!!!)&*')')!!''% ", 26 | " @&@+#*&*=#;&*)'%-% ", 27 | " %!,>!,=;,)!)=,-$'% ", 28 | " %!,>!'=&-!!!'*#;!% ", 29 | " %!,-),=>','!!$&)!% ", 30 | " %!)$$'&&=%)!,+;!!% ", 31 | " %!','!);;!!)%**!!% ", 32 | " $;*$!!!!!!!;%'->)% ", 33 | " *=$!!!!!!)*-!'*;% ", 34 | " @>;*='!!!!),)!!''% ", 35 | " . *&&,!!!!!!!!!!% ", 36 | " ..+##@>,,,,,,,$ ", 37 | " . . . ......... ", 38 | " . . . ... . . ", 39 | " . . . . ... . ", 40 | " . . "}; 41 | -------------------------------------------------------------------------------- /lib/batlog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # batlog.sh --- live-log battery levels info as CSV 3 | 4 | . $MYLIB/fns.sh 5 | 6 | ### Parametres: 7 | 8 | # The path to uevents file. 9 | device_file="${DEVICE_FILE-/sys/class/power_supply/BAT0/uevent}" 10 | # Poll granularity. BEWARE polling too frequently may not only impact 11 | # performance but mess up the storage drive that receives the logs. 12 | poll_interval_secs=60 13 | 14 | ### Code: 15 | 16 | [ -f "$device_file" ] || die file $device_file does not exist 17 | 18 | # Print a header. 19 | echo "# Reading power data from \`$device_file'," 20 | echo "# started at $(date)" 21 | echo \# 22 | printf 'unix_time,' 23 | < $device_file cut -d= -f1 | tr '\n' ',' | tr '[:upper:]' '[:lower:]' 24 | echo "load_0,load_1,load_2" 25 | 26 | while true; do 27 | printf "$(date +%s)," 28 | # Poll data and print. 29 | < $device_file cut -d= -f2 | tr '\n' ',' | tr '[:upper:]' '[:lower:]' 30 | uptime | cut -d: -f5 | tr -d ' ' 31 | 32 | sleep ${poll_interval_secs}s 33 | done 34 | -------------------------------------------------------------------------------- /bin/maildir2mbox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # maildir2mbox.py --- convert maildir to mbox files. 3 | 4 | import sys 5 | import os 6 | import mailbox 7 | import email 8 | 9 | if len(sys.argv) < 2: 10 | print("usage: maildir2mbox.py FOLDER... TARGET") 11 | exit(1) 12 | 13 | target = sys.argv.pop() 14 | folders = sys.argv[1:] 15 | 16 | messages = [] 17 | 18 | for folder in folders: 19 | msgs = os.listdir(folder) 20 | idx = 0 21 | try: msgs.remove(".overview") 22 | except ValueError: pass 23 | for msg in msgs: 24 | idx += 1 25 | messages.append((os.path.join(folder, msg), idx)) 26 | 27 | messages.sort(key=lambda i: i[1]) 28 | 29 | mbox = mailbox.mbox(target) 30 | 31 | for path, _ in messages: 32 | with open(path, mode="rb") as f: 33 | try: 34 | text = f.read() 35 | msg = email.message_from_bytes(text) 36 | mbox.add(msg) 37 | except Exception as e: 38 | print("Exception while processing %s: %s" % (path, e)) 39 | -------------------------------------------------------------------------------- /dotfiles/Makefile: -------------------------------------------------------------------------------- 1 | # dotfiles/Makefile 2 | 3 | M4=m4 ../config.m4 4 | 5 | FILES=mpoprc msmtprc gtk-3.0/bookmarks mairixrc 6 | WGET=wget --quiet 7 | VIMSPELLRMT=ftp://ftp.vim.org/pub/vim/runtime/spell 8 | VIMSPELLDIR=vim/spell 9 | 10 | all: $(FILES) vimspell 11 | 12 | clean: 13 | rm -f $(FILES) 14 | 15 | mpoprc: mpoprc.in 16 | $(M4) $< > $@ && chmod 600 $@ 17 | 18 | msmtprc: msmtprc.in 19 | $(M4) $< > $@ && chmod 600 $@ 20 | 21 | gtk-3.0/bookmarks: gtk-3.0/bookmarks.in 22 | $(M4) -D__USER__=$(USER) $< | sed 1d > $@ 23 | 24 | mairixrc: mairixrc.in 25 | $(M4) -D__BASE__=$(HOME)/Posta $< | sed 1d > $@ 26 | 27 | vimspell: 28 | mkdir -p vim/spell 29 | [ -e $(VIMSPELLDIR)/tr.utf-8.spl ] || $(WGET) -O \ 30 | $(VIMSPELLDIR)/tr.utf-8.spl $(VIMSPELLRMT)/tr.utf-8.spl 31 | [ -e $(VIMSPELLDIR)/en.utf-8.spl ] || $(WGET) -O \ 32 | $(VIMSPELLDIR)/en.utf-8.spl $(VIMSPELLRMT)/en.utf-8.spl 33 | [ -e $(VIMSPELLDIR)/it.utf-8.spl ] || $(WGET) -O \ 34 | $(VIMSPELLDIR)/it.utf-8.spl $(VIMSPELLRMT)/it.utf-8.spl 35 | 36 | .PHONY: all clean vimspell 37 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/error.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * error22_xpm[] = { 3 | "24 24 8 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #847000", 6 | "+ c #000000", 7 | "@ c #F0C900", 8 | "# c #AB9100", 9 | "$ c #887821", 10 | "% c #AA9629", 11 | "& c #51470D", 12 | " ", 13 | " ", 14 | " .++. ", 15 | " +@@@@+ ", 16 | " #.@@@@.# ", 17 | " +@@@@@@+ ", 18 | " #.@@@@@@.# ", 19 | " +@@@++@@@+ ", 20 | " #.@@@++@@@.# ", 21 | " +@@@@++@@@@+ ", 22 | " #.@@@@++@@@@.# ", 23 | " +@@@@@++@@@@@+ ", 24 | " #.@@@@@++@@@@@.# ", 25 | " +@@@@@@$$@@@@@@+ ", 26 | " #.@@@@@@%%@@@@@@.# ", 27 | " +@@@@@@@@@@@@@@@@+ ", 28 | " .#@@@@@@@++@@@@@@@#. ", 29 | " &@@@@@@@@++@@@@@@@@& ", 30 | " &@@@@@@@@@@@@@@@@@@& ", 31 | " +@@@@@@@@@@@@@@@@+ ", 32 | " .++++++++++++++. ", 33 | " ", 34 | " ", 35 | " "}; 36 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/plhb.el: -------------------------------------------------------------------------------- 1 | ;;; plhb.el - Setup AUC TeX for editing Polish text with plhb.sty 2 | 3 | ;;; Commentary: 4 | ;; 5 | ;; `plhb.sty' use `"' to make next character Polish. 6 | ;; `plhb.sty' J. S. Bie\'n, IIUW, jsbien@mimuw.edu.pl 7 | 8 | ;;; Code: 9 | 10 | (defvar LaTeX-plhb-mode-syntax-table 11 | (copy-syntax-table LaTeX-mode-syntax-table) 12 | "Syntax table used in LaTeX mode when using `plhb.sty'.") 13 | 14 | (modify-syntax-entry ?\" "w" LaTeX-plhb-mode-syntax-table) 15 | 16 | (TeX-add-style-hook "plhb" 17 | (function (lambda () 18 | (set-syntax-table LaTeX-plhb-mode-syntax-table) 19 | (make-local-variable 'TeX-open-quote) 20 | (make-local-variable 'TeX-close-quote) 21 | (make-local-variable 'TeX-command-default) 22 | (make-local-variable 'TeX-quote-after-quote) 23 | (setq TeX-open-quote "\"<") 24 | (setq TeX-close-quote "\">") 25 | (setq TeX-quote-after-quote t) 26 | (setq TeX-command-default "plLaTeX") 27 | (run-hooks 'TeX-language-pl-hook))) 28 | LaTeX-dialect) 29 | 30 | ;;; plhb.el ends here 31 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/texmf/tex/latex/preview/prfootnotes.def: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `prfootnotes.def', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% preview.dtx (with options: `footnotes') 8 | %% 9 | %% IMPORTANT NOTICE: 10 | %% 11 | %% For the copyright see the source file. 12 | %% 13 | %% Any modified versions of this file must be renamed 14 | %% with new filenames distinct from prfootnotes.def. 15 | %% 16 | %% For distribution of the original source see the terms 17 | %% for copying and modification in the file preview.dtx. 18 | %% 19 | %% This generated file may be distributed as long as the 20 | %% original source files, as listed above, are part of the 21 | %% same distribution. (The sources need not necessarily be 22 | %% in the same archive or directory.) 23 | %% The preview style for extracting previews from LaTeX documents. 24 | %% Developed as part of AUCTeX . 25 | \PreviewMacro[[!]\footnote %] 26 | \endinput 27 | %% 28 | %% End of file `prfootnotes.def'. 29 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvtex24.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * preview_xpm[] = { 3 | "24 24 10 1", 4 | " c None", 5 | ". c #000000", 6 | "+ c #CECEB2", 7 | "@ c #656559", 8 | "# c #818174", 9 | "$ c #B9B9A4", 10 | "% c #969686", 11 | "& c #181815", 12 | "* c #363630", 13 | "= c #53534B", 14 | " ...................... ", 15 | " .++++++++++++++++++++. ", 16 | " .+++++++++@#+++++++++. ", 17 | " .++++++++$.%+++++++++. ", 18 | " .++++++++@#++++++++++. ", 19 | " .+++++++$&@$+$$++++%+. ", 20 | " .@....*#&@=.#@.%++@&+. ", 21 | " .++%%++@#++$++$*+$.#+. ", 22 | " .++%%++%=*#++++##=*++. ", 23 | " .++%%++#@@%+++++*.%++. ", 24 | " .++%@$+@#++%%+++&=+++. ", 25 | " .+++&.+%.@=&+++#.#+++. ", 26 | " .+++$$++$@#++++.@=+++. ", 27 | " .+$**+++++++++@&+=$++. ", 28 | " .*@*++++++++$.%+$*@+. ", 29 | " $##*++++++++#*+++%*+. ", 30 | " . %#@*%++++++++++++++. ", 31 | " . @=&#+++++++++++++. ", 32 | " . ...***&$$++++++++. ", 33 | " . . . ........... ", 34 | " . . . . . . . ", 35 | " . . . .. . . . ", 36 | " . .. . . ... . ", 37 | " . . "}; 38 | -------------------------------------------------------------------------------- /emacs.d/gk/gk-ad.el: -------------------------------------------------------------------------------- 1 | ;;; gk-ad.el --- generic advices -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2021 Göktuğ Kayaalp 4 | 5 | ;;; Commentary: 6 | 7 | ;; Nonspecific general purpose functions, designed to be advices 8 | ;; (viz. ‘add-function’). 9 | 10 | ;;; Code: 11 | 12 | (defun gk-ad-stay-here (fun &rest args) 13 | "Stay in the current buffer when running FUN. 14 | 15 | Pass ARGS to FUN." 16 | (save-window-excursion 17 | (apply fun args))) 18 | 19 | (defun gk-protect-frame-focus (f &rest args) 20 | "Generic :around advice to reclaim frame focus. 21 | 22 | Some interactions with the OS, e.g. sending a link to the browser 23 | may result in Emacs losing focus. This is very rude of the 24 | OS. This function is a generic :around-advice that runs the given 25 | function and then reclaims focus after some time so the user can 26 | continue interacting with Emacs." 27 | (let ((frame (selected-frame))) 28 | (apply f args) 29 | (sit-for .3) 30 | (x-focus-frame frame))) 31 | 32 | 33 | 34 | (provide 'gk-ad) 35 | ;;; gk-ad.el ends here 36 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/spluslogo.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *spluslogo[]={ 3 | "24 24 10 1", 4 | "a c None s backgroundToolBarColor", 5 | "g c #000000", 6 | "h c #838383", 7 | "# c #ce3000", 8 | "f c #ce3062", 9 | "e c #ce6262", 10 | ". c #ce629b", 11 | "b c #cecece", 12 | "d c #ffcece", 13 | "c c #ffceff", 14 | ".##aaaa###aa#aab#a#ba.##", 15 | "#a#caaa#db#a#aab#a#bd#a#", 16 | "##caaaa#b#.a#aad#a#ba##c", 17 | "a.#a##a##.ca#aab#a#daa.#", 18 | "ea#aaaa#daaa#aab#a#bbea#", 19 | "##.aaaa#daaa###a.f#ac##.", 20 | "aaaaaaaaaaaaaaaaaaaaaaaa", 21 | "aaaaaaaaaaaaaaaaaaaaaaaa", 22 | "aaaaaggga###ahhhaaaaaaaa", 23 | "aaaaaggga###ahhhaaaaaaaa", 24 | "aaaaaggga###ahhhaaaaaaaa", 25 | "aaaaaaaaaaaaaaaaaaaaaaaa", 26 | "aaaaa###ahhhaaaahhhaaaaa", 27 | "aaaaa###ahhhaaaahhhaaaaa", 28 | "aaaaa###ahhhaaaahhhaaaaa", 29 | "aaaaaaaaaaaaaaaaaaaaaaaa", 30 | "aaaaahhhaaaahhha###aaaaa", 31 | "aaaaahhhaaaahhha###aaaaa", 32 | "aaaaahhhaaaahhha###aaaaa", 33 | "aaaaaaaaaaaaaaaaaaaaaaaa", 34 | "aaaaaaaahhha###agggaaaaa", 35 | "aaaaaaaahhha###agggaaaaa", 36 | "aaaaaaaahhha###agggaaaaa", 37 | "aaaaaaaaaaaaaaaaaaaaaaaa"}; 38 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/plfonts.el: -------------------------------------------------------------------------------- 1 | ;;; plfonts.el - Setup AUC TeX for editing Polish text with plfonts.sty 2 | 3 | ;;; Commentary: 4 | ;; 5 | ;; `plfonts.sty' use `"' to make next character Polish. 6 | ;; `plfonts.sty' L. Holenderski, IIUW, lhol@mimuw.edu.pl 7 | 8 | ;;; Code: 9 | 10 | (defvar LaTeX-plfonts-mode-syntax-table 11 | (copy-syntax-table LaTeX-mode-syntax-table) 12 | "Syntax table used in LaTeX mode when using `plfonts.sty'.") 13 | 14 | (modify-syntax-entry ?\" "w" LaTeX-plfonts-mode-syntax-table) 15 | 16 | (TeX-add-style-hook "plfonts" 17 | (function (lambda () 18 | (set-syntax-table LaTeX-plfonts-mode-syntax-table) 19 | (make-local-variable 'TeX-open-quote) 20 | (make-local-variable 'TeX-close-quote) 21 | (make-local-variable 'TeX-quote-after-quote) 22 | (make-local-variable 'TeX-command-default) 23 | (setq TeX-open-quote "\"<") 24 | (setq TeX-close-quote "\">") 25 | (setq TeX-quote-after-quote t) 26 | (setq TeX-command-default "plLaTeX") 27 | (run-hooks 'TeX-language-pl-hook))) 28 | LaTeX-dialect) 29 | 30 | ;;; plfonts.el ends here 31 | -------------------------------------------------------------------------------- /bin/cronic: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Cronic v3 - cron job report wrapper 4 | # Copyright 2007-2016 Chuck Houpt. No rights reserved, whatsoever. 5 | # Public Domain CC0: http://creativecommons.org/publicdomain/zero/1.0/ 6 | 7 | # From: https://habilis.net/cronic/ 8 | 9 | set -eu 10 | 11 | TMP=$(mktemp -d) 12 | OUT=$TMP/cronic.out 13 | ERR=$TMP/cronic.err 14 | TRACE=$TMP/cronic.trace 15 | 16 | set +e 17 | "$@" >$OUT 2>$TRACE 18 | RESULT=$? 19 | set -e 20 | 21 | PATTERN="^${PS4:0:1}\\+${PS4:1}" 22 | if grep -aq "$PATTERN" $TRACE 23 | then 24 | ! grep -av "$PATTERN" $TRACE > $ERR 25 | else 26 | ERR=$TRACE 27 | fi 28 | 29 | if [ $RESULT -ne 0 -o -s "$ERR" ] 30 | then 31 | echo "Cronic detected failure or error output for the command:" 32 | echo "$@" 33 | echo 34 | echo "RESULT CODE: $RESULT" 35 | echo 36 | echo "ERROR OUTPUT:" 37 | cat "$ERR" 38 | echo 39 | echo "STANDARD OUTPUT:" 40 | cat "$OUT" 41 | if [ $TRACE != $ERR ] 42 | then 43 | echo 44 | echo "TRACE-ERROR OUTPUT:" 45 | cat "$TRACE" 46 | fi 47 | fi 48 | 49 | rm -rf "$TMP" 50 | -------------------------------------------------------------------------------- /lib/firefox/userChrome.css: -------------------------------------------------------------------------------- 1 | /* userChrome.css --- backup copy outside Firefox’ profile tree 2 | 3 | To use this: 4 | 5 | 1. Find your profile directory. 6 | 7 | 2. Put this in /chrome/userChrome.css. 8 | 9 | 3. Set ‘toolkit.legacyUserProfileCustomizations.stylesheets’ to 10 | true. 11 | 12 | 4. (Re)start Firefox. */ 13 | 14 | @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); 15 | 16 | /* Show toolbars when fullscreen. */ 17 | #navigator-toolbox[inFullscreen] toolbar:not([collapsed="true"]) { 18 | visibility:visible!important; 19 | } 20 | 21 | /* Restore some dignity to tabs */ 22 | .tab-background { 23 | border-radius: 0px 0px !important; 24 | margin-bottom: 0px !important; 25 | } 26 | 27 | .tabbrowser-tab:not([selected=true]):not([multiselected=true]) .tab-background { 28 | background-color: color-mix(in srgb, currentColor 5%, transparent); 29 | } 30 | 31 | menupopup>menu, 32 | menupopup>menuitem { 33 | padding-block: 2px !important; 34 | } 35 | 36 | :root { 37 | --arrowpanel-menuitem-padding: 2px !important; 38 | } 39 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prverr24.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noway24[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "24 24 9 1", 5 | " c red", 6 | ". c #FF0404", 7 | "X c #FD0C0C", 8 | "o c #F91919", 9 | "O c #F62929", 10 | "+ c #F34C4C", 11 | "@ c #FF9090", 12 | "# c #FEFEFE", 13 | "$ c None", 14 | /* pixels */ 15 | "$$$$$$$$+OOXXOO+$$$$$$$$", 16 | "$$$$$$OX XO$$$$$$", 17 | "$$$$+X X+$$$$", 18 | "$$$+ +$$$", 19 | "$$+ +$$", 20 | "$$X X$$", 21 | "$O O$", 22 | "$X X$", 23 | "+ +", 24 | "O+@@@@@@@@@@@@@@@@@@@@+O", 25 | "o######################o", 26 | "X######################X", 27 | "X######################X", 28 | "o######################o", 29 | "O+@@@@@@@@@@@@@@@@@@@@+O", 30 | "+ +", 31 | "$X X$", 32 | "$O O$", 33 | "$$X X$$", 34 | "$$+ +$$", 35 | "$$$+ +$$$", 36 | "$$$$+X X+$$$$", 37 | "$$$$$$OX XO$$$$$$", 38 | "$$$$$$$$+OOXXOO+$$$$$$$$" 39 | }; 40 | -------------------------------------------------------------------------------- /lib/lisp/emacs/docs/dir: -------------------------------------------------------------------------------- 1 |  2 | File: dir, Node: Top 3 | 4 | * Menu: 5 | 6 | User Emacs packages 7 | * BBDB: (bbdb). The Big Brother DataBase 8 | * SLIME: (slime). The Superior Lisp Mode for Emacs 9 | * EMMS: (emms). Emacs MultiMedia System 10 | * Magit: (magit). Git porcelain for Emacs 11 | * Evil: (evil). Emacs Vi emulation 12 | * Haskell mode: (haskell-mode). Haskell editing and evaluation 13 | * ESS: (ess). Emacs Speaks Statistics 14 | * Elpher: (elpher). Browser for gopher, gemini and finger 15 | * AUCTeX: (auctex). A sophisticated TeX environment for Emacs. 16 | * preview-latex: (preview-latex). 17 | Preview LaTeX fragments in Emacs 18 | * Ebib: (ebib). A BibTeX database manager. 19 | 20 | Books and docs 21 | * On Lisp: (onlisp). Paul Graham's essay on Lisp 22 | * SICP: (sicp). Structure and Implementation of Computer Programs 23 | * R5RS: (r5rs). Revised(^5) Report on the Algorithmic Language Scheme 24 | * Debbugs: (debbugs). A library for communication with Debbugs 25 | * Debbugs UG: (debbugs-ug). Debbugs User Interface in Emacs 26 | * Common Lisp HyperSpec: (gcl). CLHS from GNU Common Lisp 27 | -------------------------------------------------------------------------------- /lib/rc.zsh: -------------------------------------------------------------------------------- 1 | # rc.zsh --- zsh specific shell setup 2 | 3 | # Part adapted from the output of zsh-newuser-install. 4 | 5 | HISTFILE=~/.zhistfile 6 | HISTSIZE=100000 7 | SAVEHIST=10000 8 | 9 | setopt appendhistory beep extendedglob nomatch notify 10 | unsetopt autocd 11 | bindkey -v 12 | # End of lines configured by zsh-newuser-install 13 | # The following lines were added by compinstall 14 | zstyle :compinstall filename '/home/g/.zshrc' 15 | 16 | autoload -Uz compinit 17 | compinit 18 | 19 | # Prompt 20 | # ====== 21 | # 0(?/A/B): if the exit code of last command is 0, A, else, B 22 | # B/b: boldface start/stop 23 | # S/s: standout start/stop 24 | # F/f: foreground colour start/stop 25 | # K/k: background colour start/stop 26 | # ?: exit code of last shell command 27 | # !: current history event number 28 | # D: date 29 | # *: time with seconds 30 | # n: username 31 | # M: host FQDN 32 | # ~: current working directory with tilde substitution 33 | # j: number of jobs 34 | # L: $SHLVL 35 | # #: `#' for root, `%' otherwise 36 | export prompt="%0(?//%K{red}%F{black}<%?>%f%k)%B[%!; %D %*] %b%S %n@%M:%~ %s%B"$'\n'"[%j/%L]%#>%b " 37 | 38 | -------------------------------------------------------------------------------- /dotfiles/vim/autoload/gruvbox.vim: -------------------------------------------------------------------------------- 1 | " ----------------------------------------------------------------------------- 2 | " File: gruvbox.vim 3 | " Description: Retro groove color scheme for Vim 4 | " Author: morhetz 5 | " Source: https://github.com/morhetz/gruvbox 6 | " Last Modified: 09 Apr 2014 7 | " ----------------------------------------------------------------------------- 8 | 9 | function! gruvbox#invert_signs_toggle() 10 | if g:gruvbox_invert_signs == 0 11 | let g:gruvbox_invert_signs=1 12 | else 13 | let g:gruvbox_invert_signs=0 14 | endif 15 | 16 | colorscheme gruvbox 17 | endfunction 18 | 19 | " Search Highlighting {{{ 20 | 21 | function! gruvbox#hls_show() 22 | set hlsearch 23 | call GruvboxHlsShowCursor() 24 | endfunction 25 | 26 | function! gruvbox#hls_hide() 27 | set nohlsearch 28 | call GruvboxHlsHideCursor() 29 | endfunction 30 | 31 | function! gruvbox#hls_toggle() 32 | if &hlsearch 33 | call gruvbox#hls_hide() 34 | else 35 | call gruvbox#hls_show() 36 | endif 37 | endfunction 38 | 39 | " }}} 40 | 41 | " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: 42 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_unikitty_light.conf: -------------------------------------------------------------------------------- 1 | # Base16 Unikitty Light - kitty color config 2 | # Scheme by Josh W Lewis (@joshwlewis) 3 | # from: https://github.com/kdrag0n/base16-kitty/blob/master/colors/base16-unikitty-light-256.conf 4 | background #ffffff 5 | foreground #6c696e 6 | selection_background #6c696e 7 | selection_foreground #ffffff 8 | url_color #89878b 9 | cursor #6c696e 10 | active_border_color #a7a5a8 11 | inactive_border_color #e1e1e2 12 | active_tab_background #ffffff 13 | active_tab_foreground #6c696e 14 | inactive_tab_background #e1e1e2 15 | inactive_tab_foreground #89878b 16 | tab_bar_background #e1e1e2 17 | 18 | # normal 19 | color0 #ffffff 20 | color1 #d8137f 21 | color2 #17ad98 22 | color3 #dc8a0e 23 | color4 #775dff 24 | color5 #aa17e6 25 | color6 #149bda 26 | color7 #6c696e 27 | 28 | # bright 29 | color8 #a7a5a8 30 | color9 #d8137f 31 | color10 #17ad98 32 | color11 #dc8a0e 33 | color12 #775dff 34 | color13 #aa17e6 35 | color14 #149bda 36 | color15 #322d34 37 | 38 | # extended base16 colors 39 | color16 #d65407 40 | color17 #e013d0 41 | color18 #e1e1e2 42 | color19 #c4c3c5 43 | color20 #89878b 44 | color21 #4f4b51 45 | -------------------------------------------------------------------------------- /bin/pdfdeannot.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # pdfdeannot.bash --- remove annotations from PDF files 3 | 4 | # Adapted from: https://stackoverflow.com/a/49614525 5 | 6 | infil="$1" 7 | outfil="$2" 8 | name="$(basename $0)" 9 | 10 | usage="$name: usage: $name INFILE OUTFILE" 11 | 12 | [ -n "$infil" ] || { 13 | echo "$name: error: no input file specified" 14 | echo 15 | echo "$usage" 16 | exit 2 17 | } 18 | 19 | [ -n "$outfil" ] || { 20 | echo "$name: error: no output path specified" 21 | echo 22 | echo "$usage" 23 | exit 2 24 | } 25 | 26 | [ -f "$infil" ] || { 27 | echo "$name: file not found: $infil" 28 | echo 29 | echo "$usage" 30 | exit 2 31 | } 32 | 33 | [ -f "$outfil" ] && { 34 | echo "$name: error: $outfil exists, will not override" 35 | echo 36 | echo "$usage" 37 | exit 2 38 | } 39 | 40 | tmp1="$(mktemp --tmpdir --suffix .pdf ${name}_XXXXXXXXXX)" 41 | tmp2="$(mktemp --tmpdir --suffix .pdf ${name}_XXXXXXXXXX)" 42 | 43 | pdftk "$infil" output "$tmp1" uncompress 44 | 45 | LANG=C sed -n '/^\/Annots/!p' "$tmp1" > "$tmp2" 46 | 47 | pdftk "$tmp2" output "$outfil" compress 48 | -------------------------------------------------------------------------------- /emacs.d/ext/gk-example.c: -------------------------------------------------------------------------------- 1 | /* gk-example.c --- example C module. 2 | 3 | A test of the new Emacs C FFI. */ 4 | 5 | /* The API. */ 6 | #include "gk-module.h" 7 | 8 | #include 9 | 10 | /* New emacs lisp function. All function exposed to Emacs must have 11 | this prototype. */ 12 | static emacs_value 13 | gk_example_hello (emacs_env *env, int nargs, emacs_value args[], void *data) 14 | { 15 | /* Say hello. */ 16 | const char *str = "Hello from gk-module.so!"; 17 | emacs_value fargs[1]; 18 | emacs_value Qmessage = env->intern (env, "message"); 19 | fargs[0] = env->make_string (env, str, strlen(str)); 20 | env->funcall (env, Qmessage, 1, fargs); 21 | return env->intern (env, "t"); 22 | } 23 | 24 | /* The entry point to the module. */ 25 | int emacs_module_init (struct emacs_runtime *ert) 26 | { 27 | emacs_env *env = ert->get_environment (ert); 28 | 29 | emacs_value hello 30 | = env->make_function (env, 0, 0, gk_example_hello, "Says hello.", NULL); 31 | 32 | gk_bind_function (env, "gk-example-hello", hello); 33 | gk_provide (env, "gk-example"); 34 | 35 | /* Loaded successfully. */ 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/switch_ess.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *switch_ess[]={ 3 | "24 24 13 1", 4 | ". c None s backgroundToolBarColor", 5 | "a c #000000", 6 | "e c #131313", 7 | "# c #1532ed", 8 | "d c #313131", 9 | "k c #434343", 10 | "j c #535353", 11 | "h c #707070", 12 | "b c #878787", 13 | "i c #949494", 14 | "g c #a0a0a0", 15 | "f c #bfbfbf", 16 | "c c #c3c3c3", 17 | "........................", 18 | "........................", 19 | "........................", 20 | "........................", 21 | "..###...................", 22 | "..###...................", 23 | "..###...................", 24 | "..###.aaaab.cdedc.cdedc.", 25 | "..###.af....ag....ag....", 26 | "..###.af....ba....ba....", 27 | "..###.aaad...fah...fah..", 28 | "..###.af.......ga....ga.", 29 | "..###.af....i..jk.i..jk.", 30 | "..###.aaaak.jeej..jeej..", 31 | "..###...................", 32 | "..###...................", 33 | "..###...................", 34 | "..###...........#.......", 35 | "..###...........##......", 36 | "..#################.....", 37 | "..##################....", 38 | "...################.....", 39 | "................##......", 40 | "................#......."}; 41 | -------------------------------------------------------------------------------- /dotfiles/kitty/colours_atelier_cave_light.conf: -------------------------------------------------------------------------------- 1 | # Base16 Atelier Cave Light - kitty color config 2 | # Scheme by Bram de Haan (http://atelierbramdehaan.nl) 3 | # from: https://github.com/kdrag0n/base16-kitty/blob/master/colors/base16-atelier-cave-light-256.conf 4 | 5 | background #efecf4 6 | foreground #585260 7 | selection_background #585260 8 | selection_foreground #efecf4 9 | url_color #655f6d 10 | cursor #585260 11 | active_border_color #7e7887 12 | inactive_border_color #e2dfe7 13 | active_tab_background #efecf4 14 | active_tab_foreground #585260 15 | inactive_tab_background #e2dfe7 16 | inactive_tab_foreground #655f6d 17 | tab_bar_background #e2dfe7 18 | 19 | # normal 20 | color0 #efecf4 21 | color1 #be4678 22 | color2 #2a9292 23 | color3 #a06e3b 24 | color4 #576ddb 25 | color5 #955ae7 26 | color6 #398bc6 27 | color7 #585260 28 | 29 | # bright 30 | color8 #7e7887 31 | color9 #be4678 32 | color10 #2a9292 33 | color11 #a06e3b 34 | color12 #576ddb 35 | color13 #955ae7 36 | color14 #398bc6 37 | color15 #19171c 38 | 39 | # extended base16 colors 40 | color16 #aa573c 41 | color17 #bf40bf 42 | color18 #e2dfe7 43 | color19 #8b8792 44 | color20 #655f6d 45 | color21 #26232a 46 | -------------------------------------------------------------------------------- /lib/lisp/emacs/misc/multi-forecast.el: -------------------------------------------------------------------------------- 1 | ;; forecast for multiple cities 2 | 3 | (let* ((cities 4 | (list 5 | ;; City Lat Long 6 | ["İstanbul" 41.168602 29.047024] 7 | ["Eskişehir" 39.783333 30.516667])) 8 | (vars '(calendar-latitude 9 | calendar-longitude 10 | calendar-location-name)) 11 | (settings 12 | (loop for var in vars 13 | nconc (list var (eval var)))) 14 | (buf (get-buffer-create "*Combined Reports*")) 15 | str) 16 | (dolist (city cities) 17 | (pcase city 18 | (`[,name ,lat ,long] 19 | (setq calendar-location-name name 20 | calendar-latitude lat 21 | calendar-longitude long) 22 | (save-window-excursion 23 | (forecast) 24 | (with-current-buffer "*Weather Forecast*" 25 | (sit-for 3 t) 26 | (setq str (buffer-substring (point-min) (point-max))) 27 | (with-current-buffer buf 28 | (goto-char (point-max)) 29 | (insert str) (newline 2))))))) 30 | (eval (cons 'setq settings)) 31 | (display-buffer buf) 32 | nil) 33 | -------------------------------------------------------------------------------- /lib/profile/env.sh: -------------------------------------------------------------------------------- 1 | # env.sh --- Shell environment. 2 | 3 | if [ "$GK_PATHS_LOADED" != "yes" ]; then 4 | echo "$MYLIB/paths.sh should be loaded before $MYLIB/env.sh" 5 | exit 1 6 | fi 7 | 8 | export EMAIL=$USER@localhost 9 | export MAILDIR=$HOME/Posta 10 | export MAILQUEUE=$MAILDIR/queue 11 | export PS1='\$ ' 12 | export PASSWORD_STORE_DIR=$HOME/Documents/Passwords 13 | export TROFFONTS=$HOME/.fonts 14 | 15 | # This made me spend months trying to download the CVS repo of 16 | # OpenBSD... 17 | export CVS_RSH=ssh 18 | 19 | # Email 20 | export NOTMUCH_CONFIG=$MEINE/mail/notmuch.ini 21 | 22 | # Quilt 23 | export QUILT_DIFF_ARGS="--color=never" # Fuck colours. fuck colours. 24 | export QUILT_PATCHES_ARGS="--color=never" 25 | export QUILT_PUSH_ARGS="--color=never" 26 | export QUILT_SERIES_ARGS="--color=never -v" 27 | export QUILT_PAGER="tee" # Fuck pagination. I know how to pipe to less. 28 | 29 | # Python 30 | export PYTHONSTARTUP=$MEINE/python-init.py 31 | export DJANGO_COLORS="nocolor" 32 | 33 | # SystemDee 34 | # Behave, you fuck. 35 | export SYSTEMD_PAGER= 36 | export SYSTEMD_COLORS=0 37 | 38 | # GNU Coreutils 39 | # Make numbered backups 40 | export VERSION_CONTROL=numbered 41 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/texmf/tex/latex/preview/prtracingall.def: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `prtracingall.def', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% preview.dtx (with options: `tracingall') 8 | %% 9 | %% IMPORTANT NOTICE: 10 | %% 11 | %% For the copyright see the source file. 12 | %% 13 | %% Any modified versions of this file must be renamed 14 | %% with new filenames distinct from prtracingall.def. 15 | %% 16 | %% For distribution of the original source see the terms 17 | %% for copying and modification in the file preview.dtx. 18 | %% 19 | %% This generated file may be distributed as long as the 20 | %% original source files, as listed above, are part of the 21 | %% same distribution. (The sources need not necessarily be 22 | %% in the same archive or directory.) 23 | %% The preview style for extracting previews from LaTeX documents. 24 | %% Developed as part of AUCTeX . 25 | \ifPreview\else\expandafter\endinput\fi 26 | \pr@addto@front\pr@ship@start{\let\tracingonline\count@ 27 | \let\errorstopmode\@empty\tracingall} 28 | \endinput 29 | %% 30 | %% End of file `prtracingall.def'. 31 | -------------------------------------------------------------------------------- /lib/lua/LICENCE.lunajson.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2017 Shunsuke Shimizu (grafi) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /dotfiles/fcitx/conf/fcitx-imselector.config: -------------------------------------------------------------------------------- 1 | [IMSelector] 2 | # Local Input Method SelectKey 3 | #LocalInputMethodSelectKey= 4 | # Global Input Method SelectKey 5 | #GlobalInputMethodSelectKey= 6 | # Clear local Input Method 7 | #ClearLocal= 8 | 9 | [GlobalSelector] 10 | # Switch to the First Input Method 11 | #IM1= 12 | # Switch to the Second Input Method 13 | #IM2= 14 | # Switch to the Third Input Method 15 | #IM3= 16 | # Switch to the Fourth Input Method 17 | #IM4= 18 | # Switch to the Fifth Input Method 19 | #IM5= 20 | # Switch to the Sixth Input Method 21 | #IM6= 22 | # Switch to the Seventh Input Method 23 | #IM7= 24 | # Switch to the Eighth Input Method 25 | #IM8= 26 | # Switch to the Ninth Input Method 27 | #IM9= 28 | 29 | [LocalSelector] 30 | # Switch to the First Input Method 31 | #IM1= 32 | # Switch to the Second Input Method 33 | #IM2= 34 | # Switch to the Third Input Method 35 | #IM3= 36 | # Switch to the Fourth Input Method 37 | #IM4= 38 | # Switch to the Fifth Input Method 39 | #IM5= 40 | # Switch to the Sixth Input Method 41 | #IM6= 42 | # Switch to the Seventh Input Method 43 | #IM7= 44 | # Switch to the Eighth Input Method 45 | #IM8= 46 | # Switch to the Ninth Input Method 47 | #IM9= 48 | 49 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/execviewpdf.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * execviewpdf4_xpm[] = { 3 | "24 24 15 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #B50000", 6 | "+ c #AA7979", 7 | "@ c #000000", 8 | "# c #FFFFFF", 9 | "$ c #3A3A3A", 10 | "% c #65635C", 11 | "& c #9F9D96", 12 | "* c #807D74", 13 | "= c #3C3C3C", 14 | "- c #76746B", 15 | "; c #5D5C55", 16 | "> c #6D6B63", 17 | ", c #B3B3B1", 18 | "' c #8C8B89", 19 | " ...+ ...+ ...+", 20 | " . . . . . ", 21 | " . . . . . ", 22 | " ...+ . . ..+ ", 23 | " . . . . ", 24 | " . . . . ", 25 | " @@ . ...+ . ", 26 | " @ @ ", 27 | " @ @ ", 28 | " @ @ @@ ", 29 | " @@ @ @ ", 30 | "@# @ @ @ ", 31 | "@## @ @@ @ @ ", 32 | "@## @@@# @@ ", 33 | " @ @ @## @ $$ ", 34 | " @@ @## @ @%@&&@%@ ", 35 | " @ @ %&&&***= ", 36 | " @@ @&&-*;>@ ", 37 | " $&&-@@,%%$", 38 | " $&**@',%=$", 39 | " @*;,,*=@ ", 40 | " %*>%%=== ", 41 | " @=@%=@=@ ", 42 | " $$ "}; 43 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/execviewps.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * execviewps12_xpm[] = { 3 | "24 24 15 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #0037C4", 6 | "+ c #6C84B7", 7 | "@ c #000000", 8 | "# c #FFFFFF", 9 | "$ c #3A3A3A", 10 | "% c #65635C", 11 | "& c #9F9D96", 12 | "* c #807D74", 13 | "= c #3C3C3C", 14 | "- c #76746B", 15 | "; c #5D5C55", 16 | "> c #6D6B63", 17 | ", c #B3B3B1", 18 | "' c #8C8B89", 19 | " ...+ +..+ ", 20 | " . . . . ", 21 | " . . . ", 22 | " ...+ +..+ ", 23 | " . . ", 24 | " . . . ", 25 | " @@ . +..+ ", 26 | " @ @ ", 27 | " @ @ ", 28 | " @ @ @@ ", 29 | " @@ @ @ ", 30 | "@# @ @ @ ", 31 | "@## @ @@ @ @ ", 32 | "@## @@@# @@ ", 33 | " @ @ @## @ $$ ", 34 | " @@ @## @ @%@&&@%@ ", 35 | " @ @ %&&&***= ", 36 | " @@ @&&-*;>@ ", 37 | " $&&-@@,%%$", 38 | " $&**@',%=$", 39 | " @*;,,*=@ ", 40 | " %*>%%=== ", 41 | " @=@%=@=@ ", 42 | " $$ "}; 43 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/texmf/tex/latex/preview/prshowbox.def: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `prshowbox.def', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% preview.dtx (with options: `showbox') 8 | %% 9 | %% IMPORTANT NOTICE: 10 | %% 11 | %% For the copyright see the source file. 12 | %% 13 | %% Any modified versions of this file must be renamed 14 | %% with new filenames distinct from prshowbox.def. 15 | %% 16 | %% For distribution of the original source see the terms 17 | %% for copying and modification in the file preview.dtx. 18 | %% 19 | %% This generated file may be distributed as long as the 20 | %% original source files, as listed above, are part of the 21 | %% same distribution. (The sources need not necessarily be 22 | %% in the same archive or directory.) 23 | %% The preview style for extracting previews from LaTeX documents. 24 | %% Developed as part of AUCTeX . 25 | \ifPreview\else\expandafter\endinput\fi 26 | \AtEndOfPackage{% 27 | \showboxbreadth\maxdimen 28 | \showboxdepth\maxdimen} 29 | \g@addto@macro\pr@ship@end{\showbox\pr@box} 30 | \endinput 31 | %% 32 | %% End of file `prshowbox.def'. 33 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/prvwrk24.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * nwork24_xpm[] = { 3 | "24 24 17 1", 4 | " c None", 5 | ". c #000100", 6 | "+ c #141513", 7 | "@ c #212320", 8 | "# c #313230", 9 | "$ c #3B3D3A", 10 | "% c #484947", 11 | "& c #626461", 12 | "* c #8C8E8B", 13 | "= c #FF6467", 14 | "- c #B6AFAC", 15 | "; c #FF9696", 16 | "> c #C4C6C3", 17 | ", c #D0D2CE", 18 | "' c #FFCBCA", 19 | ") c #DDDFDC", 20 | "! c #FBFDFA", 21 | " ;; ", 22 | " ;==; ", 23 | " ==== ", 24 | " ;====; ", 25 | " ==;;== ", 26 | " ;==''==; ", 27 | " ==;!!;== ", 28 | " ;=='!!'==; ", 29 | " ==;!!!!;== ", 30 | " ;=='!!>,'==; ", 31 | " ==;!!!.%!;== ", 32 | " ;=;$#$*,)!'==; ", 33 | " ==&,*..!!!!;== ", 34 | " ;==#,@.$!!!!'==; ", 35 | " ==;!&.&&!!!!!;== ", 36 | " ;==')*&*&!!!!!'==; ", 37 | " ==;!*#&>&!!!!!!;== ", 38 | " ;==')$)&->-!!)&*'==; ", 39 | " ==;!&-!,&!!-,%..*;== ", 40 | " ;==',%!!)$!!>#....-==; ", 41 | " ==;!&>!!)@!>+.....+;== ", 42 | ";=='!-!!!!*!&%%%%%&&*==;", 43 | "========================", 44 | " ====================== "}; 45 | -------------------------------------------------------------------------------- /dotfiles/i3status/config: -------------------------------------------------------------------------------- 1 | # i3status configuration file. 2 | 3 | general { 4 | colors = true 5 | interval = 5 6 | separator = "" 7 | # gruvbox 8 | color_good = "#98971a" 9 | color_bad = "#cc241d" 10 | color_degraded = "#fabd2f" 11 | } 12 | 13 | # order += "tztime local" 14 | order += "load" 15 | order += "battery all" 16 | order += "cpu_temperature 0" 17 | order += "memory" 18 | # keep this last 19 | order += "read_file hostname" 20 | 21 | battery all { 22 | format = "%status %percentage" 23 | status_chr = "🔌" 24 | status_bat = "🔋" 25 | status_unk = "❓" 26 | status_full = "👍" 27 | low_threshold = 20 28 | } 29 | 30 | cpu_temperature 0 { 31 | format = "🌡️ %degrees °C" 32 | path = "/sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input" 33 | } 34 | 35 | tztime local { 36 | format = "📅 %F %a ⌚ %H:%M" 37 | } 38 | 39 | load { 40 | format = "📊 %1min %5min %15min" 41 | } 42 | 43 | memory { 44 | format = "💾 %used (%percentage_used)" 45 | decimals = 0 46 | } 47 | 48 | read_file hostname { 49 | path = "/etc/hostname" 50 | format = "🖥️ %content " 51 | } 52 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/jsarticle.el: -------------------------------------------------------------------------------- 1 | ;;; jsarticle.el - Special code for jsarticle class. 2 | 3 | ;;; Code: 4 | 5 | (defvar LaTeX-jsarticle-class-options 6 | '("a3paper" "a4paper" "a5paper" "a6paper" "b4paper" "b5paper" "b6paper" 7 | "a4j" "a5j" "b4j" "b5j" "a4var" "b5var" "letterpaper" "legalpaper" 8 | "executivepaper" "landscape" "slide" 9 | "8pt" "9pt" "10pt" "11pt" "12pt" "14pt" "17pt" "20pt" "21pt" "25pt" 10 | "30pt" "36pt" "43pt" "12Q" "14Q" "usemag" "nomag" "nomag*" 11 | "tombow" "tombo" "mentuke" "oneside" "twoside" "vartwoside" 12 | "onecolumn" "twocolumn" "titlepage" "notitlepage" "leqno" "fleqn" 13 | "disablejfam" "draft" "final" "mingoth" "wingoth" "jis" 14 | "uplatex" "autodetect-engine" "papersize" "english" "jslogo" "nojslogo") 15 | "Class options for the jsarticle class.") 16 | 17 | (TeX-add-style-hook 18 | "jsarticle" 19 | (lambda () 20 | (LaTeX-largest-level-set "section") 21 | (LaTeX-add-counters "part" "section" "subsection" "subsubsection" "paragraph" 22 | "subparagraph" "figure" "table") 23 | (LaTeX-add-pagestyles "headings" "myheadings") 24 | (LaTeX-add-environments "abstract")) 25 | LaTeX-dialect) 26 | 27 | ;;; jsarticle.el ends here 28 | -------------------------------------------------------------------------------- /doc/Qutebrowser.markdown: -------------------------------------------------------------------------------- 1 | # Installing Qutebrowser 2 | 3 | If needed, a recent version of Qutebrowser can be installed via 4 | 5 | $ cd ~/Sources/External/github-qutebrowser-qutebrowser # where a checkout usually 6 | # is on my system 7 | $ python3 ./scripts/mkvenv.py --venv-dir ~/local/_qutebrowser 8 | $ cd - 9 | $ ~/local/_qutebrowser/bin/pip install readability-lxml 10 | 11 | from inside a recent checkout. The underscore is there in the path 12 | name in order to tell `lib/profile/paths.sh` to skip adding this three 13 | to the path, as otherwise it will shadow system’s Python 3 14 | installation. 15 | 16 | Qutebrowser is going to fail to keep login sessions because different 17 | versions of WebEngine databases are incompatible 18 | (viz. ), 19 | so we need to delete the old database if it exists: 20 | 21 | $ rm -r $HOME/.local/share/qutebrowser/webengine 22 | 23 | (`bin/launch-qutebrowser.bash` should deal with this automatically, in case 24 | you followed the above steps to build and install Qutebrowser, instead of 25 | installing it through a package manager.) 26 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/beamerswitch.el: -------------------------------------------------------------------------------- 1 | ;;; beamerswitch.el --- AUCTeX style for the latex-beamerswitch class 2 | 3 | ;; Copyright (C) 2019 Free Software Foundation, Inc. 4 | 5 | ;; Keywords: tex 6 | 7 | ;; This file is part of AUCTeX. 8 | 9 | ;; AUCTeX is free software; you can redistribute it and/or modify it 10 | ;; under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation; either version 3, or (at your option) 12 | ;; any later version. 13 | 14 | ;; AUCTeX is distributed in the hope that it will be useful, but 15 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | ;; General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with AUCTeX; see the file COPYING. If not, write to the Free 21 | ;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 22 | ;; 02110-1301, USA. 23 | 24 | ;;; Commentary: 25 | 26 | ;; Triggers the beamer style when using the beamerswitch style. 27 | 28 | ;;; Code: 29 | 30 | (TeX-add-style-hook 31 | "beamerswitch" 32 | (lambda () 33 | (TeX-run-style-hooks "beamer"))) 34 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/style/beamerarticle.el: -------------------------------------------------------------------------------- 1 | ;;; beamerarticle.el --- AUCTeX style for the latex-beamerarticle class 2 | 3 | ;; Copyright (C) 2019 Free Software Foundation, Inc. 4 | 5 | ;; Keywords: tex 6 | 7 | ;; This file is part of AUCTeX. 8 | 9 | ;; AUCTeX is free software; you can redistribute it and/or modify it 10 | ;; under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation; either version 3, or (at your option) 12 | ;; any later version. 13 | 14 | ;; AUCTeX is distributed in the hope that it will be useful, but 15 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | ;; General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with AUCTeX; see the file COPYING. If not, write to the Free 21 | ;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 22 | ;; 02110-1301, USA. 23 | 24 | ;;; Commentary: 25 | 26 | ;; Triggers the beamer style when using the beamerarticle style. 27 | 28 | ;;; Code: 29 | 30 | (TeX-add-style-hook 31 | "beamerarticle" 32 | (lambda () 33 | (TeX-run-style-hooks "beamer"))) 34 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/texmf/tex/latex/preview/prlyx.def: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `prlyx.def', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% preview.dtx (with options: `lyx') 8 | %% 9 | %% IMPORTANT NOTICE: 10 | %% 11 | %% For the copyright see the source file. 12 | %% 13 | %% Any modified versions of this file must be renamed 14 | %% with new filenames distinct from prlyx.def. 15 | %% 16 | %% For distribution of the original source see the terms 17 | %% for copying and modification in the file preview.dtx. 18 | %% 19 | %% This generated file may be distributed as long as the 20 | %% original source files, as listed above, are part of the 21 | %% same distribution. (The sources need not necessarily be 22 | %% in the same archive or directory.) 23 | %% The preview style for extracting previews from LaTeX documents. 24 | %% Developed as part of AUCTeX . 25 | \ifPreview\else\expandafter\endinput\fi 26 | \pr@loadcfg{prlyx} 27 | \g@addto@macro\pr@ship@end{\typeout{Preview: 28 | Snippet \number\pr@snippet\space 29 | \number\ht\pr@box\space \number\dp\pr@box \space\number\wd\pr@box}} 30 | \endinput 31 | %% 32 | %% End of file `prlyx.def'. 33 | -------------------------------------------------------------------------------- /emacs.d/Makefile: -------------------------------------------------------------------------------- 1 | # makefile --- main makefile for .emacs. 2 | 3 | export EMACS = $(HOME)/local/emacs/bin/emacs 4 | export M4 = m4 5 | 6 | help: 7 | @echo Targets: 8 | @echo ' all: build all.' 9 | @echo ' clean: clean all build artefacs.' 10 | @echo ' ext: build local C extensions' 11 | @echo ' invade install symlinks' 12 | @echo ' packages: build emacs packages' 13 | @echo ' help: print this help text.' 14 | @echo ' emacs: build emacs (do NOT upgrade)' 15 | @echo ' emacs-up: build emacs (upgrade)' 16 | 17 | all: extras invade packages 18 | 19 | packages: pdf-tools 20 | 21 | pdf-tools: 22 | $(MAKE) -C lisp/pdf-tools -$(MAKEFLAGS) server/epdfinfo 23 | 24 | ext: 25 | $(MAKE) -C ext -$(MAKEFLAGS) 26 | 27 | extras: 28 | $(MAKE) -C extras -$(MAKEFLAGS) 29 | 30 | invade: 31 | $(HOME)/bin/invade -v $(HOME) 32 | 33 | emacs: all 34 | PATH="$(PWD)/bin:$(PATH)" NOFETCH=yes sh bin/build-emacs.sh 35 | 36 | emacs-up: all 37 | PATH="$(PWD)/bin:$(PATH)" sh bin/build-emacs.sh 38 | 39 | clean-ext: 40 | $(MAKE) -C ext -$(MAKEFLAGS) clean 41 | 42 | clean-extras: 43 | $(MAKE) -C extras -$(MAKEFLAGS) clean 44 | 45 | clean: clean-extras 46 | 47 | .PHONY: all help ext extras docs clean clean-ext clean-docs 48 | .PHONY: packages pdf-tools 49 | -------------------------------------------------------------------------------- /emacs.d/ext/gk-module.c: -------------------------------------------------------------------------------- 1 | /* gk-module.c --- C module helpers. */ 2 | 3 | #include 4 | 5 | #include "gk-module.h" 6 | 7 | /* gk_bind_function and gk_provide are adapted from 8 | . */ 9 | 10 | /* Bind NAME to FUN. */ 11 | extern void 12 | gk_bind_function (emacs_env *env, const char *name, emacs_value Sfun) 13 | { 14 | /* Set the function cell of the symbol named NAME to SFUN using 15 | the 'fset' function. */ 16 | 17 | /* Convert the strings to symbols by interning them */ 18 | emacs_value Qfset = env->intern (env, "fset"); 19 | emacs_value Qsym = env->intern (env, name); 20 | 21 | /* Prepare the arguments array */ 22 | emacs_value args[] = { Qsym, Sfun }; 23 | 24 | /* Make the call (2 == nb of arguments) */ 25 | env->funcall (env, Qfset, 2, args); 26 | } 27 | 28 | /* Provide FEATURE to Emacs. */ 29 | extern void 30 | gk_provide (emacs_env *env, const char *feature) 31 | { 32 | /* call 'provide' with FEATURE converted to a symbol */ 33 | 34 | emacs_value Qfeat = env->intern (env, feature); 35 | emacs_value Qprovide = env->intern (env, "provide"); 36 | emacs_value args[] = { Qfeat }; 37 | 38 | env->funcall (env, Qprovide, 1, args); 39 | } 40 | -------------------------------------------------------------------------------- /lib/fns2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # fns2.sh --- common functions, improved 3 | 4 | # This library is the successor to $MYLIB/fns.sh, whose functions are 5 | # not fit for interactive scripts. 6 | 7 | # After sourcing this, set parameters as such: 8 | # - script_name="$(basename $0)" 9 | # - script_usage="[ARGSLIST]" 10 | 11 | # Definitions with the prefix ‘fn2_’ prefix are internal. 12 | 13 | fn2_errcode_usage=1 14 | 15 | fns2_make_timestamp_prefix () { 16 | echo "$script_name [$(date)]: $@" 17 | } 18 | 19 | # usage: log MESSAGE... 20 | log () { 21 | echo "$(fns2_make_timestamp_prefix)" "$@" 22 | } 23 | 24 | # usage: exit_with_error_log ERROR_CODE MESSAGE... 25 | exit_with_error_log () { 26 | errcode=$1 27 | shift 28 | log "$@" >&2 29 | exit $errcode 30 | } 31 | 32 | # usage: message MESSAGE... 33 | message () { 34 | echo "$@" 35 | } 36 | 37 | # usage: exit_with_error_message ERROR_CODE MESSAGE... 38 | exit_with_error_message () { 39 | errcode=$1 40 | shift 41 | message="$@" 42 | message "$script_name: error: $message" >&2 43 | exit $errcode 44 | } 45 | 46 | # usage: exit_with_usage 47 | exit_with_usage () { 48 | message "$script_name: usage: $script_usage" 49 | exit $fn2_errcode_usage 50 | } 51 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/spluslogo.xpm.safe: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *spluslogo[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 24 24 13 1", 5 | /* colors */ 6 | ". c #000000", 7 | "# c #303062", 8 | "a c #494949", 9 | "b c #626262", 10 | "c c #838383", 11 | "d c #ce3000", 12 | "e c #ce3062", 13 | "f c #ce6262", 14 | "g c #ce629b", 15 | "h c #cecece", 16 | "i c #ffcece", 17 | "j c #ffceff", 18 | "k c None", 19 | /* pixels */ 20 | "gddkkkkdddiidkkhdkdhkgdd", 21 | "dkdjkkkdihdidkkhdkdhidkd", 22 | "ddjkkkkdhdgidkkidkdhkddj", 23 | "kgdkddkddgjidkkhdkdikkgd", 24 | "fkdiiikdikkidkkhdkdhhfkd", 25 | "ddgkkkkdikkidddkgedkjddg", 26 | "kkkkkkkkkkkkkkkkkkkkkkkk", 27 | "kkkkkkkkkkkkkkkkkkkkkkkk", 28 | "kkkkk...kdddkccckkkkkkkk", 29 | "kkkkk...kdddkccckkkkkkkk", 30 | "kkkkk...kdddkccckkkkkkkk", 31 | "kkkkkkkkkkkkkkkkkkkkkkkk", 32 | "kkkkkdddkccckkkkccckkkkk", 33 | "kkkkkdddkccckkkkccckkkkk", 34 | "kkkkkdddkccckkkkccckkkkk", 35 | "kkkkkkkkkkkkkkkkkkkkkkkk", 36 | "kkkkkccckkkkccckdddkkkkk", 37 | "kkkkkccckkkkccckdddkkkkk", 38 | "kkkkkccckkkkccckdddkkkkk", 39 | "kkkkkkkkkkkkkkkkkkkkkkkk", 40 | "kkkkkkkkccckdddk...kkkkk", 41 | "kkkkkkkkccckdddk...kkkkk", 42 | "kkkkkkkkccckdddk...kkkkk", 43 | "kkkkkkkkkkkkkkkkkkkkkkkk" 44 | }; 45 | -------------------------------------------------------------------------------- /lib/lisp/emacs/ess/etc/icons/rfunction.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *rfunction[]={ 3 | "24 24 18 1", 4 | "B c #000000", 5 | "k c #181818", 6 | "Q c #1f1f1f", 7 | "z c #232323", 8 | "L c #313131", 9 | "Z c #3c3c3c", 10 | "O c #404040", 11 | "a c #5e5e5e", 12 | "W c #676767", 13 | "U c #757575", 14 | "N c #848484", 15 | "P c #969696", 16 | "0 c #a0a0a0", 17 | ". c None s backgroundToolBarColor", 18 | "G c #b9b9b9", 19 | "I c #c6c6c6", 20 | "T c #d5d5d5", 21 | "# c #1532ed", 22 | "........................", 23 | "...............#........", 24 | "...............##.......", 25 | ".....#############......", 26 | ".....##############.....", 27 | ".....#############......", 28 | "...............##.......", 29 | "...............#........", 30 | "........................", 31 | "........................", 32 | "........................", 33 | "..............az..zU....", 34 | "....ILBBz...GkP....aO...", 35 | "....zU......BG......LP..", 36 | "....BG.....UO.......0z..", 37 | "..BBBBBBP..zP.......GB..", 38 | "....BG.....BG........BI.", 39 | "....BG.....BG........BI.", 40 | "....BG.....LP.......GB..", 41 | "....BG.....NO.......PL..", 42 | "....BG......Q0......z0..", 43 | "....BG......TQU0..0ZW...", 44 | "..............NL..Z0....", 45 | "........................"}; 46 | -------------------------------------------------------------------------------- /bin/metabackup.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # metabackup.bash --- create a metabackup 3 | 4 | . $MYLIB/fns2.sh 5 | 6 | script_name="$(basename $0)" 7 | script_usage="" 8 | 9 | # bash strict mode 10 | set -euo pipefail 11 | IFS=$'\n\t' 12 | 13 | source_dir="/run/media/cadadr/cadadr-backup" 14 | target_dir="/run/media/cadadr/igk-attic" 15 | target_name_template="metabackup-%s.tar.zstd" 16 | 17 | if [ ! -d "$source_dir" ]; then 18 | exit_with_error_message 2 "source directory unavailable ($source_dir)" 19 | fi 20 | 21 | if [ ! -d "$target_dir" ]; then 22 | exit_with_error_message 2 "target directory unavailable ($target_dir)" 23 | fi 24 | 25 | source_size="$(du --exclude=lost\\+found -sxb $source_dir/ \ 26 | | awk '{ printf $1 }')" 27 | 28 | target_file_path="$(printf $target_dir/$target_name_template $(date +%F))" 29 | 30 | if [ -e "$target_file_path" ]; then 31 | exit_with_error_message 2 "target file exists ($target_file_path)" 32 | fi 33 | 34 | message "source directory: $source_dir" 35 | message "output file: $target_file_path" 36 | 37 | echo 38 | 39 | exec tar --create --exclude lost+found --file=- "$source_dir" \ 40 | | pv -s "$source_size" \ 41 | | zstd --quiet - -o "$target_file_path" 42 | -------------------------------------------------------------------------------- /bin/msmtp-enqueue.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | QUEUEDIR=$MAILQUEUE 4 | 5 | # Set secure permissions on created directories and files 6 | umask 077 7 | 8 | # Change to queue directory (create it if necessary) 9 | if [ ! -d "$QUEUEDIR" ]; then 10 | mkdir -p "$QUEUEDIR" || exit 1 11 | fi 12 | cd "$QUEUEDIR" || exit 1 13 | 14 | # Create new unique filenames of the form 15 | # MAILFILE: ccyy-mm-dd-hh.mm.ss[-x].mail 16 | # MSMTPFILE: ccyy-mm-dd-hh.mm.ss[-x].msmtp 17 | # where x is a consecutive number only appended if you send more than one 18 | # mail per second. 19 | BASE="`date +%Y-%m-%d-%H.%M.%S`" 20 | if [ -f "$BASE.mail" -o -f "$BASE.msmtp" ]; then 21 | TMP="$BASE" 22 | i=1 23 | while [ -f "$TMP-$i.mail" -o -f "$TMP-$i.msmtp" ]; do 24 | i=`expr $i + 1` 25 | done 26 | BASE="$BASE-$i" 27 | fi 28 | MAILFILE="$BASE.mail" 29 | MSMTPFILE="$BASE.msmtp" 30 | 31 | # Write command line to $MSMTPFILE 32 | echo "$@" > "$MSMTPFILE" || exit 1 33 | 34 | # Write the mail to $MAILFILE 35 | cat > "$MAILFILE" || exit 1 36 | 37 | # If we are online, run the queue immediately. 38 | # Replace the test with something suitable for your site. 39 | #ping -c 1 -w 2 SOME-IP-ADDRESS > /dev/null 40 | #if [ $? -eq 0 ]; then 41 | # msmtp-runqueue.sh > /dev/null & 42 | #fi 43 | 44 | exit 0 45 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/execviewdvi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * execviewdvi11_xpm[] = { 3 | "24 24 19 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #295E29", 6 | "+ c #5ABD5A", 7 | "@ c #488148", 8 | "# c #4CA14C", 9 | "$ c #4D904D", 10 | "% c #000000", 11 | "& c #4FA64F", 12 | "* c #FFFFFF", 13 | "= c #3A3A3A", 14 | "- c #65635C", 15 | "; c #9F9D96", 16 | "> c #807D74", 17 | ", c #3C3C3C", 18 | "' c #76746B", 19 | ") c #5D5C55", 20 | "! c #6D6B63", 21 | "~ c #B3B3B1", 22 | "{ c #8C8B89", 23 | " ...+ . . . ", 24 | " . . . . . ", 25 | " . . . . . ", 26 | " . . @ @ . ", 27 | " . . #$$# . ", 28 | " . . @@ . ", 29 | " %% ...+ && . ", 30 | " % % ", 31 | " % % ", 32 | " % % %% ", 33 | " %% % % ", 34 | "%* % % % ", 35 | "%** % %% % % ", 36 | "%** %%%* %% ", 37 | " % % %** % == ", 38 | " %% %** % %-%;;%-% ", 39 | " % % -;;;>>>, ", 40 | " %% %;;'>)!% ", 41 | " =;;'%%~--=", 42 | " =;>>%{~-,=", 43 | " %>)~~>,% ", 44 | " ->!--,,, ", 45 | " %,%-,%,% ", 46 | " == "}; 47 | -------------------------------------------------------------------------------- /bin/borg-backup.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # borg-backup.bash --- create backups w/ borg 3 | 4 | . $HOME/.profile 5 | . $MYLIB/cron.sh 6 | . $MYLIB/fns.sh 7 | 8 | # if stdout is not a tty, output to log 9 | if [ ! -t 1 ]; then 10 | exec >>$MYLOGS/borg.log 11 | exec 2>&1 12 | fi 13 | 14 | check-router-mac-address.bash "$GK_SAPPHO_HOME_ROUTER_MAC" || { 15 | say "unexpected router MAC, will not run on this network!" 16 | exit 17 | } 18 | 19 | # If ‘GK_BORG_INTERACTIVE’ is set, display progress info. 20 | maybe_progress="${GK_BORG_INTERACTIVE:+--stats --progress}" 21 | 22 | say repository: $BORG_REPO 23 | 24 | say starting local backup with borg... 25 | 26 | if [ ! -f "$MYSYSTEM/full-backup.dirs" ]; then 27 | die backups not supported, "$MYSYSTEM/full-backup.dirs" not found 28 | fi 29 | 30 | borg create $maybe_progress --compression=lz4 "::{user}-{now}" \ 31 | $(bash $MYSYSTEM/full-backup.dirs) 32 | 33 | exit_code=$? 34 | if [ "$exit_code" -eq 0 ]; then 35 | notify-send -u low \ 36 | 'Borg backup completed' 'Local backup successfully completed' 37 | say done finished completed ciao 38 | else 39 | notify-send -u critical \ 40 | "Borg backup failed with error code ${exit_code}!" 41 | say failed with $exit_code 42 | fi 43 | -------------------------------------------------------------------------------- /lib/lisp/emacs/auctex/auctex/images/ltx-symb-turn-on.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * ltx_symb_turn_on_xpm[] = { 3 | "24 24 19 1", 4 | " c None s backgroundToolBarColor", 5 | ". c #AEAEAE", 6 | "+ c #000000", 7 | "@ c #0A0A0A", 8 | "# c #1F1F1F", 9 | "$ c #C9C9C9", 10 | "% c #353535", 11 | "& c #999999", 12 | "* c #4D4D4D", 13 | "= c #777777", 14 | "- c #141414", 15 | "; c #878787", 16 | "> c #686868", 17 | ", c #5A5A5A", 18 | "' c #79DECA", 19 | ") c #00AA88", 20 | "! c #5DC8B3", 21 | "~ c #414141", 22 | "{ c #292929", 23 | " ", 24 | " ", 25 | " ", 26 | ".+@########++@$ ", 27 | " %@& .*@= ", 28 | " $--$ ;% ", 29 | " .@% >$ ", 30 | " ,+= '", 31 | " %@. ) ", 32 | " $--$ )) ", 33 | " &+* ')! )) ", 34 | " *@$ )))) ", 35 | " $#; !)) ", 36 | " %, ')' ", 37 | " >% ", 38 | " ;#$ &$ ", 39 | " .-. $~ ", 40 | " {; .{, ", 41 | " *{>>>>>>>>{++. ", 42 | "$~~~~~~~~~~~~* ", 43 | " ", 44 | " ", 45 | " ", 46 | " "}; 47 | --------------------------------------------------------------------------------