From b2f56a06a9b6d3c2fdc09b33fbbd568b651d5eab Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Fri, 20 Sep 2024 19:11:00 +0300 Subject: . --- Xresources | 12 ++- alacritty.toml | 11 --- config/aerc/accounts.conf | 4 +- config/kak/kakrc | 19 +++- cwmrc | 12 +-- emacs | 234 ++++++++++++++++++++++++++++++++++++++++++++++ gnupg/gpg-agent.conf | 2 +- mbsyncrc | 14 +-- profile | 2 +- shrc | 26 ++---- xdm/Xresources | 82 ---------------- xdm/Xsetup_0 | 5 - xinitrc | 4 +- 13 files changed, 286 insertions(+), 141 deletions(-) delete mode 100644 alacritty.toml create mode 100644 emacs delete mode 100644 xdm/Xresources delete mode 100755 xdm/Xsetup_0 diff --git a/Xresources b/Xresources index d3048a3..d225ec1 100644 --- a/Xresources +++ b/Xresources @@ -12,18 +12,24 @@ XTerm*HiBackColor: #FFFFFF XTerm*scaleHeight: 1.2 urxvt*selectToClipboard: true -urxvt*font: xft:Iosevka SS13 Extended :size=14:style=Regular:antialias=true:hinting=false +urxvt*font: xft:Iosevka Slab Extended:size=14:style=Regular:antialias=true:hinting=false urxvt*scrollBar: false urxvt*rightScrollbar: false urxvt.termName: xterm-256color urxvt*Background: #FFFFFF urxvt*Foreground: #000000 urxvt*HiBackColor: #FFFFFF -urxvt*scaleHeight: 1.2 +urxvt*internalBorder: 8 +urxvt*lineSpace: 4 URxvt.perl-ext-common: default,matcher -URxvt.url-launcher: /usr/local/bin/xdg-open +URxvt.url-launcher: /usr/bin/xdg-open URxvt.matcher.button: 1 ! yellow *.color3: #ffb319 *.color11: #ffb319 + +! cyan +*.color6: #0000FF +*.color12: #0000FF +*.color14: #0000FF diff --git a/alacritty.toml b/alacritty.toml deleted file mode 100644 index f3e46c5..0000000 --- a/alacritty.toml +++ /dev/null @@ -1,11 +0,0 @@ -[window] -padding = { x = 2, y = 2 } - -[font] -normal = { family = "Iosevka SS13 Extended", style = "Regular" } -size = 6.5 -offset.y = 2 - -[colors.primary] -foreground = "#000000" -background = "#FFFFFF" diff --git a/config/aerc/accounts.conf b/config/aerc/accounts.conf index f104d32..d81b5b5 100644 --- a/config/aerc/accounts.conf +++ b/config/aerc/accounts.conf @@ -1,5 +1,5 @@ [Personal] -source = maildir://~/mail-home +source = maildir://~/mail/home outgoing = smtps+plain://marcc%40fastmail.fr@smtp.fastmail.com:465 default = INBOX outgoing-cred-cmd = pass fastmail/marcc @@ -8,7 +8,7 @@ address-book-cmd = grep -F -i -- "%s" "/home/mccd/.local/share/maildir2addr/add copy-to = Sent [Work] -source = maildir://~/mail-work +source = maildir://~/mail/work outgoing = smtps+plain://marc.coquand%40sustainably.app@smtp.gmail.com:465 default = INBOX outgoing-cred-cmd = pass sustainably/gmail diff --git a/config/kak/kakrc b/config/kak/kakrc index 6966eec..895be8f 100644 --- a/config/kak/kakrc +++ b/config/kak/kakrc @@ -4,6 +4,7 @@ source "~/.config/kak/palette.kak" source "~/.config/kak/auto-pairs.kak" source "~/.config/kak/snippets.kak" source "~/.config/kak/phantom-selection.kak" +source "~/.config/kak/expand-region.kak" # --- Auto pairs enable-auto-pairs @@ -20,6 +21,10 @@ hook global WinSetOption filetype=(rust|python|nim|go|javascript|typescript|c|cp lsp-enable-window lsp-auto-hover-insert-mode-enable } +hook global BufCreate .*\.(njk|tmpl) %{ set buffer filetype html } +hook global WinSetOption filetype=(html) %{ + set-option buffer tabstop 2 +} hook global WinSetOption filetype=(eml|markdown|org) %{ spell } @@ -36,7 +41,7 @@ hook global BufSetOption filetype=(javascript|typescript|elixir|haskell|rust|mar lsp-auto-signature-help-enable } -hook global BufSetOption filetype=(terraform|ocaml|elixir|nix|go) %{ +hook global BufSetOption filetype=(terraform|ocaml|elixir|nix) %{ hook buffer BufWritePre .* %{lsp-formatting-sync} } @@ -70,14 +75,16 @@ map global goto f ':prompt -menu -shell-script-candidates %{ fd -t f } fd: define-command z -docstring "Change Directory (Z)" -params 1 %{ change-directory %sh{zoxide query $1} } complete-command z shell-script-candidates %{ zoxide query -l } +define-command select-angle-bracket %{ execute-keys c, } -docstring "Select content within angle bracket" # --- KEYMAPS map global user = ':lsp-formatting' -docstring "LSP Format" map global user w '|fmt ' -docstring "Wrap to 80 columns" map global user l %{:enter-user-mode lsp} -docstring "LSP mode" map global insert ':try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks tab> }' -docstring 'Select next snippet placeholder' -map global object a 'lsp-object' -docstring 'LSP any symbol' +map global object l 'lsp-object' -docstring 'LSP any symbol' map global object 'lsp-object' -docstring 'LSP any symbol' +map global object a 'select-angle-bracket' -docstring 'XML Tag' map global object e 'lsp-object Function Method' -docstring 'LSP function or method' map global object k 'lsp-object Class Interface Struct' -docstring 'LSP class interface or struct' map global object d 'lsp-diagnostic-object --include-warnings' -docstring 'LSP errors and warnings' @@ -87,6 +94,7 @@ map global user k ':lsp-hover' -docstring 'LSP errors' map global normal \' ":" map global insert ":lsp-signature-help" map global user m ':make' -docstring "Run make" +map global normal + ":expand" # --- Hunks declare-user-mode hunk @@ -150,7 +158,7 @@ define-command conflict-use-2 %{ map global conflict-resolve a conflict-use-1 -docstring "resolve conflict using first version" map global conflict-resolve b conflict-use-2 -docstring "resolve conflict using second version" -# --- VISUAL +# --- VISUAL / THEME colorscheme simple @@ -162,6 +170,11 @@ hook global ModeChange (push|pop):.*:insert %{ set-face global PrimaryCursor default,default+Bc } +# Show TODO comments +hook -group todohighlight global BufCreate .* %{ + add-highlighter buffer/todo-highlight regex "%opt{comment_line}[ \t]*\b(TODO|XXX|FIXME|MAYBE)\b" 1:default+bu@comment +} + # Width of a tab set-option global tabstop 8 diff --git a/cwmrc b/cwmrc index 4ba9fe2..ef11f85 100644 --- a/cwmrc +++ b/cwmrc @@ -13,14 +13,14 @@ color menufg "#FFFFFF" #black color font "#000000" #black #color menubg "#DDDDDD" "#000000" #color selfont #white #white -color activeborder "#68b0b3" -color inactiveborder "#AAAAAA" +color activeborder "#B8Bcb4" #"#2050C0" #"#68b0b3" +color inactiveborder "#686c64" -bind-key 0-XF86MonBrightnessUp "backlight incr 10" -bind-key 0-XF86MonBrightnessDown "backlight decr 10" +#bind-key 0-XF86MonBrightnessUp "brightnessctl s 10%+" +#bind-key 0-XF86MonBrightnessDown "brightnessctl s -10%" -bind-key 0-XF86AudioRaiseVolume "mixer vol=+5%" -bind-key 0-XF86AudioLowerVolume "mixer vol=-5%" +bind-key 0-XF86AudioRaiseVolume "pamixer --increase 5" +bind-key 0-XF86AudioLowerVolume "pamixer --decrease 5%" bind-key 0-XF86AudioMute "mixer vol.mute=toggle" bind-mouse 4-3 window-resize diff --git a/emacs b/emacs new file mode 100644 index 0000000..1a7e823 --- /dev/null +++ b/emacs @@ -0,0 +1,234 @@ +(set-face-attribute 'default nil :height 150) +(set-frame-font "Iosevka Slab Extended" nil t) + +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) +(display-battery-mode t) +(pixel-scroll-precision-mode) +(delete-selection-mode 1) +(fset 'yes-or-no-p 'y-or-n-p) +(setq initial-scratch-message ";; scratch") +(setq-default frame-title-format '("%b")) +(setq ring-bell-function 'ignore) +(setq inhibit-startup-screen t) +(setq line-spacing 0.15) + + +;; Put Emacs auto-save and backup files to /tmp +(defconst emacs-tmp-dir (expand-file-name (format "emacs%d" (user-uid)) temporary-file-directory)) +(setq + backup-by-copying t ; Avoid symlinks + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t + auto-save-list-file-prefix emacs-tmp-dir + auto-save-file-name-transforms `((".*" ,emacs-tmp-dir t)) ; Change autosave dir to tmp + backup-directory-alist `((".*" . ,emacs-tmp-dir))) + +;; Packages +(setq package-list '( + magit + go-mode + devdocs + rec-mode + almost-mono-themes + markdown-mode + tldr + mastodon + expand-region)) + +(require 'package) + +;; list the repositories containing them +(setq package-archives '(("elpa" . "https://elpa.gnu.org") + ("gnu" . "http://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/") + ("melpa-stable" . "https://stable.melpa.org/packages/"))) + +;; activate all thpe packages (in particular autoloads) +(package-initialize) + +;; fetch the list of packages available +(unless package-archive-contents + (package-refresh-contents)) + +;; install the missing packages +(dolist (package package-list) + (unless (package-installed-p package) + (package-install package))) + +;; Expand Region +(require 'expand-region) +(global-set-key (kbd "C-.") 'er/expand-region) +(global-set-key (kbd "C-,") 'er/contract-region) +(global-set-key (kbd "C-h D") 'devdocs-lookup) + + +;; Markdown +(add-hook 'markdown-mode-hook 'variable-pitch-mode) +(add-hook 'markdown-mode-hook 'visual-line-mode) + +;; Pairs +(electric-pair-mode 1) + +;; IDO +(ido-mode t) + +;; Eglot +(require 'eglot) +(define-key eglot-mode-map (kbd "C-c r") 'eglot-rename) +(define-key eglot-mode-map (kbd "C-c o") 'eglot-code-actions-at-mouse) +(define-key eglot-mode-map (kbd "C-c h") 'eldoc) + +(add-hook 'go-mode-hook 'eglot-ensure) + +(set 'eldoc-print-after-edit t) +(global-eldoc-mode t) +(setq eldoc-echo-area-prefer-doc-buffer t) + +(setq make-backup-files nil) + +;; X integration +(setq x-select-enable-clipboard t) +(setq x-select-enable-primary t) + +(add-to-list 'load-path "~/.emacs.d/elisp") +(add-to-list 'custom-theme-load-path "~/.emacs.d/themes") + +(setq-default grep-template (string-join '("ugrep" + "--color=never" + "--ignore-binary" + "--ignore-case" + "--include=" + "--line-number" + "--null" + "--recursive" + "--regexp=") + " ")) + +(require 'secrets) +(require 'auth-source-pass (auth-source-pass-enable)) + + +(global-set-key + "\C-cef" + (lambda () + (interactive) + (erc :server + "irc.libera.chat" :port "6667" :nick "mccd" + :password (shell-command-to-string "pass show libera.chat")))) + +(setq rmail-movemail-program "/nix/store/idfxv25n52wkwnw7y5ks6bk6x17xapkp-user-environment/bin/movemail") +(setq rmail-primary-inbox-list '("maildir:///home/mccd/mail-home/")) + +(setq shr-max-image-proportion 0.3 + mastodon-active-user "marcc" + mastodon-instance-url "https://fosstodon.org") + +;; Mu4e +(use-package mu4e + :ensure nil + :load-path "/usr/share/emacs/site-lisp/mu4e/" + :config + + ;; This is set to 't' to avoid mail syncing issues when using mbsync + (setq mu4e-change-filenames-when-moving t) + + ;; Refresh mail using isync every 10 minutes + (setq mu4e-update-interval (* 10 60) + mu4e-get-mail-command "mbsync -a" + mu4e-view-show-images t + mu4e-view-show-addresses t + mu4e-attachment-dir "~/Downloads" + mu4e-view-prefer-html t + message-send-mail-function 'smtpmail-send-it + mu4e-maildir "~/mail") + + (setq mu4e-contexts + (list + ;; Home + (make-mu4e-context + :name "home" + :enter-func (lambda () (mu4e-message "Entering personal context")) + :leave-func (lambda () (mu4e-message "Leaving personal context")) + :match-func + (lambda (msg) + (when msg + (string-prefix-p "/home" (mu4e-message-field msg :maildir)))) + :vars '((user-mail-address . "marc@mccd.space") + (user-full-name . "Marc Coquand") + (mu4e-drafts-folder . "/home/Drafts") + (mu4e-sent-folder . "/home/Sent") + (mu4e-refile-folder . "/home/Archive") + (mu4e-trash-folder . "/home/Trash") + (mu4e-maildir-shortcuts . + (("/home/INBOX" . ?i) + ("/home/Archive/Done" . ?d) + ("/home/Archive" . ?a) + ("/home/Archive/Todo" . ?t))))) + ;; Work account + (make-mu4e-context + :name "work" + :enter-func (lambda () (mu4e-message "Entering work context")) + :leave-func (lambda () (mu4e-message "Leaving work context")) + :match-func + (lambda (msg) + (when msg + (string-prefix-p "/work" (mu4e-message-field msg :maildir)))) + :vars '((user-mail-address . "marc.coquand@sustainably.app") + (user-full-name . "Marc Coquand") + (mu4e-drafts-folder . "/work/[Gmail]/Drafts") + (mu4e-sent-folder . "/work/[Gmail]/Sent Mail") + (mu4e-refile-folder . "/work/[Gmail]/All Mail") + (mu4e-sent-messages-behavior . delete) + (mu4e-trash-folder . "/work/[Gmail]/Trash") + (mu4e-maildir-shortcuts . + (("/work/[Gmail]/All Mail" . ?a) + ("/work/INBOX" . ?i)))))))) + + +(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. + '(eglot-highlight-symbol-face ((t (:weight bold)))) + '(eglot-mode-line ((t (:weight regular)))) + '(erc-timestamp-face ((t (:foreground "blue" :weight bold)))) + '(font-lock-builtin-face ((t (:weight regular)))) + '(font-lock-comment-face ((t (:foreground "#0000FF" :slant normal)))) + '(font-lock-constant-face ((t (:slant italic :weight regular)))) + '(font-lock-function-name-face ((t (:weight regular)))) + '(font-lock-keyword-face ((t (:weight regular)))) + '(font-lock-string-face ((t (:foreground "black")))) + '(font-lock-type-face ((t (:foreground "black")))) + '(font-lock-variable-name-face ((t (:foreground "black")))) + '(header-line ((t (:inherit mode-line :background "white" :foreground "grey20" :box nil :underline "black")))) + '(highlight ((t (:background "light yellow")))) + '(mastodon-display-name-face ((t (:inherit nil :weight bold)))) + '(mode-line ((t (:background "white" :foreground "black" :box (:line-width (1 . -1) :style flat-button) :overline "black")))) + '(mu4e-header-highlight-face ((t (:inherit hl-line :extend t :weight bold)))) + '(mu4e-highlight-face ((t (:inherit highlight)))) + '(tldr-code-block ((t (:background "cornsilk" :foreground "black")))) + '(tldr-command-argument ((t (:background "cornsilk" :foreground "black")))) + '(tldr-command-itself ((t (:background "khaki" :foreground "black" :weight bold)))) + '(tldr-introduction ((t (:foreground "black" :slant italic)))) + '(tldr-title ((t (:inherit variable-pitch :foreground "black" :weight bold :height 1.2)))) + '(variable-pitch ((t (:family "Iosevka Aile"))))) +(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. + '(custom-safe-themes + '("cbd85ab34afb47003fa7f814a462c24affb1de81ebf172b78cb4e65186ba59d2" default)) + '(mastodon-tl--enable-proportional-fonts t) + '(mastodon-use-emojify t) + '(mu4e-bookmarks + '((:name "Last 7 days" :query "date:7d..now" :hide-unread t :key 119) + (:name "Messages with images" :query "mime:image/*" :key 112))) + '(package-selected-packages + '(smartparens markdown-mode mastodon tldr almost-mono-themes rec-mode magit go-mode expand-region devdocs))) +(put 'secrets-mode 'disabled nil) diff --git a/gnupg/gpg-agent.conf b/gnupg/gpg-agent.conf index e8991b9..4ac5d53 100755 --- a/gnupg/gpg-agent.conf +++ b/gnupg/gpg-agent.conf @@ -1,4 +1,4 @@ default-cache-ttl 999999999 max-cache-ttl 999999999 allow-preset-passphrase -pinentry-program /usr/local/bin/pinentry-curses +pinentry-program /usr/bin/pinentry-curses diff --git a/mbsyncrc b/mbsyncrc index 3c69edd..ca00992 100644 --- a/mbsyncrc +++ b/mbsyncrc @@ -19,19 +19,19 @@ Account Home # This section describes the local storage MaildirStore Home-local -Path ~/mail-home/ -Inbox ~/mail-home/INBOX +Path ~/mail/home/ +Inbox ~/mail/home/INBOX SubFolders Verbatim # This section a "channel", a connection between remote and local Channel Home Far :Home-remote: Near :Home-local: -Patterns * !.nnmaildir !*/.nnmaildir +Patterns * Expunge None -CopyArrivalDate no +CopyArrivalDate yes Sync All -Create Near +Create Both SyncState * @@ -47,8 +47,8 @@ IMAPStore Work-remote Account Work MaildirStore Work-local -Path ~/mail-work/ -Inbox ~/mail-work/INBOX +Path ~/mail/work/ +Inbox ~/mail/work/INBOX SubFolders Verbatim Channel Work diff --git a/profile b/profile index 96dfa43..89e199c 100644 --- a/profile +++ b/profile @@ -3,7 +3,7 @@ PATH=${PATH}:/home/mccd/go/bin:/home/mccd/.cargo/bin:/home/mccd/.local/bin export PATH HOME TERM -export EDITOR="kak" +export EDITOR="mg" export GDK_DPI_SCALE="1.5" export GDK_SCALE="1.5" export XCURSOR_SIZE="32" diff --git a/shrc b/shrc index 876f8d4..4d0134c 100644 --- a/shrc +++ b/shrc @@ -11,9 +11,12 @@ alias doc="dedoc --color off search" alias kill-sessions="tmux kill-session -a" alias restart-wifi="doas /usr/sbin/service netif restart" alias de='. ./.envrc' +alias logdate='date +"%Y-%m-%d"' +alias snapshothome='doas zfs snapshot zroot/home@$(logdate)' +alias commit-all="git add . && git commit -m '.' && git push" optimizeimg() { - convert -strip -quality 85% $1 $2 + magick -strip -quality 85% $1 $2 } @@ -27,7 +30,6 @@ refs() { recsel -q $1 ~/personal-db/refs.rec } -# Remove trailing newlines cleartrail() { cat $1 | tr -d '\n' } @@ -37,31 +39,19 @@ addref() { cat /tmp/description | xargs -I {} recins refs.rec -f Title -v $1 -f Tags -v $2 -f Text -v {} } -isrootprompt() { - CURR="$(id -u)" - case "$CURR" in - "0") echo "#" - ;; - *) echo "$" - ;; - esac -} - notes() { grep -i "$1" --format='%f%~' ~/notes/ | xargs -I {} cat {} } + . /home/mccd/.nix-profile/etc/profile.d/nix.sh -echo "BAT: $(apm -l), $(apm -b)" +echo "BAT: $(cat /sys/class/power_supply/BAT0/capacity), $(cat /sys/class/power_supply/BAT0/status)" set -o vi -eval "$(direnv hook bash)" +PS1='\W \$ ' -PS1='${PWD##*/} $(isrootprompt) ' eval "$(zoxide init posix --hook prompt)" - - -[ $(tty) == "/dev/ttyv0" ] && exec startx +[ "$(tty)" == "/dev/tty1" ] && exec startx diff --git a/xdm/Xresources b/xdm/Xresources deleted file mode 100644 index aa8ffc8..0000000 --- a/xdm/Xresources +++ /dev/null @@ -1,82 +0,0 @@ -! $OpenBSD: Xresources.in,v 1.4 2022/11/07 17:12:06 matthieu Exp $ -! -! -! -! -! - - - - -xlogin*login.translations: #override \ - F1: set-session-argument(failsafe) finish-field()\n\ - Left: move-backward-character()\n\ - Right: move-forward-character()\n\ - Home: move-to-begining()\n\ - End: move-to-end()\n\ - CtrlKP_Enter: set-session-argument(failsafe) finish-field()\n\ - KP_Enter: set-session-argument() finish-field()\n\ - CtrlReturn: set-session-argument(failsafe) finish-field()\n\ - Return: set-session-argument() finish-field() - -xlogin*greeting: -xlogin*namePrompt: Login: -xlogin*fail: Login incorrect - -#if WIDTH > 800 -xlogin*greetFace: Iosevka Aile-22:bold:italic:dpi=75 -xlogin*face: IosevkaAile-16:dpi=75 -xlogin*promptFace: IosevkaAile-16:bold:dpi=75 -xlogin*failFace: IosevkaAile-16:bold:dpi=75 -#else -xlogin*greetFace: Iosevka Aile-18:bold:italic:dpi=75 -xlogin*face: Iosevka Aile-12:dpi=75 -xlogin*promptFace: Iosevka Aile-12:bold:dpi=75 -xlogin*failFace: Iosevka Aile-12:bold:dpi=75 -#endif - -#if !(defined(bpp1) || defined(bpp4) || defined(bpp8) || defined(bpp15)) -# if PLANES < 4 -# ifndef bpp1 -# define bpp1 -# endif -# else -# if PLANES > 4 -# if PLANES > 8 -# ifndef bpp15 -# define bpp15 -# endif -# else -# ifndef bpp8 -# define bpp8 -# endif bpp8 -# endif -# else -# ifndef bpp4 -# define bpp4 -# endif -# endif -# endif -#endif /* If manual override */ - -#ifndef bpp1 -xlogin*borderWidth: 0 -xlogin*frameWidth: 2 -xlogin.Login.height: 200 -xlogin.Login.width: 400 -xlogin.Login.y: 600 -xlogin.Login.frameWidth: 10 -xlogin.Login.innerFramesWidth: 0 -xlogin*innerFramesWidth: 20 -Xcursor.theme: Adwaita -Xcursor.size: 34 - -xlogin.Login.sepWidth: 0 - -xlogin.Login.background: #FFFFFF -xlogin.Login.foreground: #000000 -xlogin.Login.failColor: #b00035 -xlogin.Login.inpColor: #FFFFFF -xlogin.Login.promptColor: #000000 -xlogin.Login.hiColor: #FFFFFF -xlogin.Login.shdColor: #FFFFFF diff --git a/xdm/Xsetup_0 b/xdm/Xsetup_0 deleted file mode 100755 index 4b317dc..0000000 --- a/xdm/Xsetup_0 +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -/usr/X11R7/bin/xsetroot -solid \#FFFFFF -/usr/X11R7/bin/setxkbmap -layout us -variant colemak -/usr/X11R7/bin/xset fp+ /usr/local/share/fonts diff --git a/xinitrc b/xinitrc index f061e46..a24a754 100755 --- a/xinitrc +++ b/xinitrc @@ -4,10 +4,10 @@ xrdb -load ~/.Xresources & autocutsel & xsetroot -solid '#282C34' & ulimit -c 0 & -xclock -digital -geometry +7+1400 -face "Iosevka Aile:pixelsize=18:style=regular" -bg \#282C34 -fg \#B8BCC4 -strftime "FreeBSD/amd64 (mccd) %H:%M" & +xclock -digital -geometry +1150+1402 -face "Iosevka Aile:pixelsize=18:style=regular" -bg \#282C34 -fg \#B8BCC4 -strftime "Bogo (%Y/%m/%d) %H:%M" & gsettings set org.gnome.desktop.interface document-font-name 'Iosevka Aile' & gsettings set org.gnome.desktop.interface font-name 'Iosevka Aile' & gsettings set org.gnome.desktop.interface cursor-size 32 & gsettings set org.gnome.desktop.interface cursor-theme Adwaita & -setxkbmap -layout us -variant colemak -option "caps:capslock" & +setxkbmap -layout us -variant colemak -option "caps:ctrl_modifier" & dbus-run-session cwm -- cgit v1.2.3