summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Coquand <marc@mccd.space>2024-05-06 17:07:49 -0500
committerMarc Coquand <marc@mccd.space>2024-05-06 17:07:49 -0500
commit80b95fcaab9149466e656430eb4c0041e28ee455 (patch)
treec9161d0815b3f81cea9f522891ee148bb5f427af
downloadrcm-80b95fcaab9149466e656430eb4c0041e28ee455.tar.gz
rcm-80b95fcaab9149466e656430eb4c0041e28ee455.tar.bz2
rcm-80b95fcaab9149466e656430eb4c0041e28ee455.zip
Initial commit
-rw-r--r--bash_profile22
-rw-r--r--bashrc33
-rw-r--r--config/foot/foot.ini35
l---------config/hikari/autostart1
l---------config/hikari/hikari.conf1
-rw-r--r--config/msmtp/config20
l---------config/nix/nix.conf1
-rw-r--r--emacs897
-rw-r--r--emacs.d/custom.el0
-rw-r--r--gitconfig46
-rw-r--r--gnus.el60
-rw-r--r--local/share/fonts/DinaRemasterCollection.ttcbin0 -> 46404 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-Italic.otfbin0 -> 59116 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-Regular.otfbin0 -> 58264 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-Ultrabold.otfbin0 -> 57664 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-UltraboldItalic.otfbin0 -> 58852 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-Ultralight.otfbin0 -> 57792 bytes
-rw-r--r--local/share/fonts/PPEditorialNew-UltralightItalic.otfbin0 -> 57604 bytes
-rw-r--r--local/share/fonts/PPMondwest-Regular.otfbin0 -> 144460 bytes
-rw-r--r--local/share/fonts/PPNeueBit-Bold.otfbin0 -> 128228 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Bold.ttfbin0 -> 1655204 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-BoldItalic.ttfbin0 -> 1714356 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-BoldOblique.ttfbin0 -> 1711876 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Condensed.ttfbin0 -> 1713132 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedBold.ttfbin0 -> 1704120 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedBoldItalic.ttfbin0 -> 1762724 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedBoldOblique.ttfbin0 -> 1760696 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraBold.ttfbin0 -> 1704484 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldItalic.ttfbin0 -> 1766556 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldOblique.ttfbin0 -> 1765084 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraLight.ttfbin0 -> 1678328 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraLightItalic.ttfbin0 -> 1726492 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedExtraLightOblique.ttfbin0 -> 1725452 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedHeavy.ttfbin0 -> 1703008 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedHeavyItalic.ttfbin0 -> 1767836 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedHeavyOblique.ttfbin0 -> 1766044 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedItalic.ttfbin0 -> 1766884 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedLight.ttfbin0 -> 1709104 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedLightItalic.ttfbin0 -> 1762372 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedLightOblique.ttfbin0 -> 1759916 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedMedium.ttfbin0 -> 1711736 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedMediumItalic.ttfbin0 -> 1769632 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedMediumOblique.ttfbin0 -> 1767524 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedOblique.ttfbin0 -> 1764460 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedSemiBold.ttfbin0 -> 1715272 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldItalic.ttfbin0 -> 1772336 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldOblique.ttfbin0 -> 1770168 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedThin.ttfbin0 -> 1683512 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedThinItalic.ttfbin0 -> 1732548 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-CondensedThinOblique.ttfbin0 -> 1730872 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraBold.ttfbin0 -> 1658352 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraBoldItalic.ttfbin0 -> 1718836 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraBoldOblique.ttfbin0 -> 1716300 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraLight.ttfbin0 -> 1651824 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraLightItalic.ttfbin0 -> 1700532 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ExtraLightOblique.ttfbin0 -> 1699280 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Heavy.ttfbin0 -> 1659612 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-HeavyItalic.ttfbin0 -> 1717020 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-HeavyOblique.ttfbin0 -> 1715212 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Italic.ttfbin0 -> 1720100 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Light.ttfbin0 -> 1654568 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-LightItalic.ttfbin0 -> 1708476 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-LightOblique.ttfbin0 -> 1706164 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Medium.ttfbin0 -> 1651580 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-MediumItalic.ttfbin0 -> 1711256 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-MediumOblique.ttfbin0 -> 1709172 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Oblique.ttfbin0 -> 1716752 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Regular.ttfbin0 -> 1660804 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-SemiBold.ttfbin0 -> 1654788 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-SemiBoldItalic.ttfbin0 -> 1713024 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-SemiBoldOblique.ttfbin0 -> 1710300 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-Thin.ttfbin0 -> 1636304 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ThinItalic.ttfbin0 -> 1688632 bytes
-rw-r--r--local/share/fonts/ProtoTypeQuasi-ThinOblique.ttfbin0 -> 1687800 bytes
-rw-r--r--local/share/fonts/WumpusMonoPro-Regular.ttfbin0 -> 62708 bytes
-rw-r--r--local/share/fonts/cmunbbx.ttfbin0 -> 338508 bytes
-rw-r--r--local/share/fonts/cmunbi.ttfbin0 -> 476440 bytes
-rw-r--r--local/share/fonts/cmunbl.ttfbin0 -> 665780 bytes
-rw-r--r--local/share/fonts/cmunbmo.ttfbin0 -> 403248 bytes
-rw-r--r--local/share/fonts/cmunbmr.ttfbin0 -> 370388 bytes
-rw-r--r--local/share/fonts/cmunbso.ttfbin0 -> 399976 bytes
-rw-r--r--local/share/fonts/cmunbsr.ttfbin0 -> 338276 bytes
-rw-r--r--local/share/fonts/cmunbtl.ttfbin0 -> 410116 bytes
-rw-r--r--local/share/fonts/cmunbto.ttfbin0 -> 462276 bytes
-rw-r--r--local/share/fonts/cmunbx.ttfbin0 -> 609796 bytes
-rw-r--r--local/share/fonts/cmunbxo.ttfbin0 -> 392140 bytes
-rw-r--r--local/share/fonts/cmunci.ttfbin0 -> 495692 bytes
-rw-r--r--local/share/fonts/cmunit.ttfbin0 -> 458764 bytes
-rw-r--r--local/share/fonts/cmunobi.ttfbin0 -> 480216 bytes
-rw-r--r--local/share/fonts/cmunobx.ttfbin0 -> 462364 bytes
-rw-r--r--local/share/fonts/cmunorm.ttfbin0 -> 553960 bytes
-rw-r--r--local/share/fonts/cmunoti.ttfbin0 -> 476692 bytes
-rw-r--r--local/share/fonts/cmunrb.ttfbin0 -> 417560 bytes
-rw-r--r--local/share/fonts/cmunrm.ttfbin0 -> 639132 bytes
-rw-r--r--local/share/fonts/cmunsi.ttfbin0 -> 404772 bytes
-rw-r--r--local/share/fonts/cmunsl.ttfbin0 -> 672956 bytes
-rw-r--r--local/share/fonts/cmunso.ttfbin0 -> 462844 bytes
-rw-r--r--local/share/fonts/cmunss.ttfbin0 -> 369888 bytes
-rw-r--r--local/share/fonts/cmunssdc.ttfbin0 -> 369464 bytes
-rw-r--r--local/share/fonts/cmunst.ttfbin0 -> 551972 bytes
-rw-r--r--local/share/fonts/cmunsx.ttfbin0 -> 480476 bytes
-rw-r--r--local/share/fonts/cmuntb.ttfbin0 -> 397792 bytes
-rw-r--r--local/share/fonts/cmunti.ttfbin0 -> 486980 bytes
-rw-r--r--local/share/fonts/cmuntt.ttfbin0 -> 549844 bytes
-rw-r--r--local/share/fonts/cmuntx.ttfbin0 -> 458064 bytes
-rw-r--r--local/share/fonts/cmunui.ttfbin0 -> 408580 bytes
-rw-r--r--local/share/fonts/cmunvi.ttfbin0 -> 406580 bytes
-rw-r--r--local/share/fonts/cmunvt.ttfbin0 -> 343948 bytes
-rw-r--r--local/share/fonts/iAWriterDuoS-Bold.ttfbin0 -> 121460 bytes
-rw-r--r--local/share/fonts/iAWriterDuoS-BoldItalic.ttfbin0 -> 105252 bytes
-rw-r--r--local/share/fonts/iAWriterDuoS-Italic.ttfbin0 -> 105824 bytes
-rw-r--r--local/share/fonts/iAWriterDuoS-Regular.ttfbin0 -> 120696 bytes
-rw-r--r--local/share/fonts/iAWriterQuattroS-Bold.ttfbin0 -> 120404 bytes
-rw-r--r--local/share/fonts/iAWriterQuattroS-BoldItalic.ttfbin0 -> 104520 bytes
-rw-r--r--local/share/fonts/iAWriterQuattroS-Italic.ttfbin0 -> 105028 bytes
-rw-r--r--local/share/fonts/iAWriterQuattroS-Regular.ttfbin0 -> 119772 bytes
-rw-r--r--local/share/fonts/iosevka-aile-bold.ttfbin0 -> 11866772 bytes
-rw-r--r--local/share/fonts/iosevka-aile-bolditalic.ttfbin0 -> 12448420 bytes
-rw-r--r--local/share/fonts/iosevka-aile-boldoblique.ttfbin0 -> 12399516 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extrabold.ttfbin0 -> 12083356 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extrabolditalic.ttfbin0 -> 12775152 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extraboldoblique.ttfbin0 -> 12725236 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extralight.ttfbin0 -> 11169384 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extralightitalic.ttfbin0 -> 11919200 bytes
-rw-r--r--local/share/fonts/iosevka-aile-extralightoblique.ttfbin0 -> 11865140 bytes
-rw-r--r--local/share/fonts/iosevka-aile-heavy.ttfbin0 -> 12044608 bytes
-rw-r--r--local/share/fonts/iosevka-aile-heavyitalic.ttfbin0 -> 12691560 bytes
-rw-r--r--local/share/fonts/iosevka-aile-heavyoblique.ttfbin0 -> 12626952 bytes
-rw-r--r--local/share/fonts/iosevka-aile-italic.ttfbin0 -> 12346004 bytes
-rw-r--r--local/share/fonts/iosevka-aile-light.ttfbin0 -> 11709060 bytes
-rw-r--r--local/share/fonts/iosevka-aile-lightitalic.ttfbin0 -> 12529836 bytes
-rw-r--r--local/share/fonts/iosevka-aile-lightoblique.ttfbin0 -> 12475468 bytes
-rw-r--r--local/share/fonts/iosevka-aile-medium.ttfbin0 -> 11653900 bytes
-rw-r--r--local/share/fonts/iosevka-aile-mediumitalic.ttfbin0 -> 12295608 bytes
-rw-r--r--local/share/fonts/iosevka-aile-mediumoblique.ttfbin0 -> 12244760 bytes
-rw-r--r--local/share/fonts/iosevka-aile-oblique.ttfbin0 -> 12280868 bytes
-rw-r--r--local/share/fonts/iosevka-aile-regular.ttfbin0 -> 11700104 bytes
-rw-r--r--local/share/fonts/iosevka-aile-semibold.ttfbin0 -> 11729544 bytes
-rw-r--r--local/share/fonts/iosevka-aile-semibolditalic.ttfbin0 -> 12335064 bytes
-rw-r--r--local/share/fonts/iosevka-aile-semiboldoblique.ttfbin0 -> 12283072 bytes
-rw-r--r--local/share/fonts/iosevka-aile-thin.ttfbin0 -> 11107212 bytes
-rw-r--r--local/share/fonts/iosevka-aile-thinitalic.ttfbin0 -> 11931732 bytes
-rw-r--r--local/share/fonts/iosevka-aile-thinoblique.ttfbin0 -> 11877156 bytes
-rw-r--r--local/share/fonts/luximb.ttfbin0 -> 74076 bytes
-rw-r--r--local/share/fonts/luximbi.ttfbin0 -> 69872 bytes
-rw-r--r--local/share/fonts/luximr.ttfbin0 -> 71784 bytes
-rw-r--r--local/share/fonts/luximri.ttfbin0 -> 69496 bytes
-rw-r--r--mbsyncrc64
-rwxr-xr-xservices/mbsync/run4
-rwxr-xr-xservices/nextcloud/run5
-rwxr-xr-xservices/vdirsyncer/run4
151 files changed, 1193 insertions, 0 deletions
diff --git a/bash_profile b/bash_profile
new file mode 100644
index 0000000..bdf10fc
--- /dev/null
+++ b/bash_profile
@@ -0,0 +1,22 @@
+# Set up the system, user profile, and related variables.
+# /etc/profile will be sourced by bash automatically
+# Set up the home environment profile.
+if [ -f ~/.profile ]; then source ~/.profile; fi
+
+# Honor per-interactive-shell startup file
+if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
+source /run/current-system/profile/etc/profile.d/nix.sh
+export PS1="\\A \\e[1m \\W ${GUIX_ENVIRONMENT:+ (+)} \\e(B\\e[m"
+export EDITOR="emacsclient -nw"
+export TERM="linux"
+export TERMINAL="foot"
+export GDK_DPI_SCALE="1.5"
+export GDK_SCALE="1.5"
+export MOZ_ENABLE_WAYLAND="1"
+export XCURSOR_THEME="Adwaita"
+export XCURSOR_SIZE="32"
+export XDG_CURRENT_DESKTOP="wlroots"
+export XDG_SESSION_TYPE="hikari"
+export PF_INFO="ascii title os host pkgs shell"
+export PF_ALIGN="7"
+export PF_COLOR="0"
diff --git a/bashrc b/bashrc
new file mode 100644
index 0000000..6068e7e
--- /dev/null
+++ b/bashrc
@@ -0,0 +1,33 @@
+alias grep="ugrep --exclude-dir=node-modules --exclude-dir=_build"
+alias e="emacsclient -nw"
+alias pf=""
+alias g="git"
+alias f-commit="fossil commit && fossil git export"
+# Bash initialization for interactive non-login shells and
+# for remote shells (info "(bash) Bash Startup Files").
+
+# Export 'SHELL' to child processes. Programs such as 'screen'
+# honor it and otherwise use /bin/sh.
+export SHELL
+
+if [[ $- != *i* ]]
+then
+ # We are being invoked from a non-interactive shell. If this
+ # is an SSH session (as in "ssh host command"), source
+ # /etc/profile so we get PATH and other essential variables.
+ [[ -n "$SSH_CLIENT" ]] && source /etc/profile
+
+ # Don't do anything else.
+ return
+fi
+
+# Source the system-wide file.
+[ -f /etc/bashrc ] && source /etc/bashrc
+
+parse_git_branch() {
+ git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1 ∘︎ /'
+}
+
+PS1='\A ${GUIX_ENVIRONMENT:+︎v }$(parse_git_branch)\W '
+eval "$(zoxide init bash)"
+eval "$(direnv hook bash)"
diff --git a/config/foot/foot.ini b/config/foot/foot.ini
new file mode 100644
index 0000000..c2d851f
--- /dev/null
+++ b/config/foot/foot.ini
@@ -0,0 +1,35 @@
+pad=4x4
+font=Iosevka Term Curly:size=14
+line-height=20
+underline-thickness=1px
+underline-offset=4px
+box-drawings-uses-font-glyphs=yes
+
+[cursor]
+blink=true
+style=beam
+beam-thickness=2px
+
+[colors]
+foreground=101010 # Text
+background=F6F5F4 # Base
+regular0=202020 # Surface 1
+regular1=FF0000 # red
+regular2=10a778 # green
+regular3=8F925B # yellow
+regular4=008ec4 # blue
+regular5=FF0000 # pink
+regular6=523b78 # teal
+regular7=d9d9d9 # Subtext 1
+bright0=f0f0f0 # Surface 2
+bright1=FF0000 # red
+bright2=5ed5ae # green
+bright3=f3e42f # yellow
+bright4=20bafb # blue
+bright5=FF0000 # pink
+
+bright6=6854de # teal
+bright7=FFFFFF # Subtext 0
+
+[url]
+osc8-underline=always
diff --git a/config/hikari/autostart b/config/hikari/autostart
new file mode 120000
index 0000000..0857bea
--- /dev/null
+++ b/config/hikari/autostart
@@ -0,0 +1 @@
+/gnu/store/d108g5q9n5kjfa7i9crxlnah4j9my5rc-home-dotfiles--config-hikari-autostart \ No newline at end of file
diff --git a/config/hikari/hikari.conf b/config/hikari/hikari.conf
new file mode 120000
index 0000000..539275c
--- /dev/null
+++ b/config/hikari/hikari.conf
@@ -0,0 +1 @@
+/gnu/store/lvfjw6yzjbk7s7pq8wf6n44yq4wdzclq-home-dotfiles--config-hikari-hikari-conf \ No newline at end of file
diff --git a/config/msmtp/config b/config/msmtp/config
new file mode 100644
index 0000000..fbb78f5
--- /dev/null
+++ b/config/msmtp/config
@@ -0,0 +1,20 @@
+defaults
+auth on
+tls on
+tls_trust_file /etc/ssl/certs/ca-certificates.crt
+logfile ~/.msmtp.log
+
+account work
+host smtp.gmail.com
+port 587
+user marc@baemingo.com
+from marc@baemingo.com
+passwordeval pass baemingo/gmail
+
+account home
+tls_starttls off
+host smtp.fastmail.com
+port 465
+user marcc@fastmail.fr
+from marc@mccd.space
+passwordeval pass fastmail/marcc
diff --git a/config/nix/nix.conf b/config/nix/nix.conf
new file mode 120000
index 0000000..b63d7ee
--- /dev/null
+++ b/config/nix/nix.conf
@@ -0,0 +1 @@
+/gnu/store/f8y5nfi3ldsczd08h96nrjyq36f55dn7-home-dotfiles--config-nix-nix-conf \ No newline at end of file
diff --git a/emacs b/emacs
new file mode 100644
index 0000000..331c58c
--- /dev/null
+++ b/emacs
@@ -0,0 +1,897 @@
+(menu-bar-mode -1)
+(tool-bar-mode -1)
+(scroll-bar-mode -1)
+(pixel-scroll-mode)
+
+(require 'package)
+(setq frame-title-format
+ `((buffer-file-name "%f" "%b")
+ ,(format " - Emacs" )))
+
+(with-eval-after-load 'package
+ (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/")))
+(with-eval-after-load 'package
+ (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")))
+(package-initialize t)
+(setq url-http-attempt-keepalives nil)
+(when (not package-archive-contents)
+ (package-refresh-contents))
+
+(setq kill-whole-line t)
+
+;; wl-copy
+(setq wl-copy-process nil)
+(defun wl-copy (text)
+ (setq wl-copy-process (make-process :name "wl-copy"
+ :buffer nil
+ :command '("wl-copy")
+ :connection-type 'pipe
+ :noquery t))
+ (process-send-string wl-copy-process text)
+ (process-send-eof wl-copy-process))
+
+(defun wl-paste ()
+ (if (and wl-copy-process (process-live-p wl-copy-process))
+ nil
+ (shell-command-to-string "wl-paste -n | tr -d \r")))
+
+(setq interprogram-cut-function 'wl-copy
+ interprogram-paste-function 'wl-paste)
+
+;; God mode
+(unless (package-installed-p 'god-mode)
+ (package-install 'god-mode))
+
+(require 'god-mode)
+(god-mode-all)
+(global-set-key (kbd "<escape>") #'god-local-mode)
+(define-key god-local-mode-map (kbd "i") #'god-local-mode)
+(define-key god-local-mode-map (kbd ".") #'repeat)
+(global-set-key (kbd "C-x C-1") #'delete-other-windows)
+(define-key god-local-mode-map (kbd "[") #'next-buffer)
+(define-key god-local-mode-map (kbd "]") #'previous-buffer)
+
+;; Expand-region
+(unless (package-installed-p 'expand-region)
+ (package-install 'expand-region))
+(require 'expand-region)
+
+(global-set-key (kbd "C-,") 'er/expand-region)
+;; Keybindings
+(global-set-key (kbd "C-c C-k") #'eldoc)
+(define-key god-local-mode-map (kbd "C-c d [") #'flymake-goto-prev-error)
+(define-key god-local-mode-map (kbd "C-c d ]") #'flymake-goto-next-error)
+(define-key god-local-mode-map (kbd "C-c v ]") #'diff-hl-next-hunk)
+(define-key god-local-mode-map (kbd "C-c v [") #'diff-hl-prev-hunk)
+
+
+(defun m/newline-insert-above ()
+ "Create line above, exit god mode"
+ (interactive)
+ (beginning-of-line)
+ (newline-and-indent)
+ (previous-line)
+ (god-local-mode -1))
+
+(define-key god-local-mode-map (kbd "C-S-O") #'m/newline-insert-above)
+
+(defun m/newline-insert-below ()
+ "Create line below, exit god mode"
+ (interactive)
+ (end-of-line)
+ (newline-and-indent)
+ (god-local-mode -1))
+
+(define-key god-local-mode-map (kbd "C-o") #'m/newline-insert-below)
+
+(add-hook 'god-local-mode-hook
+ (lambda () (if (bound-and-true-p god-local-mode)
+ (setq cursor-type 'box)
+ (setq cursor-type 'bar))))
+
+(defun m/update-cursor-type ()
+ (setq cursor-type (if (or god-local-mode buffer-read-only) 'box 'bar)))
+(add-hook 'post-command-hook #'m/update-cursor-type)
+
+(defun m/quit ()
+ "Quit current window or buffer. Taken from meow-quit"
+ (interactive)
+ (if (> (seq-length (window-list (selected-frame))) 1)
+ (quit-window)
+ (previous-buffer)))
+
+(define-key god-local-mode-map (kbd "C-q") #'m/quit)
+
+(require 'god-mode-isearch)
+(define-key isearch-mode-map (kbd "<escape>") #'god-mode-isearch-activate)
+(define-key god-mode-isearch-map (kbd "<escape>") #'god-mode-isearch-disable)
+
+(delete-selection-mode 1)
+
+(unless (package-installed-p 'avy)
+ (package-install 'avy))
+
+(keymap-global-set "C-'" 'avy-goto-char)
+
+;; Setup custom keys for avy
+(custom-set-variables '(avy-keys '(97 114 115 116 100 104 110 101 105 111)))
+
+
+(unless (package-installed-p 'hyperbole)
+ (package-install 'hyperbole))
+(require 'hyperbole)
+(hyperb:init)
+
+
+;; Direnv
+(unless (package-installed-p 'direnv)
+ (package-install 'direnv))
+
+(use-package direnv
+ :config
+ (direnv-mode))
+
+(setq direnv-show-paths-in-summary nil)
+(setq direnv-always-show-summary nil)
+
+;; Prompt
+(add-hook 'eshell-mode-hook
+ (defun my-eshell-mode-hook ()
+ (require 'eshell-z)))
+
+(defun marcc/eshell-prompt ()
+ (setq eshell-prompt-regexp "^-- ")
+ (format "%s\n-- " (abbreviate-file-name (eshell/pwd))))
+(setq eshell-prompt-function #'marcc/eshell-prompt)
+
+;; Print git branch in dired et.c.
+(unless (package-installed-p 'git-ps1-mode)
+ (package-install 'git-ps1-mode))
+
+(require 'git-ps1-mode)
+
+
+;;Theme
+(unless (package-installed-p 'almost-mono-themes)
+ (package-install 'almost-mono-themes))
+(use-package almost-mono-themes
+ :config
+ (load-theme 'almost-mono-white t))
+
+(set-face-attribute 'default nil :font "Iosevka Term Curly" :height 100)
+(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height 90)
+(setq-default line-spacing 0.5)
+(setq display-time-format "%a, %d/%m, %H:%M")
+(display-time-mode)
+(display-battery-mode)
+(tab-bar-mode)
+
+(add-hook 'Info-mode-hook 'variable-pitch-mode)
+(add-hook 'woman-mode-hook 'variable-pitch-mode)
+
+
+
+(setq
+ flymake-fringe-indicator-position 'left-fringe
+ diff-hl-side 'right)
+
+(custom-set-variables '(fringe-mode '(5 . 5) nil (fringe)))
+(set-face-attribute 'fringe nil :background "#FFF")
+(add-to-list 'default-frame-alist '(internal-border-width . 4))
+
+
+;; Disable splash screen
+(setq inhibit-startup-screen t)
+
+;; Ripgrep
+(unless (package-installed-p 'rg)
+ (package-install 'rg))
+(require 'rg)
+
+;; Slime
+(unless (package-installed-p 'slime)
+ (package-install 'slime))
+
+
+;; Hyperbole
+(unless (package-installed-p 'hyperbole)
+ (package-install 'hyperbole))
+
+(hyperbole-mode 1)
+
+;;; Git client
+(unless (package-installed-p 'magit)
+ (package-install 'magit))
+
+;; Tempel
+(unless (package-installed-p 'tempel)
+ (package-install 'tempel))
+
+(use-package tempel
+ ;; Require trigger prefix before template name when completing.
+ ;; :custom
+ ;; (tempel-trigger-prefix "<")
+ :bind (("M-+" . tempel-complete) ;; Alternative tempel-expand
+ ("M-*" . tempel-insert))
+
+ :init
+
+ ;; Setup completion at point
+ (defun tempel-setup-capf ()
+ ;; Add the Tempel Capf to `completion-at-point-functions'.
+ ;; `tempel-expand' only triggers on exact matches. Alternatively use
+ ;; `tempel-complete' if you want to see all matches, but then you
+ ;; should also configure `tempel-trigger-prefix', such that Tempel
+ ;; does not trigger too often when you don't expect it. NOTE: We add
+ ;; `tempel-expand' *before* the main programming mode Capf, such
+ ;; that it will be tried first.
+ (setq-local completion-at-point-functions
+ (cons #'tempel-expand
+ completion-at-point-functions)))
+
+ (add-hook 'conf-mode-hook 'tempel-setup-capf)
+ (add-hook 'prog-mode-hook 'tempel-setup-capf)
+ (add-hook 'text-mode-hook 'tempel-setup-capf)
+
+ ;; Optionally make the Tempel templates available to Abbrev,
+ ;; either locally or globally. `expand-abbrev' is bound to C-x '.
+ ;; (add-hook 'prog-mode-hook #'tempel-abbrev-mode)
+ ;; (global-tempel-abbrev-mode)
+ )
+
+;; Eat - terminal emulator
+(unless (package-installed-p 'eat)
+ (package-install 'eat))
+
+
+;; Vundo
+(unless (package-installed-p 'vundo)
+ (package-install 'vundo))
+
+;; Backups
+
+(setq backup-directory-alist
+ `((".*" . ,temporary-file-directory))
+ auto-save-file-name-transforms
+ `((".*" ,temporary-file-directory t)))
+
+;; Indication of local VCS changes
+(unless (package-installed-p 'diff-hl)
+ (package-install 'diff-hl))
+
+;; Enable `diff-hl' support by default in programming buffers
+(add-hook 'prog-mode-hook #'diff-hl-mode)
+
+;; Devdocs
+(unless (package-installed-p 'devdocs)
+ (package-install 'devdocs))
+
+(global-set-key (kbd "C-h D") 'devdocs-lookup)
+(add-hook 'terraform-mode-hook
+ (lambda () (setq-local devdocs-current-docs '("terraform"))))
+
+;; LSP
+(unless (package-installed-p 'tuareg)
+ (package-install 'tuareg))
+(use-package tree-sitter-langs
+ :ensure t
+ :defer t)
+
+(use-package treesit
+ :init
+ (setq treesit-extra-load-path '("~/.guix-home/profile/lib/tree-sitter")))
+
+;; Project
+(bind-key "C-x p s" 'eat-project)
+
+(use-package eglot
+ :ensure t)
+
+;; Allegedly speeds up eglot
+(fset #'jsonrpc--log-event #'ignore)
+
+(add-hook 'tuareg-mode-hook 'eglot-ensure)
+
+;; When tuareg is loaded, autoformat on save
+(add-hook 'tuareg-mode-hook
+ (lambda ()
+ (add-hook 'before-save-hook 'eglot-format nil t)))
+
+(add-hook 'typescript-ts-mode-hook 'eglot-ensure)
+(setq-default indent-tabs-mode nil
+ tab-stop-list ()
+ tab-width 2)
+
+(cl-defmethod project-root ((project (head eglot-project)))
+ (cdr project))
+
+(defun my-project-try-tsconfig-json (dir)
+ (when-let* ((found (locate-dominating-file dir "tsconfig.json")))
+ (cons 'eglot-project found)))
+
+(add-hook 'project-find-functions
+ 'my-project-try-tsconfig-json nil nil)
+
+(unless (package-installed-p 'terraform-mode)
+ (package-install 'terraform-mode))
+
+(use-package terraform-mode
+ ;; if using straight
+ ;; :straight t
+
+ ;; if using package.el
+ ;; :ensure t
+ :custom (terraform-indent-level 2)
+ :config
+ (defun my-terraform-mode-init ()
+ ;; if you want to use outline-minor-mode
+ ;; (outline-minor-mode 1)
+ )
+
+ (add-hook 'terraform-mode-hook 'my-terraform-mode-init))
+
+(add-hook 'terraform-mode-hook 'eglot-ensure)
+
+(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode))
+(add-to-list 'auto-mode-alist '("\\.tsx\\'" . tsx-ts-mode))
+(add-to-list 'auto-mode-alist '("\\.tf\\'" . terraform-mode))
+(add-to-list 'auto-mode-alist '("\\.json\\'" . json-ts-mode))
+(add-to-list 'auto-mode-alist '("\\.ml\\'" . tuareg-mode))
+(add-to-list 'auto-mode-alist '("\\.mli\\'" . tuareg-mode))
+
+'(eglot-extend-to-xref t)
+'(eglot-autoreconnect t)
+(add-hook 'eglot-managed-mode-hook
+ (lambda ()
+ "Make sure Eldoc will show us all of the feedback at point."
+ (setq-local eldoc-documentation-strategy
+ #'eldoc-documentation-compose)))
+
+;; Commands
+
+(defun ocaml-print-rapper-type ()
+ (interactive)
+ (insert (shell-command-to-string "ocaml-rapper-helper")))
+
+;; HTML + Liquid
+(add-to-list 'auto-mode-alist '("\\.liquid\\'" . html-mode))
+(with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(html-mode . ("vscode-html-language-server" "--stdio"))
+ '(css-mode . ("vscode-css-language-server" "--stdio"))))
+
+
+(unless (package-installed-p 'prettier-js)
+ (package-install 'prettier-js))
+(unless (package-installed-p 'add-node-modules-path)
+ (package-install 'add-node-modules-path))
+(unless (package-installed-p 'smartparens)
+ (package-install 'smartparens))
+
+(add-hook 'typescript-ts-mode-hook 'prettier-js-mode)
+(add-hook 'tsx-ts-mode 'prettier-js-mode)
+(add-hook 'typescript-ts-mode-hook #'smartparens-mode)
+(add-hook 'json-ts-mode-hook #'smartparens-mode)
+(add-hook 'tuareg-mode-hook #'smartparens-mode)
+(add-hook 'terraform-mode-hook #'smartparens-mode)
+
+(setq eglot-prefer-plaintext 1
+ eldoc-echo-area-use-multiline-p t
+ eldoc-echo-area-prefer-doc-buffer t
+ eglot-events-buffer-size 0
+ eglot-autoshutdown t)
+
+
+(add-hook 'eglot-managed-mode-hook (lambda () (eglot-inlay-hints-mode 0)))
+(add-hook 'eglot-managed-mode-hook (lambda () (global-eldoc-mode -1)))
+(add-hook 'eglot-managed-mode-hook (lambda () (keymap-local-set "C-c C-x C-a" 'eglot-code-actions)))
+(add-hook 'eglot-managed-mode-hook (lambda () (keymap-local-set "C-c C-x C-r" 'eglot-rename)))
+
+(global-eldoc-mode -1)
+
+;; Disable copilot warning logs
+(setq warning-minimum-level :error)
+
+;; Markdown mode to correctly show markdown
+(unless (package-installed-p 'markdown-mode)
+ (package-install 'markdown-mode))
+(use-package markdown-mode)
+
+(setq markdown-enable-highlighting-syntax t)
+(setq markdown-hide-urls t)
+(setq markdown-hide-markup t)
+
+
+(unless (package-installed-p 'consult)
+ (package-install 'consult))
+(global-set-key [rebind switch-to-buffer] #'consult-buffer)
+(global-set-key (kbd "C-x C-r") #'consult-ripgrep)
+(global-set-key (kbd "C-x C-f") #'consult-fd)
+
+(setq consult-async-refresh-delay 0.0)
+(setq consult-async-input-throttle 0.0)
+(setq consult-async-input-debounce 0.02)
+
+;; Vertico + Marginalia + Orderless auto complete
+(unless (package-installed-p 'vertico)
+ (package-install 'vertico))
+(use-package vertico
+ :init
+ (vertico-mode)
+ (use-package savehist
+ :init
+ (savehist-mode))
+ )
+(vertico-reverse-mode)
+(setq vertico-resize nil)
+;; Completion
+(setq completion-in-region-function
+ (lambda (&rest args)
+ (apply (if vertico-mode
+ #'consult-completion-in-region
+ #'completion--in-region)
+ args)))
+(unless (package-installed-p 'orderless)
+ (package-install 'orderless))
+
+(unless (package-installed-p 'marginalia)
+ (package-install 'marginalia))
+
+(use-package marginalia
+ :init
+ (marginalia-mode))
+
+(use-package orderless
+ :ensure t
+ :custom
+ (completion-styles '(orderless basic))
+ (completion-category-overrides '((file (styles basic partial-completion)))))
+
+;; Miscellaneous options
+(setq-default major-mode
+ (lambda () ; guess major mode from file name
+ (unless buffer-file-name
+ (let ((buffer-file-name (buffer-name)))
+ (set-auto-mode)))))
+(setq confirm-kill-emacs #'yes-or-no-p)
+(setq window-resize-pixelwise t
+ frame-resize-pixelwise t)
+(save-place-mode t)
+(savehist-mode t)
+(recentf-mode t)
+(defalias 'yes-or-no #'y-or-n-p)
+
+;; Store automatic customisation options elsewhere
+(setq custom-file (locate-user-emacs-file "custom.el"))
+(when (file-exists-p custom-file)
+ (load custom-file))
+
+;; Pairs
+(bind-key "M-{" 'insert-pair)
+(bind-key "M-}" 'insert-pair)
+(bind-key "M-]" 'insert-pair)
+(bind-key "M-[" 'insert-pair)
+(bind-key "M-]" 'insert-pair)
+(bind-key "M-`" 'insert-pair)
+(bind-key "M-\"" 'insert-pair)
+(bind-key "M-'" 'insert-pair)
+(bind-key "M-<" 'insert-pair)
+
+;; Guix integration
+(unless (package-installed-p 'geiser-mit)
+ (package-install 'geiser-mit))
+(unless (package-installed-p 'geiser-guile)
+ (package-install 'geiser-guile))
+(unless (package-installed-p 'ac-geiser)
+ (package-install 'ac-geiser))
+(unless (package-installed-p 'macrostep-geiser)
+ (package-install 'macrostep-geiser))
+(unless (package-installed-p 'guix)
+ (package-install 'guix))
+
+;; Utils
+(defun marc/close-all-buffers-except-current ()
+ (interactive)
+ (mapc 'kill-buffer (delete (current-buffer) (buffer-list))))
+
+;; which-key
+(unless (package-installed-p 'which-key)
+ (package-install 'which-key))
+(require 'which-key)
+(which-key-mode)
+(which-key-enable-god-mode-support)
+
+;; Fossil
+(unless (package-installed-p 'vc-fossil)
+ (package-install 'vc-fossil))
+
+;; Dired
+(add-hook 'dired-after-readin-hook 'dired-hide-details-mode 'append)
+(eval-after-load "dired" '(define-key dired-mode-map (kbd "b") 'dired-up-directory))
+(eval-after-load "dired" '(define-key dired-mode-map (kbd "N") 'dired-create-empty-file))
+(eval-after-load "dired" '(define-key dired-mode-map (kbd "+") 'dired-create-directory))
+(put 'dired-find-alternate-file 'disabled nil)
+
+
+;; Copilot
+(unless (package-installed-p 'quelpa)
+ (package-install 'quelpa))
+(unless (package-installed-p 'quelpa-use-package)
+ (package-install 'quelpa-use-package))
+
+(require 'quelpa)
+(require 'quelpa-use-package)
+
+(use-package copilot
+ :quelpa (copilot :fetcher github
+ :repo "zerolfx/copilot.el"
+ :branch "main"
+ :files ("dist" "*.el")))
+
+
+(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
+(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)
+
+;; Org
+(require 'org)
+(transient-mark-mode 1)
+(add-hook 'org-mode-hook 'variable-pitch-mode)
+(add-hook 'org-mode-hook 'flyspell-mode)
+(add-hook 'org-mode-hook 'visual-line-mode)
+
+
+(setq org-directory "~/marcvault")
+
+(defun marcc/get-journal-file-today ()
+ "Get journal path"
+ (let ((fpath (concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org"))))
+ (expand-file-name fpath)))
+
+(defun journal-file-today ()
+ "Create and load a journal file based on today's date."
+ (interactive)
+ (find-file (marcc/get-journal-file-today)))
+
+(defun marcc/search-notes ()
+ "Get journal path"
+ (let ((fpath (concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org"))))
+ (expand-file-name fpath)))
+
+(setq org-capture-templates
+ `(("t" "Todo" entry (file+headline "~/marcvault/todo.org" "Tasks")
+ "* TODO %?\n %i\n %a")
+ ("u" "Usage" entry (file "~/marcvault/usage-tips.org")
+ "* %?\n"
+ :empty-lines 1)
+ ("j" "Journal"
+ entry (file ,(concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org")))
+ "* %?\n[%(format-time-string \"%Y-%m-%d %H:%M\")]\n%i\n%a"
+ :empty-lines 1)))
+
+(add-hook 'marc-minor-mode-hook 'smartparens-mode)
+(add-hook 'flyspell-mode-hook (lambda () (define-key flyspell-mode-map (kbd "C-,") nil)))
+(setq org-adapt-indentation t
+ org-hide-leading-stars t
+ org-startup-indented t
+ org-startup-truncated nil
+ org-hide-emphasis-markers t
+ org-agenda-files (directory-files-recursively "~/marcvault/" "\\.org$")
+ org-log-done 'time
+ org-todo-keywords '((sequence "TODO" "IDEA" "|" "DONE"))
+ org-todo-keyword-faces '(("TODO" . org-todo)
+ ("IDEA" . "blue")
+ ("DONE" . "green"))
+ org-odd-levels-only t)
+
+
+
+;; Auto dim buffers
+(unless (package-installed-p 'auto-dim-other-buffers)
+ (package-install 'auto-dim-other-buffers))
+
+(auto-dim-other-buffers-mode)
+
+;; Keybindings
+(defvar marc-minor-mode-map (make-keymap) "marc-minor-mode keymap.")
+(define-key marc-minor-mode-map (kbd "C-c C-k") 'eldoc)
+(define-key marc-minor-mode-map (kbd "C-c , .") 'journal-file-today)
+(define-key marc-minor-mode-map (kbd "C-c , c") 'org-capture)
+(define-key marc-minor-mode-map (kbd "C-c , a") 'org-agenda)
+(define-key marc-minor-mode-map (kbd "C-c , s") 'consult-org-agenda)
+(define-key marc-minor-mode-map (kbd "C-c , /") 'consult-org-heading)
+(define-key marc-minor-mode-map (kbd "C-,") 'er/expand-region)
+(define-key marc-minor-mode-map (kbd "C-'") 'avy-goto-char)
+(define-minor-mode marc-minor-mode
+ "A minor mode so that my key settings aren't shadowed by other major/minor modes"
+ t " marc" marc-minor-mode-map)
+
+;; Isearch
+;; Case insensitive
+(setq case-fold-search t)
+
+;; Ligatures
+(unless (package-installed-p 'ligature)
+ (package-install 'ligature))
+
+(use-package ligature
+ :config
+ ;; Enable the "www" ligature in every possible major mode
+ (ligature-set-ligatures 't '("www"))
+ ;; Enable traditional ligature support in eww-mode, if the
+ ;; `variable-pitch' face supports it
+ (ligature-set-ligatures 'eww-mode '("ff" "fi" "ffi"))
+ ;; Enable all Pragmata Pro in programming modes
+ (ligature-set-ligatures 'prog-mode '( "<|||" "<==>" "<!--" "~~>" "||=" "||>"
+ "===" "==>" "=!=" "=>>" "=<<" "=/=" "!=="
+ ">=>" ">>=" ">>>" ">>-" ">->" "->>" "-->" "---" "-<<"
+ "<~~" "<~>" "<*>" "<||" "<|>" "<$>" "<==" "<=>" "<=<" "<->"
+ "<--" "<-<" "<<=" "<<-" "<<<" "<+>" "</>" "#_("
+ "+++" "/==" "_|_" "&&" "^=" "~="
+ "~>" "*>" "*/" "||" "|}" "|]" "|=" "|>" "|-" "[[" "]]"
+ "[|" "]#" "::" ":=" ":>" ":<" "$>" "==" "=>" "!=" "|==>" "|>-"
+ ">=" ">>" ">-" "-~" "-|" "->" "--" "-<" "<~" "<*" "<|" "~>>" "\\=>"
+ "<$" "<="
+ "##" "#(" "#?" "#_" ".." "+>" "++"
+ "?=" "/="
+ "|<<" "\\==" "^>>" "^>>" "|+|" "|->" "|-->" "\\-:" "[FIXME]"
+ "[TODO]" "[WARN]" "!=" "&&&"))
+ ;; Enables ligature checks globally in all buffers. You can also do it
+ ;; per mode with `ligature-mode'.
+ (global-ligature-mode t))
+
+;; RSS - Elfeed
+(unless (package-installed-p 'elfeed)
+ (package-install 'elfeed))
+(unless (package-installed-p 'elfeed-protocol)
+ (package-install 'elfeed-protocol))
+(unless (package-installed-p 'password-store)
+ (package-install 'password-store))
+
+(elfeed-protocol-enable)
+;;(setq elfeed-use-curl t)
+(setq elfeed-set-timeout 36000
+ elfeed-curl-extra-arguments '("--insecure") ;necessary for https without a trust certificate
+ elfeed-protocol-fever-fetch-category-as-tag t
+ elfeed-protocol-feeds '(("fever+https://freshrss@rss.mccd.space"
+ :api-url "https://rss.mccd.space/api/fever.php"
+ :password (password-store-get "mccd/freshrss")
+ )))
+
+(defun marc/elfeed-refresh ()
+ (interactive)
+ (mark-whole-buffer)
+ (cl-loop for entry in (elfeed-search-selected)
+ do (elfeed-untag-1 entry 'unread))
+ (elfeed-search-update--force)
+ (elfeed-protocol-fever-reinit "fever+https://freshrss@rss.mccd.spaceD"))
+
+(let* ((proto-id "fever+https://freshrss@rss.mccd.space")
+ (last-id (elfeed-protocol-fever-get-update-mark proto-id 'update)))
+ (elfeed-protocol-fever-set-update-mark proto-id 'update (- last-id 1000)))
+
+;; Elfeed
+(setq elfeed-sort-order 'ascending
+ elfeed-protocol-enabled-protocols '(fever)
+ elfeed-protocol-fever-update-unread-only t)
+
+;; Web browser
+(unless (package-installed-p 'w3m)
+ (package-install 'w3m))
+
+(setq w3m-search-default-engine "duckduckgo")
+
+;; Gemini and Gopher
+(unless (package-installed-p 'elpher)
+ (package-install 'elpher))
+
+
+(setq message-kill-buffer-on-exit t)
+(setq message-sendmail-envelope-from 'header)
+
+;; pinentry
+(setq epa-pinentry-mode 'loopback)
+(defun pinentry-emacs (desc prompt ok error)
+ (let ((str (read-passwd (concat (replace-regexp-in-string "%22" "\"" (replace-regexp-in-string "%0A" "\n" desc)) prompt ": "))))
+ str))
+
+
+;; ERC
+(require 'erc-join)
+(erc-autojoin-mode 1)
+(setq erc-autojoin-channels-alist
+ '(("irc.libera.chat" "#emacs" "#guix" "#nyxt")))
+(setq erc-nick "mccd")
+
+
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(avy-keys '(97 114 115 116 100 104 110 101 105 111))
+ '(blink-cursor-mode nil)
+ '(compile-command " ")
+ '(confirm-nonexistent-file-or-buffer nil)
+ '(consult-fd-args
+ '((if
+ (executable-find "fdfind" 'remote)
+ "fdfind" "fd")
+ "--full-path --color=never --hidden"))
+ '(diff-hl-side 'right)
+ '(display-line-numbers-major-tick 0)
+ '(display-line-numbers-minor-tick 0)
+ '(display-line-numbers-width nil)
+ '(eglot-extend-to-xref t)
+ '(eldoc-echo-area-use-multiline-p t)
+ '(erc-autojoin-mode t)
+ '(erc-button-mode t)
+ '(erc-fill-mode t)
+ '(erc-hide-timestamps nil)
+ '(erc-irccontrols-mode t)
+ '(erc-list-mode t)
+ '(erc-match-mode t)
+ '(erc-menu-mode t)
+ '(erc-move-to-prompt-mode t)
+ '(erc-netsplit-mode t)
+ '(erc-networks-mode t)
+ '(erc-nick "mccd")
+ '(erc-noncommands-mode t)
+ '(erc-pcomplete-mode t)
+ '(erc-readonly-mode t)
+ '(erc-ring-mode t)
+ '(erc-stamp-mode t)
+ '(erc-timestamp-format-left "%a %H:%M\12")
+ '(erc-timestamp-format-right " ")
+ '(erc-track-minor-mode t)
+ '(erc-track-mode t)
+ '(flymake-fringe-indicator-position 'left-fringe)
+ '(flymake-mode-line-format '(" " flymake-mode-line-counters))
+ '(fringe-mode '(5 . 5) nil (fringe))
+ '(god-mode-lighter-string "God")
+ '(grep-command "ugrep")
+ '(markdown-code-block-braces t)
+ '(markdown-enable-highlighting-syntax t)
+ '(markdown-enable-wiki-links t)
+ '(markdown-fontify-code-block-default-mode nil)
+ '(markdown-fontify-code-blocks-natively t)
+ '(markdown-hide-urls t)
+ '(markdown-link-space-sub-char "-")
+ '(markdown-max-image-size '(300 . 300))
+ '(markdown-wiki-link-search-type '(sub-directories parent-directories project))
+ '(meow-esc-mode t)
+ '(meow-global-mode t)
+ '(mode-line-compact 'long)
+ '(mode-line-percent-position nil)
+ '(mode-line-position-line-format '(" "))
+ '(mu4e-modeline-mode nil)
+ '(org-babel-load-languages '((emacs-lisp . t) (lisp . t) (shell . t)))
+ '(org-fold-core-style 'overlays)
+ '(package-selected-packages
+ '(slime eat avy monotropic-theme tempel vundo add-node-modules-path prettier password-store vc-fossil eldoc-box mu4e direnv elpher w3m elfeed-protocol elfeed ligature copilot f editorconfig s quelpa-use-package quelpa org-mime org-journal which-key consult orderless vertico markdown-mode smartparens tree-sitter-langs diff-hl magit corfu rg almost-mono-themes git-ps1-mode meow))
+ '(project-switch-commands
+ '((project-find-file "Find file" nil)
+ (project-find-regexp "Find regexp" nil)
+ (project-find-dir "Find directory" nil)
+ (project-vc-dir "VC-Dir" nil)
+ (consult-project-buffer "Find buffer" "b")
+ (eat-project "Eat terminal" 101)))
+ '(resize-mini-frames nil)
+ '(resize-mini-windows t)
+ '(rg-align-line-number-field-length 2)
+ '(safe-local-variable-values
+ '((eval progn
+ (require 'lisp-mode)
+ (defun emacs27-lisp-fill-paragraph
+ (&optional justify)
+ (interactive "P")
+ (or
+ (fill-comment-paragraph justify)
+ (let
+ ((paragraph-start
+ (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
+ (paragraph-separate
+ (concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
+ (fill-column
+ (if
+ (and
+ (integerp emacs-lisp-docstring-fill-column)
+ (derived-mode-p 'emacs-lisp-mode))
+ emacs-lisp-docstring-fill-column fill-column)))
+ (fill-paragraph justify))
+ t))
+ (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph))
+ (eval modify-syntax-entry 43 "'")
+ (eval modify-syntax-entry 36 "'")
+ (eval modify-syntax-entry 126 "'")
+ (geiser-repl-per-project-p . t)
+ (eval with-eval-after-load 'yasnippet
+ (let
+ ((guix-yasnippets
+ (expand-file-name "etc/snippets/yas"
+ (locate-dominating-file default-directory ".dir-locals.el"))))
+ (unless
+ (member guix-yasnippets yas-snippet-dirs)
+ (add-to-list 'yas-snippet-dirs guix-yasnippets)
+ (yas-reload-all))))
+ (eval setq-local guix-directory
+ (locate-dominating-file default-directory ".dir-locals.el"))
+ (eval add-to-list 'completion-ignored-extensions ".go")))
+ '(tab-bar-format '(tab-bar-format-align-right tab-bar-format-global))
+ '(tab-bar-show t)
+ '(vc-handled-backends '(Git Fossil))
+ '(vertico-flat-annotate t)
+ '(vertico-flat-format
+ '(:multiple
+ #("{%s}" 0 1
+ (face minibuffer-prompt)
+ 3 4
+ (face minibuffer-prompt))
+ :single
+ #("[%s]" 0 1
+ (face minibuffer-prompt)
+ 1 3
+ (face success)
+ 3 4
+ (face minibuffer-prompt))
+ :prompt
+ #("(%s)" 0 1
+ (face minibuffer-prompt)
+ 3 4
+ (face minibuffer-prompt))
+ :separator
+ #(" | " 0 3
+ (face minibuffer-prompt))
+ :ellipsis
+ #("…" 0 1
+ (face minibuffer-prompt))
+ :no-match "[No match]"))
+ '(vertico-flat-mode nil)
+ '(vertico-resize nil)
+ '(window-resize-pixelwise t))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(diff-hl-insert ((t (:background "green" :foreground "green"))))
+ '(dired-directory ((t (:inherit font-lock-function-name-face :weight bold))))
+ '(elfeed-search-feed-face ((t (:foreground "dim gray"))))
+ '(elfeed-search-tag-face ((t (:slant italic))))
+ '(elpher-gemini-heading1 ((t (:inherit bold :height 1.2 :family "Iosevka Etoile"))))
+ '(elpher-gemini-preformatted ((t (:inherit variable-pitch))))
+ '(erc-action-face ((t (:inherit erc-default-face :weight bold))))
+ '(erc-default-face ((t (:family "Iosevka Etoile"))))
+ '(erc-input-face ((t (:foreground "green"))))
+ '(erc-my-nick-face ((t (:foreground "green" :weight bold))))
+ '(erc-nick-default-face ((t (:inherit erc-default-face :weight bold))))
+ '(erc-nick-msg-face ((t (:foreground "medium blue" :weight bold))))
+ '(erc-notice-face ((t (:inherit erc-default-face :foreground "SlateBlue" :weight bold))))
+ '(erc-prompt-face ((t (:foreground "Black" :weight bold))))
+ '(erc-timestamp-face ((t (:inherit erc-default-face :foreground "gray" :weight bold))))
+ '(eww-form-file ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button)))))
+ '(eww-form-submit ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button)))))
+ '(eww-valid-certificate ((t (:foreground "black" :weight bold))))
+ '(font-lock-function-name-face ((t (:weight normal))))
+ '(font-lock-preprocessor-face ((t (:slant normal))))
+ '(font-lock-string-face ((t (:foreground "#5A5DA5"))))
+ '(font-lock-type-face ((t (:slant normal :weight normal))))
+ '(gnus-header-content ((t (:inherit gnus-header :slant italic))))
+ '(gnus-header-from ((t (:inherit gnus-header))))
+ '(gnus-header-name ((t (:inherit gnus-header))))
+ '(gnus-header-subject ((t (:inherit gnus-header))))
+ '(god-mode-lighter ((t (:inherit error))))
+ '(highlight ((t (:background "azure2"))))
+ '(line-number ((t (:foreground "#999999"))))
+ '(markdown-code-face ((t nil)))
+ '(markdown-fontify-code-block-natively t)
+ '(markdown-pre-face ((t (:inherit markdown-code-face))))
+ '(meow-position-highlight-number ((t (:inherit default :background "grey80" :foreground "white"))))
+ '(show-paren-match ((t (:background "gainsboro" :foreground "green" :slant oblique :weight bold))))
+ '(tab-bar ((t (:family "Iosevka Aile" :background "#FFF" :foreground "black" :box (:line-width (4 . 4) :color "#FFF") :height 0.90))))
+ '(tab-bar-tab ((t (:inherit tab-bar :box nil))))
+ '(tuareg-font-lock-operator-face ((t nil)))
+ '(variable-pitch ((t (:family "Iosevka Etoile"))))
+ '(variable-pitch-text ((t (:inherit variable-pitch :height 1.0)))))
+
+
+
diff --git a/emacs.d/custom.el b/emacs.d/custom.el
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/emacs.d/custom.el
diff --git a/gitconfig b/gitconfig
new file mode 100644
index 0000000..52e8f08
--- /dev/null
+++ b/gitconfig
@@ -0,0 +1,46 @@
+[alias]
+ pr = "!gh pr"
+ issue = "!gh issue"
+[user]
+ email = marc@mccd.space
+ name = Marc Coquand
+[credential "https://github.com"]
+ helper = !gh auth git-credential
+[credential "https://gist.github.com"]
+ helper = !gh auth git-credential
+[credential "smtp://marcc%40fastmail.fr@smtp.fastmail.com%3a465"]
+ helper =
+ helper = !pass 'fastmail/git'
+[color]
+ ui = false
+[mergetool]
+ layout = LOCAL,MERGED,REMOTE
+[sendemail]
+ smtpserver = smtp.fastmail.com
+ smtpuser = marcc@fastmail.fr
+ smtpencryption = ssl
+ smtpserverport = 465
+[pull]
+ rebase = true
+[color "diff"]
+ meta = blue
+ old = red
+ new = green
+[log]
+ date = relative
+[format]
+ pretty = oneline
+ signoff = true
+[credential]
+ helper = store
+[push]
+ autoSetupRemote = true
+[commit]
+ gpgsign = true
+ verbose = true
+[init]
+ defaultBranch = main
+[grep]
+ lineNumber = true
+[help]
+ autocorrect = prompt
diff --git a/gnus.el b/gnus.el
new file mode 100644
index 0000000..5b59efa
--- /dev/null
+++ b/gnus.el
@@ -0,0 +1,60 @@
+(setq gnus-select-method '(nnnil))
+(defun my-gnus-group-list-subscribed-groups ()
+ "List all subscribed groups with or without un-read messages"
+ (interactive)
+ (gnus-group-list-all-groups 5))
+
+(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
+(define-key gnus-group-mode-map
+ ;; list all the subscribed groups even they contain zero un-read messages
+ (kbd "o") 'my-gnus-group-list-subscribed-groups)
+
+(setq gnus-secondary-select-methods
+ '((nnmaildir "personal"
+ (nnmail-expiry-target "nnmaildir+personal:Trash")
+ (directory "~/mail-home"))
+ (nnmaildir "work"
+ (nnmail-expiry-target "nnmaildir+work:[Gmail]+Bin")
+ (directory "~/mail-work"))))
+
+(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]"
+ nnmail-expiry-wait 'immediate
+ message-sendmail-f-is-evil 't
+ message-sendmail-extra-arguments '("--read-envelope-from")
+ message-send-mail-function 'message-send-mail-with-sendmail
+ sendmail-program "msmtp"
+ mail-host-address "mccd.space"
+ user-full-name "Marc Coquand"
+ user-mail-address "marc@mccd.space")
+
+(setq gnus-topic-topology '(("Gnus" visible)
+ (("personal" visible))
+ (("misc" hidden))
+ (("work" visible nil nil))
+ ))
+(setq gnus-topic-alist '(("personal" ; the key of topic
+ "nnmaildir+personal:INBOX"
+ "nnmaildir+personal:INBOX+Forums"
+ "nnmaildir+personal:Archive"
+ "nnmaildir+personal:Archive+Support"
+ )
+ ("misc"
+ "nnfolder+archive:sent.2024-04"
+ "nnmaildir+personal:Archive+Receipt"
+ "nnmaildir+personal:Archive+WCIG"
+ "nnmaildir+personal:Spam"
+ "nnmaildir+personal:Sent"
+ )
+ ("work" ; the key of topic
+ "nnmaildir+work:INBOX"
+ "nnmaildir+work:[Gmail]+Sent Mail"
+ "nnmaildir+work:[Gmail]+Trash"
+ )
+ ("Gnus")))
+
+
+(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
+(setq nnheader-file-name-translation-alist '((?[ . ?_) (?] . ?_)) )
+(setq gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject)
+(setq gnus-thread-hide-subtree t)
+(setq gnus-thread-ignore-subject t)
diff --git a/local/share/fonts/DinaRemasterCollection.ttc b/local/share/fonts/DinaRemasterCollection.ttc
new file mode 100644
index 0000000..ea14b89
--- /dev/null
+++ b/local/share/fonts/DinaRemasterCollection.ttc
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-Italic.otf b/local/share/fonts/PPEditorialNew-Italic.otf
new file mode 100644
index 0000000..d20c33a
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-Italic.otf
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-Regular.otf b/local/share/fonts/PPEditorialNew-Regular.otf
new file mode 100644
index 0000000..778c902
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-Regular.otf
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-Ultrabold.otf b/local/share/fonts/PPEditorialNew-Ultrabold.otf
new file mode 100644
index 0000000..507b091
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-Ultrabold.otf
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-UltraboldItalic.otf b/local/share/fonts/PPEditorialNew-UltraboldItalic.otf
new file mode 100644
index 0000000..58282cc
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-UltraboldItalic.otf
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-Ultralight.otf b/local/share/fonts/PPEditorialNew-Ultralight.otf
new file mode 100644
index 0000000..59addeb
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-Ultralight.otf
Binary files differ
diff --git a/local/share/fonts/PPEditorialNew-UltralightItalic.otf b/local/share/fonts/PPEditorialNew-UltralightItalic.otf
new file mode 100644
index 0000000..d3e636b
--- /dev/null
+++ b/local/share/fonts/PPEditorialNew-UltralightItalic.otf
Binary files differ
diff --git a/local/share/fonts/PPMondwest-Regular.otf b/local/share/fonts/PPMondwest-Regular.otf
new file mode 100644
index 0000000..22c3e81
--- /dev/null
+++ b/local/share/fonts/PPMondwest-Regular.otf
Binary files differ
diff --git a/local/share/fonts/PPNeueBit-Bold.otf b/local/share/fonts/PPNeueBit-Bold.otf
new file mode 100644
index 0000000..3be1139
--- /dev/null
+++ b/local/share/fonts/PPNeueBit-Bold.otf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Bold.ttf b/local/share/fonts/ProtoTypeQuasi-Bold.ttf
new file mode 100644
index 0000000..715bb58
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Bold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-BoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-BoldItalic.ttf
new file mode 100644
index 0000000..0e51ef1
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-BoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-BoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-BoldOblique.ttf
new file mode 100644
index 0000000..f13559b
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-BoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Condensed.ttf b/local/share/fonts/ProtoTypeQuasi-Condensed.ttf
new file mode 100644
index 0000000..7c051f0
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Condensed.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedBold.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedBold.ttf
new file mode 100644
index 0000000..d35e28d
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedBold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedBoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedBoldItalic.ttf
new file mode 100644
index 0000000..d7c235f
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedBoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedBoldOblique.ttf
new file mode 100644
index 0000000..e275d32
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraBold.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBold.ttf
new file mode 100644
index 0000000..2d82a5b
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldItalic.ttf
new file mode 100644
index 0000000..83497d1
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldOblique.ttf
new file mode 100644
index 0000000..37f85b1
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraLight.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLight.ttf
new file mode 100644
index 0000000..7be1a2a
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLight.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightItalic.ttf
new file mode 100644
index 0000000..d914816
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightOblique.ttf
new file mode 100644
index 0000000..79e4246
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedExtraLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedHeavy.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedHeavy.ttf
new file mode 100644
index 0000000..92c0729
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedHeavy.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedHeavyItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedHeavyItalic.ttf
new file mode 100644
index 0000000..fb88f6d
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedHeavyItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedHeavyOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedHeavyOblique.ttf
new file mode 100644
index 0000000..b2ca576
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedHeavyOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedItalic.ttf
new file mode 100644
index 0000000..90c6d1e
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedLight.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedLight.ttf
new file mode 100644
index 0000000..fb9cc38
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedLight.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedLightItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedLightItalic.ttf
new file mode 100644
index 0000000..5b64869
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedLightOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedLightOblique.ttf
new file mode 100644
index 0000000..9b2a405
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedMedium.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedMedium.ttf
new file mode 100644
index 0000000..59eddea
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedMedium.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedMediumItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedMediumItalic.ttf
new file mode 100644
index 0000000..dfdb517
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedMediumItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedMediumOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedMediumOblique.ttf
new file mode 100644
index 0000000..5d951df
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedMediumOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedOblique.ttf
new file mode 100644
index 0000000..e06138d
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedSemiBold.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBold.ttf
new file mode 100644
index 0000000..6592903
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldItalic.ttf
new file mode 100644
index 0000000..a59b9a5
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldOblique.ttf
new file mode 100644
index 0000000..9d8526f
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedSemiBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedThin.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedThin.ttf
new file mode 100644
index 0000000..26aa2d5
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedThin.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedThinItalic.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedThinItalic.ttf
new file mode 100644
index 0000000..e4abf67
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedThinItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-CondensedThinOblique.ttf b/local/share/fonts/ProtoTypeQuasi-CondensedThinOblique.ttf
new file mode 100644
index 0000000..acf6f43
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-CondensedThinOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraBold.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraBold.ttf
new file mode 100644
index 0000000..a56f2d6
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraBold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraBoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraBoldItalic.ttf
new file mode 100644
index 0000000..4b4b3b5
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraBoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraBoldOblique.ttf
new file mode 100644
index 0000000..3b31d68
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraLight.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraLight.ttf
new file mode 100644
index 0000000..f8a74e3
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraLight.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraLightItalic.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraLightItalic.ttf
new file mode 100644
index 0000000..a242ec9
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ExtraLightOblique.ttf b/local/share/fonts/ProtoTypeQuasi-ExtraLightOblique.ttf
new file mode 100644
index 0000000..59cec8d
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ExtraLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Heavy.ttf b/local/share/fonts/ProtoTypeQuasi-Heavy.ttf
new file mode 100644
index 0000000..5cc8e6c
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Heavy.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-HeavyItalic.ttf b/local/share/fonts/ProtoTypeQuasi-HeavyItalic.ttf
new file mode 100644
index 0000000..71c016e
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-HeavyItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-HeavyOblique.ttf b/local/share/fonts/ProtoTypeQuasi-HeavyOblique.ttf
new file mode 100644
index 0000000..921af5d
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-HeavyOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Italic.ttf b/local/share/fonts/ProtoTypeQuasi-Italic.ttf
new file mode 100644
index 0000000..d4bd0b7
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Italic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Light.ttf b/local/share/fonts/ProtoTypeQuasi-Light.ttf
new file mode 100644
index 0000000..9c1f581
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Light.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-LightItalic.ttf b/local/share/fonts/ProtoTypeQuasi-LightItalic.ttf
new file mode 100644
index 0000000..44e9157
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-LightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-LightOblique.ttf b/local/share/fonts/ProtoTypeQuasi-LightOblique.ttf
new file mode 100644
index 0000000..bac2e3a
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-LightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Medium.ttf b/local/share/fonts/ProtoTypeQuasi-Medium.ttf
new file mode 100644
index 0000000..16802b4
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Medium.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-MediumItalic.ttf b/local/share/fonts/ProtoTypeQuasi-MediumItalic.ttf
new file mode 100644
index 0000000..331a1ee
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-MediumItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-MediumOblique.ttf b/local/share/fonts/ProtoTypeQuasi-MediumOblique.ttf
new file mode 100644
index 0000000..d6a73a4
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-MediumOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Oblique.ttf b/local/share/fonts/ProtoTypeQuasi-Oblique.ttf
new file mode 100644
index 0000000..67d8253
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Oblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Regular.ttf b/local/share/fonts/ProtoTypeQuasi-Regular.ttf
new file mode 100644
index 0000000..dbbbadd
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Regular.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-SemiBold.ttf b/local/share/fonts/ProtoTypeQuasi-SemiBold.ttf
new file mode 100644
index 0000000..0903a93
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-SemiBold.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-SemiBoldItalic.ttf b/local/share/fonts/ProtoTypeQuasi-SemiBoldItalic.ttf
new file mode 100644
index 0000000..af5deff
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-SemiBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-SemiBoldOblique.ttf b/local/share/fonts/ProtoTypeQuasi-SemiBoldOblique.ttf
new file mode 100644
index 0000000..8329f02
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-SemiBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-Thin.ttf b/local/share/fonts/ProtoTypeQuasi-Thin.ttf
new file mode 100644
index 0000000..f5377b7
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-Thin.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ThinItalic.ttf b/local/share/fonts/ProtoTypeQuasi-ThinItalic.ttf
new file mode 100644
index 0000000..b488875
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ThinItalic.ttf
Binary files differ
diff --git a/local/share/fonts/ProtoTypeQuasi-ThinOblique.ttf b/local/share/fonts/ProtoTypeQuasi-ThinOblique.ttf
new file mode 100644
index 0000000..98dcb94
--- /dev/null
+++ b/local/share/fonts/ProtoTypeQuasi-ThinOblique.ttf
Binary files differ
diff --git a/local/share/fonts/WumpusMonoPro-Regular.ttf b/local/share/fonts/WumpusMonoPro-Regular.ttf
new file mode 100644
index 0000000..edd5866
--- /dev/null
+++ b/local/share/fonts/WumpusMonoPro-Regular.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbbx.ttf b/local/share/fonts/cmunbbx.ttf
new file mode 100644
index 0000000..7622f4c
--- /dev/null
+++ b/local/share/fonts/cmunbbx.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbi.ttf b/local/share/fonts/cmunbi.ttf
new file mode 100644
index 0000000..3b529ed
--- /dev/null
+++ b/local/share/fonts/cmunbi.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbl.ttf b/local/share/fonts/cmunbl.ttf
new file mode 100644
index 0000000..65986cd
--- /dev/null
+++ b/local/share/fonts/cmunbl.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbmo.ttf b/local/share/fonts/cmunbmo.ttf
new file mode 100644
index 0000000..a7fbdcf
--- /dev/null
+++ b/local/share/fonts/cmunbmo.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbmr.ttf b/local/share/fonts/cmunbmr.ttf
new file mode 100644
index 0000000..a9eb24f
--- /dev/null
+++ b/local/share/fonts/cmunbmr.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbso.ttf b/local/share/fonts/cmunbso.ttf
new file mode 100644
index 0000000..f6ac344
--- /dev/null
+++ b/local/share/fonts/cmunbso.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbsr.ttf b/local/share/fonts/cmunbsr.ttf
new file mode 100644
index 0000000..a48165c
--- /dev/null
+++ b/local/share/fonts/cmunbsr.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbtl.ttf b/local/share/fonts/cmunbtl.ttf
new file mode 100644
index 0000000..b0f26fa
--- /dev/null
+++ b/local/share/fonts/cmunbtl.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbto.ttf b/local/share/fonts/cmunbto.ttf
new file mode 100644
index 0000000..10fcbbc
--- /dev/null
+++ b/local/share/fonts/cmunbto.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbx.ttf b/local/share/fonts/cmunbx.ttf
new file mode 100644
index 0000000..2c7198e
--- /dev/null
+++ b/local/share/fonts/cmunbx.ttf
Binary files differ
diff --git a/local/share/fonts/cmunbxo.ttf b/local/share/fonts/cmunbxo.ttf
new file mode 100644
index 0000000..eac47a7
--- /dev/null
+++ b/local/share/fonts/cmunbxo.ttf
Binary files differ
diff --git a/local/share/fonts/cmunci.ttf b/local/share/fonts/cmunci.ttf
new file mode 100644
index 0000000..906adf0
--- /dev/null
+++ b/local/share/fonts/cmunci.ttf
Binary files differ
diff --git a/local/share/fonts/cmunit.ttf b/local/share/fonts/cmunit.ttf
new file mode 100644
index 0000000..82c90a5
--- /dev/null
+++ b/local/share/fonts/cmunit.ttf
Binary files differ
diff --git a/local/share/fonts/cmunobi.ttf b/local/share/fonts/cmunobi.ttf
new file mode 100644
index 0000000..3bdeda7
--- /dev/null
+++ b/local/share/fonts/cmunobi.ttf
Binary files differ
diff --git a/local/share/fonts/cmunobx.ttf b/local/share/fonts/cmunobx.ttf
new file mode 100644
index 0000000..52df5bf
--- /dev/null
+++ b/local/share/fonts/cmunobx.ttf
Binary files differ
diff --git a/local/share/fonts/cmunorm.ttf b/local/share/fonts/cmunorm.ttf
new file mode 100644
index 0000000..315bbd3
--- /dev/null
+++ b/local/share/fonts/cmunorm.ttf
Binary files differ
diff --git a/local/share/fonts/cmunoti.ttf b/local/share/fonts/cmunoti.ttf
new file mode 100644
index 0000000..1ae753d
--- /dev/null
+++ b/local/share/fonts/cmunoti.ttf
Binary files differ
diff --git a/local/share/fonts/cmunrb.ttf b/local/share/fonts/cmunrb.ttf
new file mode 100644
index 0000000..d69b938
--- /dev/null
+++ b/local/share/fonts/cmunrb.ttf
Binary files differ
diff --git a/local/share/fonts/cmunrm.ttf b/local/share/fonts/cmunrm.ttf
new file mode 100644
index 0000000..1c3fff0
--- /dev/null
+++ b/local/share/fonts/cmunrm.ttf
Binary files differ
diff --git a/local/share/fonts/cmunsi.ttf b/local/share/fonts/cmunsi.ttf
new file mode 100644
index 0000000..bd30a3f
--- /dev/null
+++ b/local/share/fonts/cmunsi.ttf
Binary files differ
diff --git a/local/share/fonts/cmunsl.ttf b/local/share/fonts/cmunsl.ttf
new file mode 100644
index 0000000..ed5c200
--- /dev/null
+++ b/local/share/fonts/cmunsl.ttf
Binary files differ
diff --git a/local/share/fonts/cmunso.ttf b/local/share/fonts/cmunso.ttf
new file mode 100644
index 0000000..529277b
--- /dev/null
+++ b/local/share/fonts/cmunso.ttf
Binary files differ
diff --git a/local/share/fonts/cmunss.ttf b/local/share/fonts/cmunss.ttf
new file mode 100644
index 0000000..d7513c8
--- /dev/null
+++ b/local/share/fonts/cmunss.ttf
Binary files differ
diff --git a/local/share/fonts/cmunssdc.ttf b/local/share/fonts/cmunssdc.ttf
new file mode 100644
index 0000000..63139eb
--- /dev/null
+++ b/local/share/fonts/cmunssdc.ttf
Binary files differ
diff --git a/local/share/fonts/cmunst.ttf b/local/share/fonts/cmunst.ttf
new file mode 100644
index 0000000..ea39140
--- /dev/null
+++ b/local/share/fonts/cmunst.ttf
Binary files differ
diff --git a/local/share/fonts/cmunsx.ttf b/local/share/fonts/cmunsx.ttf
new file mode 100644
index 0000000..d13901b
--- /dev/null
+++ b/local/share/fonts/cmunsx.ttf
Binary files differ
diff --git a/local/share/fonts/cmuntb.ttf b/local/share/fonts/cmuntb.ttf
new file mode 100644
index 0000000..f940901
--- /dev/null
+++ b/local/share/fonts/cmuntb.ttf
Binary files differ
diff --git a/local/share/fonts/cmunti.ttf b/local/share/fonts/cmunti.ttf
new file mode 100644
index 0000000..993d5c0
--- /dev/null
+++ b/local/share/fonts/cmunti.ttf
Binary files differ
diff --git a/local/share/fonts/cmuntt.ttf b/local/share/fonts/cmuntt.ttf
new file mode 100644
index 0000000..1651877
--- /dev/null
+++ b/local/share/fonts/cmuntt.ttf
Binary files differ
diff --git a/local/share/fonts/cmuntx.ttf b/local/share/fonts/cmuntx.ttf
new file mode 100644
index 0000000..c7db8b7
--- /dev/null
+++ b/local/share/fonts/cmuntx.ttf
Binary files differ
diff --git a/local/share/fonts/cmunui.ttf b/local/share/fonts/cmunui.ttf
new file mode 100644
index 0000000..7c9e146
--- /dev/null
+++ b/local/share/fonts/cmunui.ttf
Binary files differ
diff --git a/local/share/fonts/cmunvi.ttf b/local/share/fonts/cmunvi.ttf
new file mode 100644
index 0000000..5813f35
--- /dev/null
+++ b/local/share/fonts/cmunvi.ttf
Binary files differ
diff --git a/local/share/fonts/cmunvt.ttf b/local/share/fonts/cmunvt.ttf
new file mode 100644
index 0000000..2ac4146
--- /dev/null
+++ b/local/share/fonts/cmunvt.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterDuoS-Bold.ttf b/local/share/fonts/iAWriterDuoS-Bold.ttf
new file mode 100644
index 0000000..9a10914
--- /dev/null
+++ b/local/share/fonts/iAWriterDuoS-Bold.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterDuoS-BoldItalic.ttf b/local/share/fonts/iAWriterDuoS-BoldItalic.ttf
new file mode 100644
index 0000000..dba3bcd
--- /dev/null
+++ b/local/share/fonts/iAWriterDuoS-BoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterDuoS-Italic.ttf b/local/share/fonts/iAWriterDuoS-Italic.ttf
new file mode 100644
index 0000000..bb15d6b
--- /dev/null
+++ b/local/share/fonts/iAWriterDuoS-Italic.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterDuoS-Regular.ttf b/local/share/fonts/iAWriterDuoS-Regular.ttf
new file mode 100644
index 0000000..2052620
--- /dev/null
+++ b/local/share/fonts/iAWriterDuoS-Regular.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterQuattroS-Bold.ttf b/local/share/fonts/iAWriterQuattroS-Bold.ttf
new file mode 100644
index 0000000..8e83653
--- /dev/null
+++ b/local/share/fonts/iAWriterQuattroS-Bold.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterQuattroS-BoldItalic.ttf b/local/share/fonts/iAWriterQuattroS-BoldItalic.ttf
new file mode 100644
index 0000000..0ae7e61
--- /dev/null
+++ b/local/share/fonts/iAWriterQuattroS-BoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterQuattroS-Italic.ttf b/local/share/fonts/iAWriterQuattroS-Italic.ttf
new file mode 100644
index 0000000..a213e85
--- /dev/null
+++ b/local/share/fonts/iAWriterQuattroS-Italic.ttf
Binary files differ
diff --git a/local/share/fonts/iAWriterQuattroS-Regular.ttf b/local/share/fonts/iAWriterQuattroS-Regular.ttf
new file mode 100644
index 0000000..f8eb282
--- /dev/null
+++ b/local/share/fonts/iAWriterQuattroS-Regular.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-bold.ttf b/local/share/fonts/iosevka-aile-bold.ttf
new file mode 100644
index 0000000..fa230fd
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-bold.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-bolditalic.ttf b/local/share/fonts/iosevka-aile-bolditalic.ttf
new file mode 100644
index 0000000..fc836da
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-bolditalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-boldoblique.ttf b/local/share/fonts/iosevka-aile-boldoblique.ttf
new file mode 100644
index 0000000..23d4bab
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-boldoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extrabold.ttf b/local/share/fonts/iosevka-aile-extrabold.ttf
new file mode 100644
index 0000000..325d7a3
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extrabold.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extrabolditalic.ttf b/local/share/fonts/iosevka-aile-extrabolditalic.ttf
new file mode 100644
index 0000000..498487f
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extrabolditalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extraboldoblique.ttf b/local/share/fonts/iosevka-aile-extraboldoblique.ttf
new file mode 100644
index 0000000..c8a5439
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extraboldoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extralight.ttf b/local/share/fonts/iosevka-aile-extralight.ttf
new file mode 100644
index 0000000..cafea5c
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extralight.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extralightitalic.ttf b/local/share/fonts/iosevka-aile-extralightitalic.ttf
new file mode 100644
index 0000000..01e3dac
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extralightitalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-extralightoblique.ttf b/local/share/fonts/iosevka-aile-extralightoblique.ttf
new file mode 100644
index 0000000..487067b
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-extralightoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-heavy.ttf b/local/share/fonts/iosevka-aile-heavy.ttf
new file mode 100644
index 0000000..c6a4707
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-heavy.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-heavyitalic.ttf b/local/share/fonts/iosevka-aile-heavyitalic.ttf
new file mode 100644
index 0000000..12712dd
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-heavyitalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-heavyoblique.ttf b/local/share/fonts/iosevka-aile-heavyoblique.ttf
new file mode 100644
index 0000000..33d8eec
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-heavyoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-italic.ttf b/local/share/fonts/iosevka-aile-italic.ttf
new file mode 100644
index 0000000..452a770
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-italic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-light.ttf b/local/share/fonts/iosevka-aile-light.ttf
new file mode 100644
index 0000000..1612f09
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-light.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-lightitalic.ttf b/local/share/fonts/iosevka-aile-lightitalic.ttf
new file mode 100644
index 0000000..abb83be
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-lightitalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-lightoblique.ttf b/local/share/fonts/iosevka-aile-lightoblique.ttf
new file mode 100644
index 0000000..9d20dc0
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-lightoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-medium.ttf b/local/share/fonts/iosevka-aile-medium.ttf
new file mode 100644
index 0000000..0c4284a
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-medium.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-mediumitalic.ttf b/local/share/fonts/iosevka-aile-mediumitalic.ttf
new file mode 100644
index 0000000..5773131
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-mediumitalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-mediumoblique.ttf b/local/share/fonts/iosevka-aile-mediumoblique.ttf
new file mode 100644
index 0000000..aa35bf7
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-mediumoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-oblique.ttf b/local/share/fonts/iosevka-aile-oblique.ttf
new file mode 100644
index 0000000..40b9519
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-oblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-regular.ttf b/local/share/fonts/iosevka-aile-regular.ttf
new file mode 100644
index 0000000..f734017
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-regular.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-semibold.ttf b/local/share/fonts/iosevka-aile-semibold.ttf
new file mode 100644
index 0000000..1651161
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-semibold.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-semibolditalic.ttf b/local/share/fonts/iosevka-aile-semibolditalic.ttf
new file mode 100644
index 0000000..26eb823
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-semibolditalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-semiboldoblique.ttf b/local/share/fonts/iosevka-aile-semiboldoblique.ttf
new file mode 100644
index 0000000..40c0c45
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-semiboldoblique.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-thin.ttf b/local/share/fonts/iosevka-aile-thin.ttf
new file mode 100644
index 0000000..91b766f
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-thin.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-thinitalic.ttf b/local/share/fonts/iosevka-aile-thinitalic.ttf
new file mode 100644
index 0000000..5765715
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-thinitalic.ttf
Binary files differ
diff --git a/local/share/fonts/iosevka-aile-thinoblique.ttf b/local/share/fonts/iosevka-aile-thinoblique.ttf
new file mode 100644
index 0000000..354f598
--- /dev/null
+++ b/local/share/fonts/iosevka-aile-thinoblique.ttf
Binary files differ
diff --git a/local/share/fonts/luximb.ttf b/local/share/fonts/luximb.ttf
new file mode 100644
index 0000000..7473e1f
--- /dev/null
+++ b/local/share/fonts/luximb.ttf
Binary files differ
diff --git a/local/share/fonts/luximbi.ttf b/local/share/fonts/luximbi.ttf
new file mode 100644
index 0000000..734201b
--- /dev/null
+++ b/local/share/fonts/luximbi.ttf
Binary files differ
diff --git a/local/share/fonts/luximr.ttf b/local/share/fonts/luximr.ttf
new file mode 100644
index 0000000..6ad6e12
--- /dev/null
+++ b/local/share/fonts/luximr.ttf
Binary files differ
diff --git a/local/share/fonts/luximri.ttf b/local/share/fonts/luximri.ttf
new file mode 100644
index 0000000..9b02826
--- /dev/null
+++ b/local/share/fonts/luximri.ttf
Binary files differ
diff --git a/mbsyncrc b/mbsyncrc
new file mode 100644
index 0000000..b0c0880
--- /dev/null
+++ b/mbsyncrc
@@ -0,0 +1,64 @@
+CopyArrivalDate yes # Don't mess up message timestamps when moving them between folders.
+Create Near # Automatically create new folders in the local copy.
+Remove Near # Automatically remove deleted folders from the local copy.
+Expunge Near # Expunge deleted messages from the local copy.
+
+# First section: remote IMAP account
+IMAPAccount Home
+Host imap.fastmail.com
+Port 993
+User marcc@fastmail.fr
+# For simplicity, this is how to read the password from another file.
+# For better security you should use GPG https://gnupg.org/
+PassCmd "pass fastmail/marcc"
+SSLType IMAPS
+SSLVersions TLSv1.2
+
+IMAPStore Home-remote
+Account Home
+
+# This section describes the local storage
+MaildirStore Home-local
+Path ~/mail-home/
+Inbox ~/mail-home/INBOX
+SubFolders Verbatim
+Flatten +
+
+# This section a "channel", a connection between remote and local
+Channel Home
+Far :Home-remote:
+Near :Home-local:
+Patterns * !.nnmaildir !*/.nnmaildir
+Expunge None
+CopyArrivalDate yes
+Sync All
+Create Near
+SyncState *
+
+# Work
+IMAPAccount Work
+Host imap.gmail.com
+User marc@baemingo.com
+PassCmd "pass baemingo/gmail"
+SSLType IMAPS
+#Pipelinedepth 1
+Timeout 60
+
+IMAPStore Work-remote
+Account Work
+
+MaildirStore Work-local
+Path ~/mail-work/
+Inbox ~/mail-work/INBOX
+SubFolders Verbatim
+Flatten +
+
+Channel Work
+Far :Work-remote:
+Near :Work-local:
+Patterns * !.nnmaildir !*/nn.maildir
+Expunge None
+CopyArrivalDate yes
+Sync All
+Create Near
+SyncState *
diff --git a/services/mbsync/run b/services/mbsync/run
new file mode 100755
index 0000000..5035c44
--- /dev/null
+++ b/services/mbsync/run
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+sleep 300
+/usr/bin/mbsync -a
+sleep 240
diff --git a/services/nextcloud/run b/services/nextcloud/run
new file mode 100755
index 0000000..709882a
--- /dev/null
+++ b/services/nextcloud/run
@@ -0,0 +1,5 @@
+#!/bin/sh -e
+sleep 300
+/usr/bin/rclone bisync nextcloud:Articles ~/Articles
+/usr/bin/rclone bisync nextcloud:Shared ~/Shared
+sleep 240
diff --git a/services/vdirsyncer/run b/services/vdirsyncer/run
new file mode 100755
index 0000000..66841dd
--- /dev/null
+++ b/services/vdirsyncer/run
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+sleep 300
+/usr/bin/vdirsyncer sync
+sleep 240