Index: X/.Xdefaults
===================================================================
--- X/.Xdefaults	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ X/.Xdefaults	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -47,10 +47,6 @@
 xterm*locale: true
 xterm*vt100.locale: true
-! xterm*font: x:-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
-! xterm*font: x:-misc-fixed-bold-r-normal--15-*-75-75-c-90-iso10646-1
 xterm*font: x:-adobe-courier-bold-r-normal--14-*-75-75-m-90-iso10646-1
 xterm*boldMode: false
-! xterm*font: x:-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1
-! xterm*boldFont: x:-adobe-courier-medium-r-bold--14-140-75-75-m-90-iso8859-1
 xterm*vt100.allowBoldFonts: True
 xterm*renderFont: True
Index: X/.Xmodmap
===================================================================
--- X/.Xmodmap	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
+++ X/.Xmodmap	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -0,0 +1,248 @@
+keycode   8 =
+keycode   9 = Escape NoSymbol Escape
+keycode  10 = 1 exclam 1 exclam
+keycode  11 = 2 at 2 quotedbl
+keycode  12 = 3 numbersign 3 numerosign
+keycode  13 = 4 dollar 4 semicolon
+keycode  14 = 5 percent 5 percent
+keycode  15 = 6 asciicircum 6 colon
+keycode  16 = 7 ampersand 7 question
+keycode  17 = 8 asterisk 8 asterisk U20BD
+keycode  18 = 9 parenleft 9 parenleft
+keycode  19 = 0 parenright 0 parenright
+keycode  20 = minus underscore minus underscore
+keycode  21 = equal plus equal plus
+keycode  22 = BackSpace BackSpace BackSpace BackSpace
+keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
+keycode  24 = q Q Cyrillic_shorti Cyrillic_SHORTI
+keycode  25 = w W Cyrillic_tse Cyrillic_TSE
+keycode  26 = e E Cyrillic_u Cyrillic_U
+keycode  27 = r R Cyrillic_ka Cyrillic_KA
+keycode  28 = t T Cyrillic_ie Cyrillic_IE
+keycode  29 = y Y Cyrillic_en Cyrillic_EN
+keycode  30 = u U Cyrillic_ghe Cyrillic_GHE
+keycode  31 = i I Cyrillic_sha Cyrillic_SHA
+keycode  32 = o O Cyrillic_shcha Cyrillic_SHCHA
+keycode  33 = p P Cyrillic_ze Cyrillic_ZE
+keycode  34 = bracketleft braceleft Cyrillic_ha Cyrillic_HA
+keycode  35 = bracketright braceright Cyrillic_hardsign Cyrillic_HARDSIGN
+keycode  36 = Return NoSymbol Return
+keycode  37 = Escape
+keycode  38 = a A Cyrillic_ef Cyrillic_EF
+keycode  39 = s S Cyrillic_yeru Cyrillic_YERU
+keycode  40 = d D Cyrillic_ve Cyrillic_VE
+keycode  41 = f F Cyrillic_a Cyrillic_A
+keycode  42 = g G Cyrillic_pe Cyrillic_PE
+keycode  43 = h H Cyrillic_er Cyrillic_ER
+keycode  44 = j J Cyrillic_o Cyrillic_O
+keycode  45 = k K Cyrillic_el Cyrillic_EL
+keycode  46 = l L Cyrillic_de Cyrillic_DE
+keycode  47 = semicolon colon Cyrillic_zhe Cyrillic_ZHE
+keycode  48 = apostrophe quotedbl Cyrillic_e Cyrillic_E
+keycode  49 = grave asciitilde Cyrillic_io Cyrillic_IO
+keycode  50 = Shift_L ISO_Prev_Group Shift_L ISO_Prev_Group
+keycode  51 = backslash bar backslash slash
+keycode  52 = z Z Cyrillic_ya Cyrillic_YA
+keycode  53 = x X Cyrillic_che Cyrillic_CHE
+keycode  54 = c C Cyrillic_es Cyrillic_ES
+keycode  55 = v V Cyrillic_em Cyrillic_EM
+keycode  56 = b B Cyrillic_i Cyrillic_I
+keycode  57 = n N Cyrillic_te Cyrillic_TE
+keycode  58 = m M Cyrillic_softsign Cyrillic_SOFTSIGN
+keycode  59 = comma less Cyrillic_be Cyrillic_BE
+keycode  60 = period greater Cyrillic_yu Cyrillic_YU
+keycode  61 = slash question period comma
+keycode  62 = Shift_R ISO_Next_Group Shift_R ISO_Next_Group
+keycode  63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab KP_Multiply KP_Multiply XF86ClearGrab
+keycode  64 = Alt_L Meta_L Alt_L Meta_L
+keycode  65 = space NoSymbol space
+keycode  66 = Control_L Control_L Control_L Control_L
+keycode  67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 F1 F1 XF86Switch_VT_1
+keycode  68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 F2 F2 XF86Switch_VT_2
+keycode  69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 F3 F3 XF86Switch_VT_3
+keycode  70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 F4 F4 XF86Switch_VT_4
+keycode  71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 F5 F5 XF86Switch_VT_5
+keycode  72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 F6 F6 XF86Switch_VT_6
+keycode  73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 F7 F7 XF86Switch_VT_7
+keycode  74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 F8 F8 XF86Switch_VT_8
+keycode  75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 F9 F9 XF86Switch_VT_9
+keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 F10 F10 XF86Switch_VT_10
+keycode  77 = Num_Lock NoSymbol Num_Lock
+keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
+keycode  79 = KP_Home KP_7 KP_Home KP_7
+keycode  80 = KP_Up KP_8 KP_Up KP_8
+keycode  81 = KP_Prior KP_9 KP_Prior KP_9
+keycode  82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode KP_Subtract KP_Subtract XF86Prev_VMode
+keycode  83 = KP_Left KP_4 KP_Left KP_4
+keycode  84 = KP_Begin KP_5 KP_Begin KP_5
+keycode  85 = KP_Right KP_6 KP_Right KP_6
+keycode  86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode KP_Add KP_Add XF86Next_VMode
+keycode  87 = KP_End KP_1 KP_End KP_1
+keycode  88 = KP_Down KP_2 KP_Down KP_2
+keycode  89 = KP_Next KP_3 KP_Next KP_3
+keycode  90 = KP_Insert KP_0 KP_Insert KP_0
+keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Separator
+keycode  92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
+keycode  93 =
+keycode  94 = less greater slash bar bar brokenbar
+keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 F11 F11 XF86Switch_VT_11
+keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 F12 F12 XF86Switch_VT_12
+keycode  97 =
+keycode  98 = Katakana NoSymbol Katakana
+keycode  99 = Hiragana NoSymbol Hiragana
+keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
+keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana
+keycode 102 = Muhenkan NoSymbol Muhenkan
+keycode 103 =
+keycode 104 = KP_Enter NoSymbol KP_Enter
+keycode 105 = Control_R NoSymbol Control_R
+keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab KP_Divide KP_Divide XF86Ungrab
+keycode 107 = Print Sys_Req Print Sys_Req
+keycode 108 = Alt_R Meta_R Alt_R Meta_R
+keycode 109 = Linefeed NoSymbol Linefeed
+keycode 110 = Home NoSymbol Home
+keycode 111 = Up NoSymbol Up
+keycode 112 = Prior NoSymbol Prior
+keycode 113 = Left NoSymbol Left
+keycode 114 = Right NoSymbol Right
+keycode 115 = End NoSymbol End
+keycode 116 = Down NoSymbol Down
+keycode 117 = Next NoSymbol Next
+keycode 118 = Insert NoSymbol Insert
+keycode 119 = Delete NoSymbol Delete
+keycode 120 =
+keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
+keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
+keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
+keycode 124 = XF86PowerOff NoSymbol XF86PowerOff
+keycode 125 = KP_Equal NoSymbol KP_Equal
+keycode 126 = plusminus NoSymbol plusminus
+keycode 127 = Pause Break Pause Break
+keycode 128 = XF86LaunchA NoSymbol XF86LaunchA
+keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal
+keycode 130 = Hangul NoSymbol Hangul
+keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja
+keycode 132 =
+keycode 133 = Super_L NoSymbol Super_L
+keycode 134 = Super_R NoSymbol Super_R
+keycode 135 = Menu NoSymbol Menu
+keycode 136 = Cancel NoSymbol Cancel
+keycode 137 = Redo NoSymbol Redo
+keycode 138 = SunProps NoSymbol SunProps
+keycode 139 = Undo NoSymbol Undo
+keycode 140 = SunFront NoSymbol SunFront
+keycode 141 = XF86Copy NoSymbol XF86Copy
+keycode 142 = XF86Open NoSymbol XF86Open
+keycode 143 = XF86Paste NoSymbol XF86Paste
+keycode 144 = Find NoSymbol Find
+keycode 145 = XF86Cut NoSymbol XF86Cut
+keycode 146 = Help NoSymbol Help
+keycode 147 = XF86MenuKB NoSymbol XF86MenuKB
+keycode 148 = XF86Calculator NoSymbol XF86Calculator
+keycode 149 =
+keycode 150 = XF86Sleep NoSymbol XF86Sleep
+keycode 151 = XF86WakeUp NoSymbol XF86WakeUp
+keycode 152 = XF86Explorer NoSymbol XF86Explorer
+keycode 153 = XF86Send NoSymbol XF86Send
+keycode 154 =
+keycode 155 = XF86Xfer NoSymbol XF86Xfer
+keycode 156 = XF86Launch1 NoSymbol XF86Launch1
+keycode 157 = XF86Launch2 NoSymbol XF86Launch2
+keycode 158 = XF86WWW NoSymbol XF86WWW
+keycode 159 = XF86DOS NoSymbol XF86DOS
+keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver
+keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows
+keycode 162 = XF86TaskPane NoSymbol XF86TaskPane
+keycode 163 = XF86Mail NoSymbol XF86Mail
+keycode 164 = XF86Favorites NoSymbol XF86Favorites
+keycode 165 = XF86MyComputer NoSymbol XF86MyComputer
+keycode 166 = XF86Back NoSymbol XF86Back
+keycode 167 = XF86Forward NoSymbol XF86Forward
+keycode 168 =
+keycode 169 = XF86Eject NoSymbol XF86Eject
+keycode 170 = XF86Eject NoSymbol XF86Eject
+keycode 171 = XF86AudioNext NoSymbol XF86AudioNext
+keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
+keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev
+keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject
+keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
+keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind
+keycode 177 = XF86Phone NoSymbol XF86Phone
+keycode 178 =
+keycode 179 = XF86Tools NoSymbol XF86Tools
+keycode 180 = XF86HomePage NoSymbol XF86HomePage
+keycode 181 = XF86Reload NoSymbol XF86Reload
+keycode 182 = XF86Close NoSymbol XF86Close
+keycode 183 =
+keycode 184 =
+keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
+keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown
+keycode 187 = parenleft NoSymbol parenleft
+keycode 188 = parenright NoSymbol parenright
+keycode 189 = XF86New NoSymbol XF86New
+keycode 190 = Redo NoSymbol Redo
+keycode 191 = XF86Tools NoSymbol XF86Tools
+keycode 192 = XF86Launch5 NoSymbol XF86Launch5
+keycode 193 = XF86Launch6 NoSymbol XF86Launch6
+keycode 194 = XF86Launch7 NoSymbol XF86Launch7
+keycode 195 = XF86Launch8 NoSymbol XF86Launch8
+keycode 196 = XF86Launch9 NoSymbol XF86Launch9
+keycode 197 =
+keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute
+keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
+keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn
+keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff
+keycode 202 =
+keycode 203 = ISO_Level5_Shift NoSymbol ISO_Level5_Shift
+keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
+keycode 205 = NoSymbol Meta_L NoSymbol Meta_L
+keycode 206 = NoSymbol Super_L NoSymbol Super_L
+keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L
+keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay
+keycode 209 = XF86AudioPause NoSymbol XF86AudioPause
+keycode 210 = XF86Launch3 NoSymbol XF86Launch3
+keycode 211 = XF86Launch4 NoSymbol XF86Launch4
+keycode 212 = XF86LaunchB NoSymbol XF86LaunchB
+keycode 213 = XF86Suspend NoSymbol XF86Suspend
+keycode 214 = XF86Close NoSymbol XF86Close
+keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay
+keycode 216 = XF86AudioForward NoSymbol XF86AudioForward
+keycode 217 =
+keycode 218 = Print NoSymbol Print
+keycode 219 =
+keycode 220 = XF86WebCam NoSymbol XF86WebCam
+keycode 221 = XF86AudioPreset NoSymbol XF86AudioPreset
+keycode 222 =
+keycode 223 = XF86Mail NoSymbol XF86Mail
+keycode 224 = XF86Messenger NoSymbol XF86Messenger
+keycode 225 = XF86Search NoSymbol XF86Search
+keycode 226 = XF86Go NoSymbol XF86Go
+keycode 227 = XF86Finance NoSymbol XF86Finance
+keycode 228 = XF86Game NoSymbol XF86Game
+keycode 229 = XF86Shop NoSymbol XF86Shop
+keycode 230 =
+keycode 231 = Cancel NoSymbol Cancel
+keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
+keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
+keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
+keycode 235 = XF86Display NoSymbol XF86Display
+keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff
+keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown
+keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp
+keycode 239 = XF86Send NoSymbol XF86Send
+keycode 240 = XF86Reply NoSymbol XF86Reply
+keycode 241 = XF86MailForward NoSymbol XF86MailForward
+keycode 242 = XF86Save NoSymbol XF86Save
+keycode 243 = XF86Documents NoSymbol XF86Documents
+keycode 244 = XF86Battery NoSymbol XF86Battery
+keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
+keycode 246 = XF86WLAN NoSymbol XF86WLAN
+keycode 247 = XF86UWB NoSymbol XF86UWB
+keycode 248 =
+keycode 249 = XF86Next_VMode NoSymbol XF86Next_VMode
+keycode 250 = XF86Prev_VMode NoSymbol XF86Prev_VMode
+keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle
+keycode 252 = XF86BrightnessAuto NoSymbol XF86BrightnessAuto
+keycode 253 = XF86DisplayOff NoSymbol XF86DisplayOff
+keycode 254 = XF86WWAN NoSymbol XF86WWAN
+keycode 255 = XF86RFKill NoSymbol XF86RFKill
Index: emacs/.emacs.d/nil
===================================================================
--- emacs/.emacs.d/nil	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ emacs/.emacs.d/nil	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -2,5 +2,5 @@
 
 (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
-		   ("melpa" . "http://melpa.org/packages/")))
+		     ("melpa" . "http://melpa.org/packages/")))
 
 (when (< emacs-major-version 27)
@@ -8,129 +8,4 @@
 
 (require 'gnutls)
-
-(progn
-    (package-refresh-contents)
-    (package-install 'avy)
-    (package-install 'php-mode)
-    (package-install 'phps-mode)
-    ;; (package-install 'anzu)
-    (package-install 'anaconda-mode)
-    (package-install 'auctex)
-    ;; (package-install 'rmsbolt)
-    ;; (package-install 'beginend)
-    ;; (package-install 'composer)
-    (package-install 'cinspect)
-    (package-install 'debian-el)
-    (package-install 'dpkg-dev-el)
-    (package-install 'edebug-inline-result)
-    ;;(package-install 'haskell-mode)
-    ;;(package-install 'idris-mode)
-    (package-install 'magit)
-    (package-install 'git-timemachine)
-    (package-install 'git-dwim)
-    (package-install 'gitpatch)
-    (package-install 'goto-chg)
-    (package-install 'debbugs)
-    ;;(package-install 'deft)
-    ;; (package-install 'direnv)
-    (package-install 'dumb-jump)
-    (package-install 'docker)
-    (package-install 'docker-cli)
-    (package-install 'docker-tramp)
-    (package-install 'docker-compose-mode)
-    (package-install 'org-sql)
-    ;;(package-install 'eglot)
-    ;; (package-install 'eglot-java)
-    ;; (package-install 'mastodon)
-    ;; (package-install 'exec-path-from-shell)
-    (package-install 'expand-region)
-    ;; (package-install 'flymake-php)
-    (package-install 'flycheck)
-    (package-install 'flycheck-phpstan)
-    (package-install 'phpactor)
-    ;;(package-install 'robe)
-    (package-install 'geiser)
-    (package-install 'geiser-guile)
-    (package-install 'guix)
-    ;; (package-install 'git-gutter)
-    ;; (package-install 'gnuplot)
-    ;;(package-install 'swiper)
-    ;;(package-install 'sqlite3)
-    (package-install 'org-roam)
-    ;; (package-install 'org-roam-ui)
-    ;; (package-install 'org-download)
-    ;; (package-install 'org-babel-eval-in-repl)
-    ;;(package-install 'ob-php)
-    ;; (package-install 'on-screen)
-    ;;(package-install 'nix-mode)
-    (package-install 'pdf-tools)
-    ;;(package-install 'phpactor)
-    ;; (package-install 'company-quickhelp)
-    ;;(package-install 'ac-php)
-    (package-install 'php-mode)
-    (package-install 'php-quickhelp)
-    (package-install 'phan)
-    ;;(package-install 'php-cs-fixer)
-    ;; (package-install 'company-php)
-    ;;(package-install 'php-eldoc)
-    ;;(package-install 'phps-mode)
-    (package-install 'realgud)
-    ;; (package-install 'realgud-xdebug)
-    ;; (package-install 'kiwix)
-    ;;(package-install 'sml-mode)
-    (package-install 'sly)
-    (package-install 'simple-httpd)
-    (package-install 'sudo-edit)
-    ;;(package-install 'treemacs)
-    (package-install 'undo-tree)
-    ;; (package-install 'yasnippet)
-    ;; (package-install 'yasnippet-snippets)
-    ;; (package-install 'vimrc-mode)
-    ;; (package-install 'flymake-phpcs)
-    ;; (package-install 'flymake-phpstan)
-    ;; (package-install 'no-littering)
-    (package-install 'web-mode)
-    ;; (package-install 'which-key)
-    ;; (package-install 'reverse-im)
-    (package-install 'imenu-list)
-    ;; (package-install 'isearch-mb)
-    (package-install 'visual-fill-column)
-    ;; (package-install 'browse-kill-ring)
-    (package-install 'corfu)
-    ;; (package-install 'inf-ruby)
-    (package-install 'yaml-mode)
-    ;; (package-install 'geben)
-    (package-install 'link-hint)
-    (package-install 'whole-line-or-region)
-    (package-install 'quickrun)
-    ;; (package-install 'psysh)
-    ;; (package-install 'restclient)
-    )
-
-(when (eq window-system 'pgtk)
-  (pgtk-use-im-context t))
-
-(when (fboundp 'native-compile-async)
-    (setq comp-async-compilation t
-      package-native-compile t
-
-      native-comp-speed 2
-      native-comp-async-jobs-number 1
-      comp-num-cpus 2
-      ;; JIT Compilation
-      native-comp-deferred-compilation t
-      ;; AOT Compilation
-      package-native-compile t
-      comp-async-report-warnings-errors nil))
-
-;; (native-compile-async "~/.emacs.d/elpa/" 'recursively)
-(native-compile-async "~/.guix-profile/share/emacs/site-lisp" 'recursively)
-
-;; block until native compilation has finished
-  (while (or comp-files-queue
-	     (> (comp-async-runnings) 0))
-
-;; Disable guix autoloading and x resources loading
-(setq site-run-file nil)
 
 (require 'exwm)
@@ -138,117 +13,5 @@
 (exwm-config-example)
 
-;; Change mode-line-modes to show only major mode
-(defvar mode-line-major-mode
-  (let ((recursive-edit-help-echo "Recursive edit, type C-M-c to get out"))
-    (list (propertize "%[" 'help-echo recursive-edit-help-echo)
-	  `(:propertize ("" mode-name)
-			help-echo "Major mode\n\
-    mouse-1: Display major mode menu\n\
-    mouse-2: Show help for major mode\n\
-    mouse-3: Toggle minor modes"
-			mouse-face mode-line-highlight
-			local-map ,mode-line-major-mode-keymap)
-	  '("" mode-line-process)
-	  (propertize "%n" 'help-echo "mouse-2: Remove narrowing from buffer"
-		      'mouse-face 'mode-line-highlight
-		      'local-map (make-mode-line-mouse-map
-				  'mouse-2 #'mode-line-widen))
-	  (propertize "%]" 'help-echo recursive-edit-help-echo)
-	  " "))
-  "Mode line construct for displaying major and minor modes.")
-
-(put 'mode-line-major-mode 'risky-local-variable t)
-
-;; Change mode-line-format
-(setq-default mode-line-format
-	      '("%e"
-		mode-line-front-space
-		mode-line-mule-info
-
-		mode-line-client
-		mode-line-modified
-		mode-line-remote
-		mode-line-frame-identification
-		;; long-path
-		mode-line-buffer-identification
-		mode-line-misc-info
-		"   "
-		mode-line-major-mode
-		" "
-		vc-mode
-		"  "
-
-		mode-line-position
-		mode-line-end-spaces
-		))
-
-;; Do not resize the frame at this early stage.
-(setq frame-inhibit-implied-resize t)
-(setq use-dialog-box nil)
-
-;;; Disable some gui
-(scroll-bar-mode -1)
-(tool-bar-mode -1)
-(menu-bar-mode -1)
-;;(tooltip-mode -1)
-
-;;; Changing emacs default setting through customize
-(custom-set-variables
- '(fill-column 72)
- '(git-gutter:added-sign " ")
- '(git-gutter:deleted-sign " ")
- '(git-gutter:modified-sign " ")
- '(git-gutter:unchanged-sign " ")
- '(lsp-headerline-breadcrumb-enable nil)
- '(scroll-bar-mode 'nil)
- '(scroll-bar-adjust-thumb-portion nil)
- '(tool-bar-position 'bottom)
- '(tool-bar-style 'both-horiz))
-
-(custom-set-faces
- '(default ((t (:height 140 :family "Jetbrains Mono" :embolden t))))
- '(region ((t (:background "gray85"))))
- '(mode-line ((t (:background "grey70" :foreground "grey10"))))
- '(mode-line-inactive ((t (:inherit mode-line :background "grey90" :foreground "grey20" :box (:line-width (-2 . -2) :color "grey85") :weight light))))
- '(mode-line-buffer-id ((t (:weight bold))))
- '(mode-line-emphasis ((t (:weight bold))))
- '(lsp-modeline-code-actions-face ((t :inherit mode-line :height 100)))
- '(tool-bar ((t (:background "grey80" :foreground "grey10"))))
- '(fill-column-indicator ((t (:foreground "grey95"))))
- '(hl-line ((t (:background "gray95"))))
- '(fringe ((t (:background "grey87"))))
- '(header-line ((t (:inherit mode-line :background "grey90"))))
- '(vertical-border ((t (:foreground "grey90"))))
- '(window-divider ((t (:foreground "gray90")))))
-
-(set-fringe-style (cons 7 7))
-
-(defun switch-gui ()
-  "Disable/enable menu-bar and tool-bar."
-  (interactive)
-  (if menu-bar-mode
-      (progn
-	(menu-bar-mode -1)
-	(tool-bar-mode -1)
-	(scroll-bar-mode -1))
-    (progn
-      (menu-bar-mode 1)
-      (tool-bar-mode 1)
-      (scroll-bar-mode 1))))
-
-(defun switch-scroll-bar ()
-  "Disable/enable scroll-bar."
-  (interactive)
-  (if scroll-bar-mode
-      (scroll-bar-mode -1)
-    (scroll-bar-mode)))
-
-(define-key global-map (kbd "<f5>") 'switch-gui)
-(define-key global-map (kbd "<f8>") 'switch-scroll-bar)
-
-(provide 'early-init)
-    ;;; early-init.el ends here
-
-;;(add-hook 'prog-mode-hook 'flymake-mode)
+(add-hook 'prog-mode-hook 'flymake-mode)
 
 (require 'psalm)
@@ -269,10 +32,10 @@
     (interactive)
     (let* ((default-directory (php-project-get-root-dir))
-	   (phan-executable (or flycheck-phanclient--phan-executable
-				(if (file-exists-p "vendor/bin/phan")
-				    (concat default-directory "vendor/bin/phan")
-				  (executable-find "phan"))))
-	   (cmd (list phan-executable "--daemonize-tcp-port" "4846" "--quick")))
-      (apply #'start-process "PhanDaemon" "*phan daemon*" cmd)))
+	     (phan-executable (or flycheck-phanclient--phan-executable
+				  (if (file-exists-p "vendor/bin/phan")
+				      (concat default-directory "vendor/bin/phan")
+				    (executable-find "phan"))))
+	     (cmd (list phan-executable "--daemonize-tcp-port" "4846" "--quick")))
+	(apply #'start-process "PhanDaemon" "*phan daemon*" cmd)))
 
   (flycheck-define-checker php-phanclient
@@ -289,41 +52,4 @@
   (add-hook 'prog-mode-hook 'flycheck-mode))
 
-(when (package-loaded? "treemacs")
-  (progn
-    (setq treemacs-width       50
-	  treemacs-show-cursor t
-	  treemacs-position    'right
-	  treemacs-indentation 1
-	  treemacs-tag-follow-mode t
-	  treemacs-fringe-indicator-mode nil)
-
-    (define-key global-map
-      (kbd "C-x C-d") 'treemacs)))
-
-(when (package-loaded? "isearch-mb")
-  (progn
-    (isearch-mb-mode t)
-    (global-set-key (kbd "C-s") 'isearch-forward-regexp)
-    (global-set-key (kbd "C-r") 'isearch-backward-regexp)))
-
-(when (package-loaded? "browse-kill-ring")  
-  (define-key global-map (kbd "C-M-y") 'browse-kill-ring))
-
-(setq path-to-ctags "~/.guix-profile/bin/ctags")
-
-(defun tags-create (dir-name)
-  "Create tags file."
-  (interactive "DDirectory: ")
-  (shell-command
-   (format "%s -f TAGS -e -R %s" path-to-ctags
-	   (directory-file-name dir-name))))
-
-(defun tags-create-python (dir-name)
-  "Create tags with python interpreter"
-  (interactive "DDirectory: ")
-  (shell-command
-   (format "%s -f TAGS -e -R --fields=+l --languages=python --python-kinds=-iv $(python -c \"import os, sys; print(' '.join('{}'.format(d) for d in sys.path if os.path.isdir(d)))\") %s" path-to-ctags
-	   (directory-file-name dir-name))))
-
 (when (package-loaded? "realgud")
   (load "~/.emacs.d/site-lisp/realgud-xdebug/realgud-xdebug.el"))
@@ -335,14 +61,14 @@
   (progn
     (setq corfu-preview-current 'nil
-	  corfu-popupinfo-delay t)
+	    corfu-popupinfo-delay t)
     (corfu-mode 1)
     (corfu-popupinfo-mode 1)
     (defun show-default-completion-buffer ()
-      (interactive)
-      (corfu-quit)
-      (corfu-mode -1)
-      (completion-at-point)
-      (corfu-mode 1)
-      (corfu-popupinfo-mode 1))
+	(interactive)
+	(corfu-quit)
+	(corfu-mode -1)
+	(completion-at-point)
+	(corfu-mode 1)
+	(corfu-popupinfo-mode 1))
     (define-key corfu-map (kbd "M-TAB") 'show-default-completion-buffer)
     (define-key corfu-map (kbd "TAB") 'show-default-completion-buffer)
@@ -352,19 +78,14 @@
 
     (defun corfu-send-shell (&rest _)
-      "Send completion candidate when inside comint/eshell."
-      (cond
-       ((and (derived-mode-p 'eshell-mode) (fboundp 'eshell-send-input))
-	(eshell-send-input))
-       ((and (derived-mode-p 'comint-mode)  (fboundp 'comint-send-input))
-	(comint-send-input))))
+	"Send completion candidate when inside comint/eshell."
+	(cond
+	 ((and (derived-mode-p 'eshell-mode) (fboundp 'eshell-send-input))
+	  (eshell-send-input))
+	 ((and (derived-mode-p 'comint-mode)  (fboundp 'comint-send-input))
+	  (comint-send-input))))
 
     (advice-add #'corfu-insert :after #'corfu-send-shell)
 
     (add-hook 'eshell-mode-hook 'corfu-mode)))
-
-(setq completion-styles '(basic partial-completion substring flex emacs22)
-      completion-ignore-case t
-      read-buffer-completion-ignore-case t
-      read-file-name-completion-ignore-case t)
 
 (setq aggressive-completion-delay 0.5)
@@ -377,7 +98,7 @@
 
 (setq deft-recursive t
-      deft-use-filter-string-for-filename t
-      deft-default-extension "org md"
-      deft-directory "~/projects/at-w96k/content/digarden")
+	deft-use-filter-string-for-filename t
+	deft-default-extension "org md"
+	deft-directory "~/projects/at-w96k/content/digarden")
 
 (when (package-loaded? "yasnippet")
@@ -405,14 +126,10 @@
 ;; (setq phps-mode-async-process-using-async-el t)
 
-(desktop-save-mode 1)
-
-(global-anzu-mode t)
-
 (load "swiper-autoloads")
 (global-set-key (kbd "C-s") 'swiper)
 
 (setq swiper-include-line-number-in-search t
-      swiper-use-visual-line t
-      swiper-stay-on-quit t)
+	swiper-use-visual-line t
+	swiper-stay-on-quit t)
 
 (load "which-key-autoloads")
@@ -421,11 +138,9 @@
 
 (setq which-key-side-window-max-width 0.5
-      which-key-show-remaining-keys t
-      which-key-max-display-columns 50
-      which-key-max-description-length 35
-      which-key-sort-order 'which-key-local-then-key-order
-      which-key-idle-delay 0.25)
-
-(add-hook 'prog-mode-hook 'rmsbolt-mode)
+	which-key-show-remaining-keys t
+	which-key-max-display-columns 50
+	which-key-max-description-length 35
+	which-key-sort-order 'which-key-local-then-key-order
+	which-key-idle-delay 0.25)
 
 ;; (when (package-loaded? "quickrun")
@@ -435,9 +150,7 @@
 
 (setq sly-lisp-implementations
-      '((clisp ("clisp"))
-	(cmucl ("cmucl" "-quiet"))
-	(sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
-
-(load "erlang-autoloads")
+	'((clisp ("clisp"))
+	  (cmucl ("cmucl" "-quiet"))
+	  (sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
 
 (when (package-loaded? "inf-ruby")
@@ -474,84 +187,63 @@
 ;;   (eglot-ensure))
 
-(with-eval-after-load 'php-mode
-
-  ;; (add-hook 'php-mode-hook #'init-php-mode)
-  )
-
-(when (package-loaded? "php-mode")
-  (progn
-    (add-hook 'php-mode-hook 'php-enable-symfony2-coding-style)
-    (setq lsp-intelephense-php-version "8.1.16")
-    (defvar phpactor-executable "~/.bin/phpactor")
-    (custom-set-variables '(lsp-phpactor-path "~/usr/local/bin/phpactor"))
-
-    (add-hook 'php-mode-hook 
-	      '(lambda ()
-		 ;; (require 'yasnippet)
-		 ;; (require 'yasnippet-snippets)
-
-		 (set-fill-column 120)
-
-		 ;; (make-local-variable 'eldoc-documentation-function)
-		 ;; (setq eldoc-documentation-function
-		 ;;       'phpactor-hover)
-		 ;; (yas-minor-mode t)
-		 (define-key php-mode-map (kbd "C-c h") 'php-quickhelp-at-point)))
-
-    (setq php-manual-path
-	  "~/php/php-manual/"
-	  php-quickhelp-dir "~/php/php-manual/"
-	  php-quickhelp--dest "~/.emacs.d/php-manual/php_manual_en.json")
-
-
-    ;; (add-hook 'php-mode-hook 
-    ;; 		'(lambda ()
-    ;; 		   ;; (auto-complete-mode t)
-
-    ;; 		   ;; (require 'ac-php)
-    ;; 		   (require 'php-quickhelp)
-    ;; 		   (require 'company)
-    ;; 		   (company-mode t)
-    ;; 		   (require 'company-php)
-    ;; 		   (require 'company-quickhelp)
-
-    ;; 		   (require 'yasnippet)
-    ;; 		   (require 'yasnippet-snippets)
-
-    ;; 		   (set (make-local-variable 'company-backends)
-    ;; 			'((company-ac-php-backend company-dabbrev-code)
-    ;; 			  php-quickhelp-company-php
-    ;; 			  company-capf company-files))
-
-    ;; 		   (company-quickhelp-mode t)
-
-    ;; 		   (define-key php-mode-map (kbd "C-M-i") 'company-complete)
-    ;; 		   (define-key company-mode-map (kbd "M-TAB") 'company-complete)
-
-    ;; 		   ;; (setq ac-sources '(ac-source-php php-quickhelp-company-php))
-    ;; 		   ;; (setq eldoc-documentation-function
-    ;; 		   ;;       'php-quickhelp-eldoc-func)
-
-    ;; 		   (yas-minor-mode t)
-
-    ;; 		   ;; (define-key php-mode-map (kbd "C-M-i") 'auto-complete)
-    ;; 		   ;; (define-key ac-mode-map (kbd "M-TAB") 'auto-complete)
-
-    ;; 		   (define-key php-mode-map (kbd "C-c H")
-    ;; 			       'php-local-manual-search)
-
-    ;; 		   (define-key php-mode-map (kbd "C-c h") 'php-quickhelp-at-point)
-    ;; 		   (define-key company-mode-map (kbd "C-c h") 'php-quickhelp-at-point)
-
-    ;; 		   ;; (define-key php-mode-map (kbd "C-c t") 'ac-php-show-tip)
-
-    ;; 		   ;; Jump to definition (optional)
-    ;; 		   (define-key php-mode-map
-    ;; 			       (kbd "M-.") 'ac-php-find-symbol-at-point)
-
-    ;; 		   ;; Return back (optional)
-    ;; 		   (define-key php-mode-map
-    ;; 			       (kbd "M-,") 'ac-php-location-stack-back)))
-    ))
+(use-package php-mode
+  :bind ("C-c h" . 'php-quickhelp-at-point)
+  :config
+
+  (setq php-manual-path
+	"~/projects/php-manual/"
+	php-quickhelp-dir "~/projects/php-manual/"
+	php-quickhelp--dest "~/projects/php-manual/php_manual_en.json"))
+
+
+;; (add-hook 'php-mode-hook 
+;; 		'(lambda ()
+;; 		   ;; (auto-complete-mode t)
+
+;; 		   ;; (require 'ac-php)
+;; 		   (require 'php-quickhelp)
+;; 		   (require 'company)
+;; 		   (company-mode t)
+;; 		   (require 'company-php)
+;; 		   (require 'company-quickhelp)
+
+;; 		   (require 'yasnippet)
+;; 		   (require 'yasnippet-snippets)
+
+;; 		   (set (make-local-variable 'company-backends)
+;; 			'((company-ac-php-backend company-dabbrev-code)
+;; 			  php-quickhelp-company-php
+;; 			  company-capf company-files))
+
+;; 		   (company-quickhelp-mode t)
+
+;; 		   (define-key php-mode-map (kbd "C-M-i") 'company-complete)
+;; 		   (define-key company-mode-map (kbd "M-TAB") 'company-complete)
+
+;; 		   ;; (setq ac-sources '(ac-source-php php-quickhelp-company-php))
+;; 		   ;; (setq eldoc-documentation-function
+;; 		   ;;       'php-quickhelp-eldoc-func)
+
+;; 		   (yas-minor-mode t)
+
+;; 		   ;; (define-key php-mode-map (kbd "C-M-i") 'auto-complete)
+;; 		   ;; (define-key ac-mode-map (kbd "M-TAB") 'auto-complete)
+
+;; 		   (define-key php-mode-map (kbd "C-c H")
+;; 			       'php-local-manual-search)
+
+;; 		   (define-key php-mode-map (kbd "C-c h") 'php-quickhelp-at-point)
+;; 		   (define-key company-mode-map (kbd "C-c h") 'php-quickhelp-at-point)
+
+;; 		   ;; (define-key php-mode-map (kbd "C-c t") 'ac-php-show-tip)
+
+;; 		   ;; Jump to definition (optional)
+;; 		   (define-key php-mode-map
+;; 			       (kbd "M-.") 'ac-php-find-symbol-at-point)
+
+;; 		   ;; Return back (optional)
+;; 		   (define-key php-mode-map
+;; 			       (kbd "M-,") 'ac-php-location-stack-back)))
+))
 
 (setq phpactor-executable "~/.bin/phpactor")
@@ -603,5 +295,5 @@
 
 (setq lsp-sqls-connections
-      '(((driver . "mysql") (dataSourceName . "dbuser:mangoworms@tcp(localhost:3306)/profile24"))))
+	'(((driver . "mysql") (dataSourceName . "dbuser:mangoworms@tcp(localhost:3306)/profile24"))))
 
 (when (package-loaded? "org-sql")
@@ -609,16 +301,16 @@
 
 (add-hook 'sql-interactive-mode-hook
-	(lambda ()
-	  (sql-connect "profile24")
-	  (toggle-truncate-lines t)))
+	  (lambda ()
+	    (sql-connect "profile24")
+	    (toggle-truncate-lines t)))
 
 (setq sql-connection-alist
     '((profile24
-       (sql-product 'mysql)
-       (sql-server "localhost")
-       (sql-user "dbuser")
-       (sql-password "123456")
-       (sql-database "testdb")
-       (sql-port 3306))))
+	 (sql-product 'mysql)
+	 (sql-server "localhost")
+	 (sql-user "dbuser")
+	 (sql-password "123456")
+	 (sql-database "testdb")
+	 (sql-port 3306))))
 
 (load "org-ref-autoloads")
@@ -628,21 +320,14 @@
 ;; see org-ref for use of these variables
 (setq org-ref-bibliography-notes "~/Documents/bibliography/notes.org"
-      org-ref-default-bibliography '("~/Documents/Bibliography/references.bib")
-      org-ref-pdf-directory "~/Documents/bibliography/bibtex-pdfs/")
-
-(when (package-loaded? "mastodon")
-  (setq mastodon-active-user "w96k"
-	mastodon-instance-url "https://fosstodon.org/"))
-
-(global-hl-line-mode 1)
-
-(add-to-list 'special-display-buffer-names "*Buffer List*")
-(setq Buffer-menu-files-only t)
+	org-ref-default-bibliography '("~/Documents/Bibliography/references.bib")
+	org-ref-pdf-directory "~/Documents/bibliography/bibtex-pdfs/")
+
+(global-hl-line-mode t)
 
 (setq exec-path-from-shell-variables
-      '("PATH" "MANPATH"))
+	'("PATH" "MANPATH"))
 
 (when (and (memq window-system '(mac ns x))
-	   (not (eq system-type 'berkeley-unix)))
+	     (not (eq system-type 'berkeley-unix)))
   (exec-path-from-shell-initialize))
 
@@ -656,8 +341,8 @@
 
 (add-hook 'eww-mode-hook
-	  (lambda ()
-	    (set-fill-column 80)
-	    (display-fill-column-indicator-mode)
-	    (visual-fill-column-mode)))
+	    (lambda ()
+	      (set-fill-column 80)
+	      (display-fill-column-indicator-mode)
+	      (visual-fill-column-mode)))
 
 (add-to-list 'tramp-remote-path 'tramp-own-remote-path)
@@ -665,6 +350,4 @@
 (load "debian-el-autoloads")
 (load "dpkg-dev-el-autoloads")
-
-(package-loaded? "nix")
 
 (when (package-loaded? "direnv")
@@ -674,5 +357,5 @@
   (interactive)
   (let ((x (+ (face-attribute 'default :height)
-	      10)))
+		10)))
     (set-face-attribute 'default nil :height x)
     (set-face-attribute 'mode-line nil :height x)
@@ -683,5 +366,5 @@
   (interactive)
   (let ((x (- (face-attribute 'default :height)
-	      10)))
+		10)))
     (set-face-attribute 'default nil :height x)
     (set-face-attribute 'mode-line nil :height x)
@@ -700,6 +383,6 @@
 (interactive)
 (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
-		       ;; if first parameter is '1', can't toggle fullscreen status
-		       '(1 "_NET_WM_STATE_FULLSCREEN" 0)))
+			 ;; if first parameter is '1', can't toggle fullscreen status
+			 '(1 "_NET_WM_STATE_FULLSCREEN" 0)))
 
 ;; Better support for files with long lines
Index: gnupg/.gnupg/sshcontrol
===================================================================
--- gnupg/.gnupg/sshcontrol	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
+++ gnupg/.gnupg/sshcontrol	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -0,0 +1,1 @@
+B8BE4725CF11FBBA5F1858F2EE0F39A662B6A370
Index: guix/.dotfiles/.bash_profile
===================================================================
--- guix/.dotfiles/.bash_profile	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ guix/.dotfiles/.bash_profile	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -11,5 +11,5 @@
 
 # export https_proxy=https://localhost:9250
-export http_proxy=https://localhost:9250
+# export http_proxy=https://localhost:9250
 export SOCKS_SERVER=localhost:9050
 
@@ -21,2 +21,4 @@
 # Honor per-interactive-shell startup file
 if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
+
+gpg-connect-agent updatestartuptty /bye
Index: guix/.dotfiles/.bashrc
===================================================================
--- guix/.dotfiles/.bashrc	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ guix/.dotfiles/.bashrc	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -2,12 +2,8 @@
 export GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
 
-draw_line()
-{
-  local COLUMNS="$COLUMNS"
-  while ((COLUMNS-- > 0)); do
-    printf '\u2500'
-  done
-}
+export PS1="\e[32m\u\e[0m@\e[36m\h \e[1m\e[30m\w\${GUIX_ENVIRONMENT:+ [env]}\e[0m\e[30m\e(B\e[m \n"
 
-export PS1="\e[37m$(draw_line)\e[32m\u\e[0m@\e[36m\h \e[1m\e[30m\w\${GUIX_ENVIRONMENT:+ [env]} \n\033[31m>>>\033[0m "
-
+unset SSH_AGENT_PID
+if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
+export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
+fi
Index: guix/.dotfiles/home-configuration.scm
===================================================================
--- guix/.dotfiles/home-configuration.scm	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ guix/.dotfiles/home-configuration.scm	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -33,8 +33,8 @@
 			      "python-wrapper"
 			      "php"
-			      "xdebug-php-8.1"
-			      "composer"
-			      "openjdk"
-			      "maven"
+			      ;; "xdebug-php-8.1"
+			      ;; "composer"
+			      ;; "openjdk"
+;;			      "maven"
 			      "sqls"
 			      "go"
@@ -46,12 +46,12 @@
 			      "python-debugpy"
 			      "ruby-solargraph"
-			      "zig-zls"
-			      "rust-analyzer"
-			      "racket"
+;;			      "zig-zls"
+;;			      "rust-analyzer"
+;;			      "racket"
 			      "gcc-toolchain"
 			      "clang-toolchain"
 			      "gdb"
 			      "valgrind"
-			      "frama-c"
+;;			      "frama-c"
 			      "kcachegrind"
 			      "dwarves"
@@ -63,4 +63,6 @@
 			      ;;"darktable"
 			      "global"
+			      "emacs-vterm"
+			      "emacs-vimrc-mode"
 			      "emacs-eldoc"
 			      "emacs-eldoc-box"
@@ -70,4 +72,5 @@
 			      "emacs-dumb-jump"
 			      "emacs-goto-chg"
+			      "emacs-go-mode"
 			      "emacs-repology"
 			      "emacs-syslog-mode"
@@ -126,8 +129,10 @@
                               "git"
                               ;; "wkz-emacs"
+			      "vim-full"
 			      "emacs-no-x-toolkit"
 			      "emacs-gptel"
 			      "emacs-nix-mode"
                               "lm-sensors"
+			      "hddtemp"
                               "htop"
                               "make"
@@ -154,4 +159,5 @@
 			      "pinentry"
 			      "pinentry-emacs"
+			      "pinentry-gtk2"
 			      ;;"texlive"
 			      "fetchmail"
@@ -169,8 +175,9 @@
 			      "font-gnu-unifont"
 
-			      "proxychains-ng"
+;;			      "proxychains-ng"
 			      "ungoogled-chromium"
 			      "torbrowser"
 			      "icecat"
+			      "icedove"
 			      "librewolf"
 			      "nyxt"
@@ -179,10 +186,13 @@
 			      "ublock-origin-chromium"
 			      "noscript-icecat"
-			      "browserpass-native"
 			      
 			      "keepassxc-browser-icecat"
 			      "keepassxc"
 
+			      "cryptsetup"
 			      "restic"
+			      "borg"
+			      "borgmatic"
+			      "vorta"
 			      "btrbk"
 
@@ -191,5 +201,5 @@
 			      "password-store"
 
-			      "musescore"
+			      ;; "musescore"
 			      "schismtracker"
 			      "workrave"
@@ -207,4 +217,6 @@
 			      "yt-dlp"
 			      "emacs-ytdl"
+
+			      "virt-manager"
 
 			      ;; "wkz-php"
@@ -233,5 +245,12 @@
 
 		    ;; (service home-x11-display-service-type)
-		    (service home-gpg-agent-service-type)
+		    ;; (service home-gpg-agent-service-type)
+		    (service home-gpg-agent-service-type
+			     (home-gpg-agent-configuration
+			      (pinentry-program
+			       (file-append pinentry-emacs "/bin/pinentry-emacs"))
+			      (extra-content "enable-ssh-support")
+			      (ssh-support? #t)))
+
 
 		    ;;	 (service home-unclutter-service-type
@@ -245,5 +264,5 @@
 		    (service home-startx-command-service-type
 			     (xorg-configuration (keyboard-layout (keyboard-layout "us,ru"
-										   #:options '("grp:shifts_toggle" "ctrl:nocaps")))))
+										   #:options '("grp:shifts_toggle" "ctrl:nocaps" "ctrl:escape")))))
 
 		    (service home-dotfiles-service-type
@@ -256,5 +275,6 @@
 					     "/home/w96k/projects/dotfiles/cvs"
 					     "/home/w96k/projects/dotfiles/guix"
-					     "/home/w96k/projects/dotfiles/ssh"
+					     "/home/w96k/projects/dotfiles/vim"
+					     ;; "/home/w96k/projects/dotfiles/ssh"
 					     ))))
 
@@ -270,27 +290,27 @@
 			       ("nano/nanorc" ,%default-nanorc)))
 
-		    (simple-service 'nonguix-service 
-				    home-channels-service-type
-				    (list
-				     (channel
-				      (name 'nonguix)
-				      (url "https://gitlab.com/nonguix/nonguix")
-				      (introduction
-				       (make-channel-introduction
-					"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
-					(openpgp-fingerprint
-					 "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))))
-
-		    (simple-service 'phps-service 
-				    home-channels-service-type
-				    (list
-				     (channel
-				      (name 'guix-phps)
-				      (url "https://github.com/Nazar65/guix-phps-channel")
-				      (introduction
-				       (make-channel-introduction
-					"4e547cbb9391b5fe1b2a9fbc5efa4d5bec2d646f"
-					(openpgp-fingerprint
-					 "4441 0743 6E32 EE9F F20A  753F B510 AA5B 74EA F294"))))))
+		    ;; (simple-service 'nonguix-service 
+		    ;; 		    home-channels-service-type
+		    ;; 		    (list
+		    ;; 		     (channel
+		    ;; 		      (name 'nonguix)
+		    ;; 		      (url "https://gitlab.com/nonguix/nonguix")
+		    ;; 		      (introduction
+		    ;; 		       (make-channel-introduction
+		    ;; 			"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
+		    ;; 			(openpgp-fingerprint
+		    ;; 			 "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))))
+
+		    ;; (simple-service 'phps-service 
+		    ;; 		    home-channels-service-type
+		    ;; 		    (list
+		    ;; 		     (channel
+		    ;; 		      (name 'guix-phps)
+		    ;; 		      (url "https://github.com/Nazar65/guix-phps-channel")
+		    ;; 		      (introduction
+		    ;; 		       (make-channel-introduction
+		    ;; 			"4e547cbb9391b5fe1b2a9fbc5efa4d5bec2d646f"
+		    ;; 			(openpgp-fingerprint
+		    ;; 			 "4441 0743 6E32 EE9F F20A  753F B510 AA5B 74EA F294"))))))
 		    ))))
 
Index: guix/config-desktop.scm
===================================================================
--- guix/config-desktop.scm	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ guix/config-desktop.scm	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -1,95 +1,150 @@
+;; This is an operating system configuration template
+;; for a "desktop" setup with GNOME and Xfce where the
+;; root partition is encrypted with LUKS, and a swap file.
+
 (use-modules (gnu)
 	     (guix transformations)
 	     (gnu home)
+	     (gnu system privilege)
              (guix gexp)
- 	     (nongnu packages linux)
-	     (nongnu system linux-initrd)
              (gnu home services shells))
 
-(use-service-modules guix cups desktop networking ssh xorg docker nix admin vnc lightdm syncthing virtualization databases linux web backup telephony file-sharing)
-(use-package-modules gnome xdisorg vnc databases)
+(use-service-modules guix cups desktop networking ssh xorg docker nix admin vnc lightdm syncthing virtualization databases linux web backup telephony file-sharing spice security-token)
+(use-package-modules gnome xdisorg vnc databases virtualization firmware security-token)
 
 (load "/home/w96k/projects/dotfiles/guix/.dotfiles/home-configuration.scm")
 
-(define wkz-transform
-  ;; The package transformation procedure.
-  (options->transformation
-   '((tune . "skylake"))))
-
 (operating-system
- (locale "en_US.utf8")
- (timezone "Asia/Tbilisi")
- (kernel linux)
- (kernel-arguments '("video=HDMI-A-1:1920x1080@240"))
- (initrd microcode-initrd)
- (firmware (list linux-firmware))
- (keyboard-layout (keyboard-layout "us,ru"
-                                   #:options '("grp:shifts_toggle" "ctrl:nocaps")))
- (host-name "wkz-guix")
-
- ;; The list of user accounts ('root' is implicit).
- (users (cons* (user-account
-                (name "w96k")
-                (comment "W96K")
-                (group "users")
-                (home-directory "/home/w96k")
-                (supplementary-groups '("wheel" "netdev" "audio" "video" "kvm" "httpd")))
+  (host-name "wkz")
+  (timezone "Asia/Tbilisi")
+  (locale "en_US.utf8")
+  (kernel-arguments '("quiet" "intel_iommu=on" "amd_iommu=on" "iommu=on" "video=HDMI-1:1920x1080@240"))
+  (initrd-modules (append '("raid1" "br_netfilter" "vfio_iommu_type1" "vfio_pci" "vfio") %base-initrd-modules))
+
+  ;; Choose US English keyboard layout.  The "altgr-intl"
+  ;; variant provides dead keys for accented characters.
+  (keyboard-layout (keyboard-layout "us,ru"
+				    #:options '("grp:shifts_toggle" "ctrl:nocaps" "ctrl:escape")))
+
+  ;; Use the UEFI variant of GRUB with the EFI System
+  ;; Partition mounted on /boot/efi.
+  (bootloader (bootloader-configuration
+                (bootloader grub-efi-bootloader)
+                (targets '("/boot/efi"))
+                (keyboard-layout keyboard-layout)))
+
+  ;; Specify a mapped device for the encrypted root partition.
+  ;; The UUID is that returned by 'cryptsetup luksUUID'.
+  
+  (mapped-devices
+   (list
+    (mapped-device
+     (source (list "/dev/sda1" "/dev/sdc1"))
+     ;;       (source (list (uuid "ed5b96c3-fa7f-6de7-259d-6eb8e73a631e") (uuid "daeb6a6e-290d-7792-e7b6-edf45cef2076")))
+     (target "/dev/md0")
+     (type raid-device-mapping))
+
+    (mapped-device
+     ;;          (source "/dev/md0")
+     (source (uuid "4e2ee2d8-735d-49bd-8b3d-cd9102170a1f"))
+     (target "home")
+     (type luks-device-mapping))
+
+    (mapped-device
+     (source (uuid "03db8d78-051b-4a11-a7e5-b62ae0f530d4"))
+     (target "guix_old")
+     (type luks-device-mapping))
+    )
+   )
+
+  (file-systems (append
+                 (list
+			(file-system
+                         (device "/dev/mapper/home")
+                         (mount-point "/home")
+                         (type "ext4")
+                         (dependencies mapped-devices))
+
+			(file-system
+                         (device "/dev/mapper/guix_old")
+                         (mount-point "/home/storage")
+                         (type "btrfs")
+                         (dependencies mapped-devices))
+		  
+			(file-system
+                         (device (file-system-label "root"))
+                         (mount-point "/")
+                         (type "ext4"))
+
+                       (file-system
+                         (device (uuid "17C5-3E35" 'fat))
+                         (mount-point "/boot/efi")
+                         (type "vfat")))
+                 %base-file-systems))
+
+  ;; Specify a swap file for the system, which resides on the
+  ;; root file system.
+  (swap-devices (list (swap-space
+                       (target "/swapfile"))))
+
+  (groups
+   (append
+    (list
+     (user-group (name "storage"))) %base-groups))
+  
+  (users (append (list
+		  (user-account
+                   (name "w96k")
+                   (group "users")
+                   (home-directory "/home/w96k")
+                   (supplementary-groups '("wheel" "netdev" "audio" "video" "kvm" "httpd" "libvirt" "postgres" "transmission" "nitrokey")))
+
+		  (user-account
+                   (name "torrent")
+                   (group "users")
+		   (supplementary-groups '("wheel" "transmission"))
+                   (home-directory "/home/torrent"))
+		  
+		  (user-account
+                   (name "storage")
+                   (group "users")
+		   (supplementary-groups '("wheel" "transmission"))
+                   (home-directory "/home/storage"))
+		  )
                %base-user-accounts))
 
- ;; (packages %base-packages)
- (packages
+  (packages
   (append
    (map
     specification->package
-    '(
-      "font-gnu-freefont" "font-gnu-unifont"
-      ))
+    '("font-gnu-freefont" "font-gnu-unifont" "nix" "virt-manager" "bridge-utils" "xmodmap" "gvfs" "ovmf-x86-64" "efibootmgr"
+      "cryptsetup" "mdadm"))
    %base-packages))
 
- ;; Below is the list of system services.  To search for available
- ;; services, run 'guix system search KEYWORD' in a terminal.
- (services
-  (append (list
-	   (service guix-home-service-type `(("w96k" ,wkz-home)))
-	   (service block-facebook-hosts-service-type)
-
-	   (service zram-device-service-type
-                            (zram-device-configuration
-                              (compression-algorithm 'zlib)
-                              (priority 100)))
-
-	   (service tor-service-type
-		    (tor-configuration
-                     (config-file (plain-file "tor-config"
-                                              "HTTPTunnelPort 127.0.0.1:9250"))))
-	   (service openssh-service-type)
-
-	   (service transmission-daemon-service-type)
-	   
-	   ;; (service containerd-service-type)
-	   ;; (service docker-service-type)
-	   ;; (service restic-backup-service-type)
-	   
-	   ;; (service hurd-vm-service-type
-           ;;   (hurd-vm-configuration
-           ;;    (disk-size (* 5000 (expt 2 20))) ;5G
-           ;;    (memory-size 1024)))
-	   
-	   ;; (service nix-service-type)
-
-	   ;; (service xvnc-service-type (xvnc-configuration
-           ;;                             (display-number 10)
-           ;;                             (localhost? #f)
-           ;;                             (geometry "1280x800")))
-
-	   ;; (service syncthing-service-type
-	   ;; 	    (syncthing-configuration
-	   ;; 	     (user "w96k")))
-
-	   ;; (service postgresql-service-type
-	   ;; 	    (postgresql-configuration
-	   ;; 	     (postgresql postgresql-15)))
-
-	   (service dhcp-client-service-type)
+  (services
+   (append (list
+	    (service guix-home-service-type `(("w96k" ,wkz-home)))
+			      (service gpm-service-type)
+
+			      (service tor-service-type)
+			      (service openssh-service-type)
+
+			      (service transmission-daemon-service-type)
+
+			      (service libvirt-service-type
+				       (libvirt-configuration
+					(unix-sock-group "libvirt")
+					(tls-port "16555")))
+
+			      (service virtlog-service-type)
+
+			      	   (service postgresql-service-type
+		    (postgresql-configuration
+		     (postgresql postgresql-15)))
+
+				   (service dhcp-client-service-type)
+
+				   (extra-special-file "/usr/share/OVMF/OVMF_VARS.fd"
+						       (file-append ovmf "/share/firmware/ovmf_x64.bin"))
 
 	   (service httpd-service-type
@@ -115,14 +170,18 @@
 		     (socket-group "httpd")))
 
-	   ;; (service screen-locker-service-type
-           ;;  (screen-locker-configuration
-           ;;   (name "xlock")
-           ;;   (program (file-append xlockmore "/bin/xlock"))))
-	   )
+	   (service pcscd-service-type)
+	   (udev-rules-service 'nitrokey libnitrokey #:groups '("nitrokey"))
+
+	   (service screen-locker-service-type
+            (screen-locker-configuration
+             (name "xlock")
+             (program (file-append xlockmore "/bin/xlock"))))
+
+	   (extra-special-file "/etc/qemu/host.conf" "allow br0\n")
+	   (service spice-vdagent-service-type))
 
 	  (modify-services %desktop-services
 			   (delete screen-locker-service-type)
 			   (delete modem-manager-service-type)
-			   ;; (delete udisks-service-type)
 			   (delete upower-service-type)
 			   (delete network-manager-service-type)
@@ -135,63 +194,14 @@
 			   
 			   
-			   (guix-service-type config => (guix-configuration
-							 (inherit config)
-							                                  ;; Rely on btrfs compression.
-							 (log-compression 'none)
-							 (extra-options '("--max-jobs=10"))
-							 (substitute-urls
-							  (list
-							   "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion"
-							   "https://substitutes.nonguix.org"))
-							 (http-proxy "http://localhost:9250")
-							 (authorized-keys
-							  (append (list (plain-file "non-guix.pub"
-										    "
-(public-key 
- (ecc 
-  (curve Ed25519)
-  (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
-  )
- )
-"))
-								  %default-authorized-guix-keys))))
+			   ;; (guix-service-type config => (guix-configuration
+			   ;; 				 (inherit config)
+			   ;; 				 (extra-options '("--max-jobs=10"))
+			   ;; 				 ;; (http-proxy "http://localhost:9250")
+			   ;; 				 ))
 			   
-			   (delete gdm-service-type))))
-
-  (mapped-devices (list (mapped-device
-                          (source (uuid
-                                   "03db8d78-051b-4a11-a7e5-b62ae0f530d4"))
-                          (target "cryptroot")
-                          (type luks-device-mapping))))
-
-  ;; The list of file systems that get "mounted".  The unique
-  ;; file system identifiers there ("UUIDs") can be obtained
-  ;; by running 'blkid' in a terminal.
-  (file-systems (cons* (file-system
-                         (mount-point "/")
-                         (device "/dev/mapper/cryptroot")
-                         (type "btrfs")
-			 (options "compress=zlib:9,autodefrag")
-                         (dependencies mapped-devices))
-		       (file-system
-                         (mount-point "/home/w96k/")
-                         (device "/dev/mapper/cryptroot")
-                         (type "btrfs")
-			 (options "compress=zlib:7,autodefrag,subvol=/home/w96k/")
-                         (dependencies mapped-devices))
-		       (file-system
-                         (mount-point "/home/w96k/Snapshots/")
-                         (device "/dev/mapper/cryptroot")
-                         (type "btrfs")
-			 (options "compress=zlib:9,autodefrag,subvol=/home/w96k/Snapshots")
-                         (dependencies mapped-devices))
-                       (file-system
-                         (mount-point "/boot/efi")
-                         (device (uuid "6ECD-551F"
-                                       'fat32))
-                         (type "vfat")) %base-file-systems))
- 
- (bootloader (bootloader-configuration
-              (bootloader grub-efi-bootloader)
-              (targets (list "/boot/efi"))
-              (keyboard-layout keyboard-layout))))
+			   (delete gdm-service-type))
+			      
+   ))
+
+  ;; Allow resolution of '.local' host names with mDNS.
+  (name-service-switch %mdns-host-lookup-nss))
Index: ssh/.ssh/id_ed25519
===================================================================
--- ssh/.ssh/id_ed25519	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
+++ ssh/.ssh/id_ed25519	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -0,0 +1,1 @@
+/media/w96k/TailsData/Persistent/ssh/id_ed25519
Index: ssh/.ssh/id_ed25519.pub
===================================================================
--- ssh/.ssh/id_ed25519.pub	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
+++ ssh/.ssh/id_ed25519.pub	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -0,0 +1,1 @@
+/media/w96k/TailsData/Persistent/ssh/id_ed25519.pub
Index: vim/.vimrc
===================================================================
--- vim/.vimrc	(revision f30e1cd3c795ada69723131d541c8e45210ffdce)
+++ vim/.vimrc	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -1,73 +1,9 @@
-" Initialization
+syntax on
+
+packadd vimcomplete
+
 filetype plugin on
-syntax enable
-set autoindent
+set omnifunc=syntaxcomplete#Complete
 
-call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
-Plug 'tpope/vim-fugitive'
-Plug 'tpope/vim-surround'
-Plug 'tpope/vim-dadbod'
-Plug 'qbbr/vim-symfony'
-Plug 'vim-syntastic/syntastic'
-call plug#end()
-
-" Backups
-set directory=~/.vim/backups/
-
-" Undo history
-set undofile
-set undodir=~/.vim/undo/
-
-" Display maximum char width line
-set colorcolumn=80
-
-" Syntax checker
-set statusline+=%#warningmsg#
-set statusline+=%{SyntasticStatuslineFlag()}
-set statusline+=%*
-
-let g:syntastic_always_populate_loc_list = 1
-let g:syntastic_auto_loc_list = 1
-let g:syntastic_check_on_open = 1
-let g:syntastic_check_on_wq = 0
-
-" Better command completion
-set wildmenu
-set wildmode=list:longest,full
-
-" Emacs keys in insert mode
-imap <C-p> <Up>
-imap <C-n> <Down>
-imap <C-b> <Left>
-imap <C-f> <Right>
-imap <C-a> <C-o>:call <SID>home()<CR>
-imap <C-e> <End>
-imap <C-d> <Del>
-imap <C-h> <BS>
-imap <C-k> <C-r>=<SID>kill()<CR>
-
-function! s:home()
-  let start_column = col('.')
-  normal! ^
-  if col('.') == start_column
-    normal! 0
-  endif
-  return ''
-endfunction
-
-function! s:kill()
-  let [text_before, text_after] = s:split_line()
-  if len(text_after) == 0
-    normal! J
-  else
-    call setline(line('.'), text_before)
-  endif
-  return ''
-endfunction
-
-function! s:split_line()
-  let line_text = getline(line('.'))
-  let text_after  = line_text[col('.')-1 :]
-  let text_before = (col('.') > 1) ? line_text[: col('.')-2] : ''
-  return [text_before, text_after]
-endfunction
+" For built in omnifunc
+autocmd FileType sql setlocal omnifunc=vim_dadbod_completion#omni
Index: vm/virbr0.xml
===================================================================
--- vm/virbr0.xml	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
+++ vm/virbr0.xml	(revision 9bc0481748255f32091a0cf95b65947fa3aafa54)
@@ -0,0 +1,10 @@
+<network>
+  <name>virbr0</name>
+  <bridge name="virbr0" />
+  <forward mode="route"/>
+  <ip address="192.168.2.0" netmask="255.255.255.0">
+    <dhcp>
+      <range start="192.168.2.1" end="192.168.2.254"/>
+    </dhcp>
+  </ip>
+</network>
