Commit Diff


commit - af65e88297ed57b945ee7a538e74a95d967571a6
commit + bb425bf44fa5e623529ba9173ed2c26c49fd7c74
blob - 0193006ecb9108db2d0f65d28353d26628b89f8a
blob + c1d17f38b86fa00506dcfa733d51793b85f4f294
--- flake.lock
+++ flake.lock
@@ -248,11 +248,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1788549839,
-        "narHash": "sha256-kOrCcSIA6w9J1hX5DqHy2k9pDTJymExTsbV74U9UtCA=",
+        "lastModified": 1788686502,
+        "narHash": "sha256-C5ETRqK0ji2SGGVpjdsAIv+Yd6m4vB6DOiGPQXP/M34=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "17de0b976395537756f30a3e78f2f06e5cec89ed",
+        "rev": "94a0f8d9ca5da101ec1cddbdfecfdc1ae1766d04",
         "type": "github"
       },
       "original": {
blob - 7129c7f0c2fdce59f9241411d0f3b4b176d7dceb
blob + bbbe7d915bc7f2485ad975d33285636894ee718a
--- hosts/impish/default.nix
+++ hosts/impish/default.nix
@@ -4,7 +4,7 @@
   config,
   ...
 }: {
-  imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ./overlays];
+  imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ../../modules/mixins/treesitter ./overlays];
 
   nixpkgs.overlays = [
     (_final: prev: let
blob - c11759f412c7f0b79fd94868379db7736a9d9951
blob + 192119807f907b3fc420bc37abf7d94b7fb4d37a
Binary files hosts/impish/overlays/config/magdalena/config.json.nix and hosts/impish/overlays/config/magdalena/config.json.nix differ
blob - 0511d10e55669750ffdb5863c8276941e3c3120b
blob + 71851df05bda1ab2cccb49830b33de6ada53c76d
--- hosts/impish/overlays/config/volare/config
+++ hosts/impish/overlays/config/volare/config
@@ -11,9 +11,9 @@ default_border pixel 1
 default_floating_border pixel 1
 hide_edge_borders --i3 smart
 
-client.focused          "#2fafff" "#535353" "#ffffff" "#2fafff" "#2fafff"
-client.focused_inactive "#646464" "#1e1e1e" "#989898" "#646464" "#646464"
-client.unfocused        "#646464" "#000000" "#989898" "#646464" "#646464"
+client.focused          "#9e9e9e" "#3c3c3c" "#fafafa" "#93a7c4" "#9e9e9e"
+client.focused_inactive "#3c3c3c" "#252525" "#9e9e9e" "#3c3c3c" "#3c3c3c"
+client.unfocused        "#252525" "#050505" "#9e9e9e" "#252525" "#252525"
 
 input type:keyboard {
     repeat_rate 50
blob - 32b996b21f3564e24b69455cda26e89137e05961
blob + 60001d85f196382471330514463126d9cf222f1f
--- modules/mixins/dotfiles/config/aerc/stylesets/mine
+++ modules/mixins/dotfiles/config/aerc/stylesets/mine
@@ -1,61 +1,61 @@
 *.default=true
 *.normal=true
-*.fg = #ffffff
-*.selected.bg = #5a5a5a
-*.selected.fg = #ffffff
-title.bg=#000000
-title.fg=#ffffff
+*.fg = #b9d3b0
+*.selected.bg = #0c512c
+*.selected.fg = #b9d3b0
+title.bg=#153227
+title.fg=#d3b18e
 title.bold=true
 header.bold=true
-header.fg=#ffffff
-header.bg=#000000
-border.bg=#000000
-border.fg=#646464
-tab.selected.fg=#ffffff
-tab.selected.bg=#5a5a5a
+header.fg=#b9d3b0
+header.bg=#153227
+border.bg=#153227
+border.fg=#596c5e
+tab.selected.fg=#d3b18e
+tab.selected.bg=#3d4543
 tab.selected.bold=true
-dirlist*.selected.bg=#5a5a5a
-dirlist*.selected.fg=#ffffff
+dirlist*.selected.bg=#0c512c
+dirlist*.selected.fg=#b9d3b0
 dirlist*.selected.bold=false
 *error.bold=true
-*error.fg=#ff5f59
-*warning.fg=#fec43f
-*success.fg=#44bc44
-statusline_*.bg=#000000
-statusline_*.fg=#ffffff
-statusline_error.fg=#ff5f59
-msglist_unread.fg=#ffffff
+*error.fg=#e8a27f
+*warning.fg=#c4b980
+*success.fg=#82cc7f
+statusline_*.bg=#303931
+statusline_*.fg=#b9d3b0
+statusline_error.fg=#e8a27f
+msglist_unread.fg=#d3b18e
 msglist_unread.bold=true
-msglist_read.fg=#989898
-msglist_deleted.fg=#595959
-msglist_*.selected.bg=#5a5a5a
-msglist_marked.fg=#44bc44
-msglist_marked.selected.fg=#ffffff
-msglist_marked.bg=#000000
-msglist_marked.selected.bg=#5a5a5a
+msglist_read.fg=#9ba3a2
+msglist_deleted.fg=#596c5e
+msglist_*.selected.bg=#0c512c
+msglist_marked.fg=#82cc7f
+msglist_marked.selected.fg=#b9d3b0
+msglist_marked.bg=#153227
+msglist_marked.selected.bg=#0c512c
 completion_pill.reverse=false
 selector_focused.bold=false
-selector_focused.bg=#5a5a5a
-selector_focused.fg=#ffffff
+selector_focused.bg=#3d4543
+selector_focused.fg=#d3b18e
 selector_chooser.bold=false
-selector_chooser.bg=#5a5a5a
-selector_chooser.fg=#ffffff
+selector_chooser.bg=#3d4543
+selector_chooser.fg=#d3b18e
 default.selected.bold=false
-default.selected.bg=#5a5a5a
-default.selected.fg=#ffffff
-completion_default.selected.bg=#5a5a5a
+default.selected.bg=#0c512c
+default.selected.fg=#b9d3b0
+completion_default.selected.bg=#0c512c
 [viewer]
 *.default=true
 *.normal=true
-url.fg = #79a8ff
-header.fg = #ffffff
-signature.fg = #989898
-diff_chunk.fg = #00d3d0
-diff_chunk_func.fg = #989898
-diff_add.fg = #44bc44
-diff_del.fg = #ff5f59
-quote_1.fg = #ffffff
-quote_2.fg = #989898
-quote_3.fg = #595959
-quote_4.fg = #989898
-quote_x.fg = #595959
+url.fg = #8fbae5
+header.fg = #b9d3b0
+signature.fg = #9ba3a2
+diff_chunk.fg = #a0c0d0
+diff_chunk_func.fg = #9ba3a2
+diff_add.fg = #82cc7f
+diff_del.fg = #e8a27f
+quote_1.fg = #b9d3b0
+quote_2.fg = #9ba3a2
+quote_3.fg = #596c5e
+quote_4.fg = #9ba3a2
+quote_x.fg = #596c5e
blob - da131b34c6589adb428760bee0aaec3fcf9ba484
blob + 74427863158b3a6f51f6f9eea84b428e9b10d191
--- modules/mixins/dotfiles/config/bat/config
+++ modules/mixins/dotfiles/config/bat/config
@@ -1,2 +1,2 @@
---theme="ansi"
+--theme="doric-walnut"
 --color="always"
blob - /dev/null
blob + cb1ab535a1478fe7dbcbc3858e11c258f0e760c7 (mode 644)
--- /dev/null
+++ modules/mixins/dotfiles/config/bat/themes/doric-walnut.tmTheme
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>name</key>
+		<string>doric-walnut</string>
+	<key>settings</key>
+	<array>
+		<dict>
+			<key>settings</key>
+			<dict>
+				<key>background</key>
+				<string>#153227</string>
+				<key>divider</key>
+				<string>#596C5E</string>
+				<key>foreground</key>
+				<string>#B9D3B0</string>
+				<key>caret</key>
+				<string>#D3B18E</string>
+				<key>invisibles</key>
+				<string>#596C5E</string>
+				<key>lineHighlight</key>
+				<string>#303931</string>
+				<key>selection</key>
+				<string>#0C512C</string>
+				<key>selectionForeground</key>
+				<string>#B9D3B0</string>
+				<key>gutter</key>
+				<string>#153227</string>
+				<key>gutterForeground</key>
+				<string>#9BA3A2</string>
+				<key>guide</key>
+				<string>#3D4543</string>
+				<key>activeGuide</key>
+				<string>#596C5E</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Comment</string>
+			<key>scope</key>
+			<string>comment</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#9BA3A2</string>
+				<key>fontStyle</key>
+				<string>italic</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>String</string>
+			<key>scope</key>
+			<string>string</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#82CC7F</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Number</string>
+			<key>scope</key>
+			<string>constant.numeric</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#C4B980</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Built-in constant</string>
+			<key>scope</key>
+			<string>constant.language</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#E9ACBF</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>User constant</string>
+			<key>scope</key>
+			<string>constant.character, constant.other</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#AEA084</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Keyword</string>
+			<key>scope</key>
+			<string>keyword</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#8FBAE5</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Operator</string>
+			<key>scope</key>
+			<string>keyword.operator</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#AFC2BE</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Type</string>
+			<key>scope</key>
+			<string>storage.type, storage.modifier, entity.name.type, entity.name.class</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#D3B18E</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Function name</string>
+			<key>scope</key>
+			<string>entity.name.function, support.function</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#63C789</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Tag</string>
+			<key>scope</key>
+			<string>entity.name.tag, punctuation.definition.tag</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#A0C0D0</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Attribute</string>
+			<key>scope</key>
+			<string>entity.other.attribute-name</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#C4B980</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Variable</string>
+			<key>scope</key>
+			<string>variable</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#B9D3B0</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Special variable</string>
+			<key>scope</key>
+			<string>variable.language, variable.other.member</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#E8A27F</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Punctuation</string>
+			<key>scope</key>
+			<string>punctuation</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#AFC2BE</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>name</key>
+			<string>Invalid</string>
+			<key>scope</key>
+			<string>invalid</string>
+			<key>settings</key>
+			<dict>
+				<key>foreground</key>
+				<string>#B9D3B0</string>
+				<key>background</key>
+				<string>#5B3D2C</string>
+			</dict>
+		</dict>
+	</array>
+</dict>
+</plist>
blob - 00bfdf40953b2e06b1513ace38dd13f3c731def3
blob + 53aae44129319d18a263b647e6a389039349df80
--- modules/mixins/dotfiles/config/foot/common.ini
+++ modules/mixins/dotfiles/config/foot/common.ini
@@ -9,38 +9,277 @@ style=block
 blink=no
 
 [colors-dark]
-cursor=000000 ffffff
+# doric-walnut (https://github.com/protesilaos/doric-themes), palette
+# from doric-walnut-theme.el. ANSI mapping follows
+# anhsirk0/alacritty-themes doric-oak style: black = bg-shadow-subtle,
+# white = fg-main, hues = fg-*, bright = normal, selection =
+# bg-shadow-intense + fg-main (doric region/isearch).
+background=153227
+foreground=b9d3b0
 
-foreground=ffffff
-background=000000
+cursor=153227 d3b18e
 
-selection-foreground=ffffff
-selection-background=5a5a5a
+selection-foreground=b9d3b0
+selection-background=0c512c
 
-regular0=000000
-regular1=ff5f59
-regular2=44bc44
-regular3=d0bc00
-regular4=2fafff
-regular5=feacd0
-regular6=00d3d0
-regular7=a6a6a6
+regular0=303931
+regular1=e8a27f
+regular2=82cc7f
+regular3=c4b980
+regular4=8fbae5
+regular5=e9acbf
+regular6=a0c0d0
+regular7=b9d3b0
 
-bright0=595959
-bright1=ff6b55
-bright2=70b900
-bright3=fec43f
-bright4=79a8ff
-bright5=b6a0ff
-bright6=6ae4b9
-bright7=ffffff
+bright0=303931
+bright1=e8a27f
+bright2=82cc7f
+bright3=c4b980
+bright4=8fbae5
+bright5=e9acbf
+bright6=a0c0d0
+bright7=b9d3b0
+16=153227
+17=163328
+18=163328
+19=173429
+20=183529
+21=18352a
+22=19362a
+23=1a372b
+24=1a372c
+25=1b382c
+26=1c392d
+27=1d392d
+28=1d3a2e
+29=1e3b2e
+30=1f3b2f
+31=1f3c30
+32=203d30
+33=213d31
+34=213e31
+35=223f32
+36=233f32
+37=234033
+38=244134
+39=254134
+40=254235
+41=264335
+42=274436
+43=284436
+44=284537
+45=294638
+46=2a4638
+47=2a4739
+48=2b4839
+49=2c483a
+50=2c493a
+51=2d4a3b
+52=2e4a3c
+53=2e4b3c
+54=2f4c3d
+55=304c3d
+56=304d3e
+57=314e3f
+58=324e3f
+59=334f40
+60=335040
+61=345041
+62=355141
+63=355242
+64=365243
+65=375343
+66=375444
+67=385444
+68=395545
+69=395645
+70=3a5646
+71=3b5747
+72=3b5847
+73=3c5848
+74=3d5948
+75=3d5a49
+76=3e5a49
+77=3f5b4a
+78=405c4b
+79=405c4b
+80=415d4c
+81=425e4c
+82=425e4d
+83=435f4d
+84=44604e
+85=44604f
+86=45614f
+87=466250
+88=466350
+89=476351
+90=486451
+91=486552
+92=496553
+93=4a6653
+94=4b6754
+95=4b6754
+96=4c6855
+97=4d6955
+98=4d6956
+99=4e6a57
+100=4f6b57
+101=4f6b58
+102=506c58
+103=516d59
+104=516d59
+105=526e5a
+106=536f5b
+107=536f5b
+108=54705c
+109=55715c
+110=56715d
+111=56725d
+112=57735e
+113=58735f
+114=58745f
+115=597560
+116=5a7560
+117=5a7661
+118=5b7761
+119=5c7762
+120=5c7863
+121=5d7963
+122=5e7964
+123=5e7a64
+124=5f7b65
+125=607b65
+126=607c66
+127=617d67
+128=627d67
+129=637e68
+130=637f68
+131=647f69
+132=658069
+133=65816a
+134=66816b
+135=67826b
+136=67836c
+137=68846c
+138=69846d
+139=69856e
+140=6a866e
+141=6b866f
+142=6b876f
+143=6c8870
+144=6d8870
+145=6e8971
+146=6e8a72
+147=6f8a72
+148=708b73
+149=708c73
+150=718c74
+151=728d74
+152=728e75
+153=738e76
+154=748f76
+155=749077
+156=759077
+157=769178
+158=769278
+159=779279
+160=78937a
+161=78947a
+162=79947b
+163=7a957b
+164=7b967c
+165=7b967c
+166=7c977d
+167=7d987e
+168=7d987e
+169=7e997f
+170=7f9a7f
+171=7f9a80
+172=809b80
+173=819c81
+174=819c82
+175=829d82
+176=839e83
+177=839e83
+178=849f84
+179=85a084
+180=86a085
+181=86a186
+182=87a286
+183=88a287
+184=88a387
+185=89a488
+186=8aa588
+187=8aa589
+188=8ba68a
+189=8ca78a
+190=8ca78b
+191=8da88b
+192=8ea98c
+193=8ea98c
+194=8faa8d
+195=90ab8e
+196=91ab8e
+197=91ac8f
+198=92ad8f
+199=93ad90
+200=93ae90
+201=94af91
+202=95af92
+203=95b092
+204=96b193
+205=97b193
+206=97b294
+207=98b394
+208=99b395
+209=99b496
+210=9ab596
+211=9bb597
+212=9bb697
+213=9cb798
+214=9db798
+215=9eb899
+216=9eb99a
+217=9fb99a
+218=a0ba9b
+219=a0bb9b
+220=a1bb9c
+221=a2bc9d
+222=a2bd9d
+223=a3bd9e
+224=a4be9e
+225=a4bf9f
+226=a5bf9f
+227=a6c0a0
+228=a6c1a1
+229=a7c1a1
+230=a8c2a2
+231=a9c3a2
+232=a9c4a3
+233=aac4a3
+234=abc5a4
+235=abc6a5
+236=acc6a5
+237=adc7a6
+238=adc8a6
+239=aec8a7
+240=afc9a7
+241=afcaa8
+242=b0caa9
+243=b1cba9
+244=b1ccaa
+245=b2ccaa
+246=b3cdab
+247=b4ceab
+248=b4ceac
+249=b5cfad
+250=b6d0ad
+251=b6d0ae
+252=b7d1ae
+253=b8d2af
+254=b8d2af
+255=b9d3b0
 
-16=ff7f86
-17=dfaf7a
-18=1e1e1e
-19=303030
-20=989898
-21=c6daff
 
 [key-bindings]
 clipboard-copy=Control+Shift+c
blob - 7cfde64c6ad75ccdace09b693398d473967d1556
blob + abc9e536d71422ca55dc376eb033c77b92f5b7a7
--- modules/mixins/dotfiles/config/magdalena/config.json.nix
+++ modules/mixins/dotfiles/config/magdalena/config.json.nix
@@ -21,10 +21,10 @@
   		"--ansi",
   		"--layout=reverse",
   		"--border=rounded",
-    "--color=bg+:#5a5a5a,bg:#000000,spinner:#00d3d0,hl:#00bcff",
-    "--color=fg:#ffffff,header:#79a8ff,info:#989898,pointer:#00bcff",
-    "--color=marker:#00bcff,fg+:#ffffff,prompt:#00bcff,hl+:#00bcff",
-    "--color=border:#646464"
+    "--color=bg+:#3d4543,bg:#153227,spinner:#a0c0d0,hl:#8fbae5",
+    "--color=fg:#b9d3b0,header:#63c789,info:#9ba3a2,pointer:#d3b18e",
+    "--color=marker:#82cc7f,fg+:#b9d3b0,prompt:#63c789,hl+:#8fbae5",
+    "--color=border:#596c5e"
   	],
   	"fav_dirs": [
   		"${homeDir}/src",
blob - /dev/null
blob + a753ee05b125a5cf388bdbfcbfdd730a5f71dc9b (mode 644)
--- /dev/null
+++ modules/mixins/dotfiles/config/nvim/fnl/config/denote.fnl
@@ -0,0 +1,37 @@
+(fn slug [s]
+  (let [lowered (s:lower)
+        stripped (lowered:gsub "[^%w%s]" "")]
+    (stripped:gsub "%s+" "-")))
+
+(fn journal []
+  (let [dir vim.g.denote.directory
+        existing (vim.fn.glob (.. dir (os.date "%Y%m%d") :*__journal.org) false
+                              true)]
+    (if (> (length existing) 0)
+        (vim.cmd (.. "edit " (vim.fn.fnameescape (. existing 1))))
+        (let [file (.. dir (os.date "%Y%m%dT%H%M%S") "--"
+                       (slug (os.date "%A %e %B %Y %H:%M")) :__journal.org)]
+          (vim.cmd (.. "edit " (vim.fn.fnameescape file)))
+          (vim.cmd :startinsert)))))
+
+(fn config []
+  (let [dir vim.g.denote.directory
+        group (vim.api.nvim_create_augroup :Denote {:clear true})]
+    (vim.api.nvim_create_autocmd :BufNewFile
+                                 {: group
+                                  :pattern (.. dir :*.org)
+                                  :callback (fn [ev]
+                                              (let [name (vim.fn.fnamemodify ev.file
+                                                                             :t)
+                                                    title (or (name:match "%-%-([%w%-]+)__")
+                                                              :untitled)]
+                                                (vim.api.nvim_buf_set_lines ev.buf
+                                                                            0 -1
+                                                                            false
+                                                                            [(.. "* "
+                                                                                 (title:gsub "%-"
+                                                                                             " "))
+                                                                             ""])))})
+    (vim.api.nvim_create_user_command :DenoteJournal journal {})))
+
+{: config}
blob - c9d96c7a153cc647fa6b4f4b14be7155ef2cfb78
blob + 505d314252b9bd8f96e60ba96254cfe92c74591e
--- modules/mixins/dotfiles/config/nvim/fnl/init.fnl
+++ modules/mixins/dotfiles/config/nvim/fnl/init.fnl
@@ -1,38 +1,72 @@
 (vim.loader.enable)
 
 (local {: g : env : fs} vim)
-(local {:nvim_command command} vim.api)
+(local {: nvim_command : nvim_set_hl} vim.api)
 (local {: stdpath : empty : glob} vim.fn)
 (local {: format} string)
 
 (fn gh [name] (.. "https://github.com/" name))
-(fn cb [name] (.. "https://codeberg.org/" name))
 
 ;; fnlfmt: skip
 (fn setup-plugins []
   (local blink (require :config.blink))
   (local lsp (require :config.lsp))
   (local treesitter (require :config.treesitter))
+  (local denote (require :config.denote))
 
+  (set vim.g.denote {:directory (vim.fs.normalize "~/notes/")
+                     :filetype :org
+                     :prompts [:title :keywords]
+                     :integrations {:oil true :telescope false}})
+
+  (set vim.g.slime_target :neovim)
+  (set vim.g.slime_default_config {:target_pane "{last}"})
+  (set vim.g.slime_no_mappings true)
+
   (vim.pack.add
      [(gh :nvim-mini/mini.nvim)
-     (gh :miikanissi/modus-themes.nvim)
+     (gh :aymenhafeez/doric-themes.nvim)
      (gh :stevearc/oil.nvim)
      (gh :neogitorg/neogit)
      (gh :sindrets/diffview.nvim)
      (gh :ibhagwan/fzf-lua)
      (gh :troydm/zoomwintab.vim)
+     (gh :mbbill/undotree)
+     (gh :smoka7/hop.nvim)
+     (gh :cvigilv/denote.nvim)
+     (gh :nvim-orgmode/orgmode)
+     (gh :jpalardy/vim-slime)
+     (gh :gpanders/nvim-parinfer)
      (gh :L3MON4D3/LuaSnip)
      {:src (gh :neovim/nvim-lspconfig) :version :master}
      {:src (gh :saghen/blink.cmp) :version (vim.version.range "^1")}]
     {:load true})
 
+  ((. (require :hop) :setup))
+  (: denote :config)
   ((. (require :mini.comment) :setup))
   ((. (require :mini.surround) :setup))
   ((. (require :mini.pairs) :setup))
+  ((. (require :mini.align) :setup))
   ((. (require :oil) :setup) {:default_file_explorer false})
   ((. (require :neogit) :setup))
   ((. (require :fzf-lua) :setup))
+  ((. (require :orgmode) :setup)
+   {:org_agenda_files [(.. vim.g.denote.directory "agenda.org")
+                       (.. vim.g.denote.directory "todo.org")]
+    :org_default_notes_file (.. vim.g.denote.directory "todo.org")
+    :org_capture_templates
+    {:t {:description "task"
+         :target (.. vim.g.denote.directory "todo.org")
+         :headline "Inbox"
+         :template "* TODO %?\n%U\n%i"}}
+    :hyperlinks
+    {:sources [(: (require :denote.extensions.orgmode)
+                :new
+                {:files vim.g.denote.directory
+                 :config {:denote_directory vim.g.denote.directory
+                          :id_pattern "(%d%d%d%d%d%d%d%dT%d%d%d%d%d%d)"
+                          :title_pattern "%-%-([%w%-]+)"}})]}})
   ((. (require :diffview) :setup)
    {:diff_binaries false
     :enhanced_diff_hl false
@@ -45,8 +79,14 @@
   (treesitter.config)
 
   (set vim.o.background :dark)
-  ((. (require :modus-themes) :setup) {:style "modus_vivendi"})
-  (command "colorscheme modus"))
+  (nvim_command "colorscheme doric-copper")
+  (each [_ group (ipairs [:Normal :NormalNC :NormalFloat :FloatBorder :SignColumn])]
+    (nvim_set_hl 0 group {:bg :none}))
+  (each [group hl (pairs {:HopNextKey {:fg :orange :bold true :nocombine true}
+                          :HopNextKey1 {:fg :orange :bold true :nocombine true}
+                          :HopNextKey2 {:fg :yellow :bold true :nocombine true}
+                          :HopUnmatched {:fg :grey}})]
+    (nvim_set_hl 0 group hl)))
 
 (fn init []
   (let [vimrc (.. (vim.fn.stdpath :config) :/init_.vim)
blob - b092e0735d4d87c0be64818b1e313fb81b8798c5
blob + 336def0dc05a79910ea5bbef0ff434ab1c328ccc
--- modules/mixins/dotfiles/config/nvim/fnl/keymaps.fnl
+++ modules/mixins/dotfiles/config/nvim/fnl/keymaps.fnl
@@ -5,7 +5,14 @@
                         :<leader>bb :buffers})]
   (vim.keymap.set :n key (.. "<cmd>lua require('fzf-lua')." func "()<CR>")))
 
-(each [key cmd (pairs {:<leader>ng :<cmd>Neogit<CR> :- :<cmd>Oil<CR>})]
+(each [key cmd (pairs {:<leader>ng :<cmd>Neogit<CR>
+                       :- :<cmd>Oil<CR>
+                       :<leader>u :<cmd>UndotreeToggle<CR>
+                       :<leader>nn :<cmd>Denote<CR>
+                       :<leader>nj :<cmd>DenoteJournal<CR>
+                       :<leader>nb "<cmd>lua require('denote.api').backlinks()<CR>"
+                       :<leader>nt "<cmd>lua require('denote.api').rename_file_title()<CR>"
+                       :<leader>nk "<cmd>lua require('denote.api').rename_file_keywords()<CR>"})]
   (vim.keymap.set :n key cmd))
 
 (each [key func (pairs {:<leader>gg :hover
@@ -49,3 +56,10 @@
   (vim.keymap.set :n key (.. "<cmd>lua vim.diagnostic." func "()<CR>")))
 
 (vim.keymap.set :n :x "\"_x")
+
+(vim.keymap.set [:n :x :o] :f :<cmd>HopWord<CR>)
+
+(each [_ [mode key plug] (ipairs [[:x :<leader>sr :<Plug>SlimeRegionSend]
+                                  [:n :<leader>sp :<Plug>SlimeParagraphSend]
+                                  [:n :<leader>sc :<Plug>SlimeConfig]])]
+  (vim.keymap.set mode key plug {:remap true}))
blob - 435214d034ddb995208c44893d4e92531046b7a7
blob + 2c4700d008f286a5abba2b9a8598488329e023e7
--- modules/mixins/dotfiles/config/shell/profile/fzf
+++ modules/mixins/dotfiles/config/shell/profile/fzf
@@ -3,7 +3,7 @@ export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS \
   --ansi \
   --layout=reverse \
   --border=rounded \
-  --color=bg+:#5a5a5a,bg:#000000,spinner:#00d3d0,hl:#00bcff \
-  --color=fg:#ffffff,header:#79a8ff,info:#989898,pointer:#00bcff \
-  --color=marker:#00bcff,fg+:#ffffff,prompt:#00bcff,hl+:#00bcff
+  --color=bg+:#3d4543,bg:#153227,spinner:#a0c0d0,hl:#8fbae5 \
+  --color=fg:#b9d3b0,header:#63c789,info:#9ba3a2,pointer:#d3b18e \
+  --color=marker:#82cc7f,fg+:#b9d3b0,prompt:#63c789,hl+:#8fbae5
 "
blob - 94ae83d2aa25d53bb24c84a82e6b851ffb0c27bb
blob + a870fa054ccd5ee6598a3a701c37cb9bd4e9fabf
--- modules/mixins/dotfiles/home/tmux.conf
+++ modules/mixins/dotfiles/home/tmux.conf
@@ -18,25 +18,25 @@ set -g status on
 set -g status-left ''
 set -g status-right ''
 
-set-option -g status-style "fg=#ffffff,bg=#000000"
+set-option -g status-style "fg=#b9d3b0,bg=#153227"
 
-set-window-option -g window-status-style "fg=#989898,bg=#000000"
-set-window-option -g window-status-current-style "fg=#ffffff,bg=#535353"
+set-window-option -g window-status-style "fg=#9ba3a2,bg=#153227"
+set-window-option -g window-status-current-style "fg=#d3b18e,bg=#3d4543"
 
-set-option -g pane-border-style "fg=#646464"
-set-option -g pane-active-border-style "fg=#2fafff"
+set-option -g pane-border-style "fg=#596c5e"
+set-option -g pane-active-border-style "fg=#63c789"
 
-set-option -g message-style "fg=#ffffff,bg=#303030"
-set-option -g message-command-style "fg=#ffffff,bg=#303030"
+set-option -g message-style "fg=#d3b18e,bg=#303931"
+set-option -g message-command-style "fg=#d3b18e,bg=#303931"
 
-set-option -g display-panes-active-colour "#2fafff"
-set-option -g display-panes-colour "#646464"
+set-option -g display-panes-active-colour "#63c789"
+set-option -g display-panes-colour "#9ba3a2"
 
-set-window-option -g mode-style "fg=#ffffff,bg=#535353"
-set-window-option -g clock-mode-colour "#79a8ff"
+set-window-option -g mode-style "fg=#b9d3b0,bg=#0c512c"
+set-window-option -g clock-mode-colour "#63c789"
 
-set-window-option -g window-status-bell-style "fg=#000000,bg=#ff5f59"
-set-window-option -g window-status-activity-style "fg=#ffffff,bg=#000000"
+set-window-option -g window-status-bell-style "fg=#153227,bg=#e8a27f"
+set-window-option -g window-status-activity-style "fg=#b9d3b0,bg=#153227"
 
 setw -g xterm-keys on
 set -ga terminal-overrides ',xterm*:XT'