commit - 6a9532cb25a6aece0d8c9143fb689a4efd1ddbdb
commit + 2da793de0cd4883ac80a6ddb70d38e5392c2bda3
blob - aded968dacf031e0df62647f1b5e84c83dab2292
blob + 06226177a666a7135540ff0290334aa49524bad0
--- flake.lock
+++ flake.lock
]
},
"locked": {
- "lastModified": 1789482455,
- "narHash": "sha256-pD3qVlQ4mUCFoTWrYtxecpSitQMsgJvJIN0FUIDZoEU=",
+ "lastModified": 1789676441,
+ "narHash": "sha256-mOvO5VvycuBtOUe5EYI54vrLsWe+2KF/82fmwKooe48=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "efa3ccb4c3cc90d832eab232976379058fa75aa3",
+ "rev": "9d485f74cd27d17126ee34cb31005c39d20f741f",
"type": "github"
},
"original": {
},
"multiverse": {
"locked": {
- "lastModified": 1789550565,
- "narHash": "sha256-k2MB2bhperGtyySaOGVtgFJJXCN8M+5953oihn9uXEE=",
+ "lastModified": 1789596272,
+ "narHash": "sha256-77w6/8smBVoIGOMdRyq3G7RnujIS7h5B4wMGVhTIKf0=",
"owner": "fzakaria",
"repo": "nixpkgs-multiverse",
- "rev": "0d3bc8d9439238540dabb9f67e179219b674abe9",
+ "rev": "b780524b47fbe8b9ae8605a761a8fe9ad1a8e48b",
"type": "github"
},
"original": {
blob - 93f1fe16233771254bdd27f37af0095498b1c737
blob + d7342606a4bcfb08d516f6cf9526140334954461
--- home.nix
+++ home.nix
multiverse = {
enable = true;
config.allowUnfree = true;
- pins = {
- ripgrep = "13.0.0";
- };
+ pins = {};
};
home = {
inherit username homeDirectory;
blob - 33b6f677ddf20a02f082ae5f2ff794d4da856d75
blob + 15a61f61e7aab80997730b2704c127fe08cd7620
--- hosts/impish/default.nix
+++ hosts/impish/default.nix
gitu
mergiraf
git-toolbelt
+ git-filter-repo
];
net = [
];
debug = [
- gdb
strace
perf
hyperfine
emscripten
astroterm
odin
- nim
- nimble
];
}));
};
blob - cd49b6e10f45035807ccf3c58695c0a331ee732a
blob + 0f07e4a8e0da63aee20bce73eada9bafe40c66bb
Binary files hosts/impish/overlays/config/magdalena/config.json.nix and hosts/impish/overlays/config/magdalena/config.json.nix differ
blob - 4458ed88dbde755d3f65957b32b9d1cde728de5e
blob + 9db63d1f869d6e2e5027afa8ed0b3ff167f4bb1e
Binary files hosts/impish/overlays/config/shell/rc/imp and hosts/impish/overlays/config/shell/rc/imp differ
blob - 5dc4485ee2928adba081e3650a8c7ae97330d590
blob + eeb95fe336d414d6317d4eb0fc25b5657cf125e8
Binary files hosts/work/overlays/config/nvim/fnl/init.fnl and hosts/work/overlays/config/nvim/fnl/init.fnl differ
blob - 4541c33a70b241a12c553ec26540ff5d0ede69ff
blob + b4f179c843000e54bc78805568b6ba3766d0d706
Binary files hosts/work/overlays/home/tmux.conf and hosts/work/overlays/home/tmux.conf differ
blob - da849bb02a68908b6c9fdf45a713a9e048e671f7
blob + 85623ff0537b7d1c2ad4651923352065d85f82cb
--- modules/mixins/dotfiles/config/kitty/kitty.conf
+++ modules/mixins/dotfiles/config/kitty/kitty.conf
-include themes/base16-grayscale-dark.conf
+include themes/base16-mono-a-bit-dark.conf
font_family Ioskeley Mono Term
bold_font Ioskeley Mono Term
blob - 09f26f67495ae603442c8a9ffbd6d0816257a68d (mode 644)
blob + /dev/null
--- modules/mixins/dotfiles/config/kitty/themes/base16-grayscale-dark.conf
+++ /dev/null
-foreground #b9b9b9
-background #101010
-
-color0 #101010
-color1 #7c7c7c
-color2 #8e8e8e
-color3 #a0a0a0
-color4 #686868
-color5 #747474
-color6 #868686
-color7 #b9b9b9
-
-color8 #525252
-color9 #7c7c7c
-color10 #8e8e8e
-color11 #a0a0a0
-color12 #686868
-color13 #747474
-color14 #868686
-color15 #f7f7f7
-
-cursor #b9b9b9
-cursor_text_color #101010
-selection_foreground #101010
-selection_background #b9b9b9
blob - /dev/null
blob + 09f26f67495ae603442c8a9ffbd6d0816257a68d (mode 644)
--- /dev/null
+++ modules/mixins/dotfiles/config/kitty/themes/base16-mono-a-bit-dark.conf
+foreground #b9b9b9
+background #101010
+
+color0 #101010
+color1 #7c7c7c
+color2 #8e8e8e
+color3 #a0a0a0
+color4 #686868
+color5 #747474
+color6 #868686
+color7 #b9b9b9
+
+color8 #525252
+color9 #7c7c7c
+color10 #8e8e8e
+color11 #a0a0a0
+color12 #686868
+color13 #747474
+color14 #868686
+color15 #f7f7f7
+
+cursor #b9b9b9
+cursor_text_color #101010
+selection_foreground #101010
+selection_background #b9b9b9
blob - 1c0c36295391d53d53f269f7236ad97bd49cc2f4
blob + 4eb06b60bf55e6cdcd615f3d1ff2dd61f96991f8
--- modules/mixins/dotfiles/config/nvim/fnl/init.fnl
+++ modules/mixins/dotfiles/config/nvim/fnl/init.fnl
(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)
((. (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")]
(set vim.opt.undodir (.. vim-dir :undo//))
(set vim.opt.undofile true))
(set vim.opt.clipboard :unnamedplus)
+ (set vim.o.grepprg
+ "ugrep --recursive --line-number --column-number --smart-case --ignore-binary --color=never --no-messages -- $*")
+ (set vim.o.grepformat "%f:%l:%c:%m,%f:%l:%m")
(vim.opt.rtp:append (.. (vim.fn.stdpath :data) :/nix/tree-sitter))
(set package.path (.. (fs.normalize "~") "/.config/nvim/lua/?.lua;"
package.path))
blob - 336def0dc05a79910ea5bbef0ff434ab1c328ccc
blob + 7faedc8d77c7d251b7e17529ab8b4f67c2097238
--- modules/mixins/dotfiles/config/nvim/fnl/keymaps.fnl
+++ modules/mixins/dotfiles/config/nvim/fnl/keymaps.fnl
-(each [key func (pairs {:<leader><leader> :files
- :<leader>ff :git_status
- :<leader>fh :oldfiles
- :<leader>fg :grep_project
- :<leader>bb :buffers})]
- (vim.keymap.set :n key (.. "<cmd>lua require('fzf-lua')." func "()<CR>")))
+(local mag (require :magdalena))
+(vim.keymap.set :n :<leader><leader> mag.files)
+(vim.keymap.set :n :<leader>fh mag.recent-files)
+(vim.keymap.set :n :<leader>fs mag.search)
+(vim.keymap.set :n :<leader>fg mag.grep)
+(vim.keymap.set :n :<leader>fG mag.grep-query)
+(vim.keymap.set :n :<leader>fd mag.dirs)
+(vim.keymap.set :n :<leader>bb mag.buffers)
+(vim.keymap.set :n :<leader>ff mag.git)
+
(each [key cmd (pairs {:<leader>ng :<cmd>Neogit<CR>
:- :<cmd>Oil<CR>
:<leader>u :<cmd>UndotreeToggle<CR>
blob - /dev/null
blob + 1f76683e32a7d67c0f251bba49228ca5b38fec1f (mode 644)
--- /dev/null
+++ modules/mixins/dotfiles/config/nvim/fnl/magdalena.fnl
+(local M {})
+
+(fn has-bin? [bin]
+ (= (vim.fn.executable bin) 1))
+
+(fn warn-once [msg]
+ (vim.notify msg vim.log.levels.WARN))
+
+(fn argv-for [full stdin-file]
+ (if stdin-file
+ (let [escaped (icollect [_ p (ipairs full)]
+ (vim.fn.shellescape p))]
+ [:sh
+ :-c
+ (.. (table.concat escaped " ") " < " (vim.fn.shellescape stdin-file))])
+ full))
+
+(fn float-term [cmd on-choice stdin-file]
+ (let [tmp (vim.fn.tempname)
+ full [:magdalena :--choose-file tmp]]
+ (each [_ a (ipairs cmd)]
+ (table.insert full a))
+ (let [argv (argv-for full stdin-file)
+ width (math.floor (* vim.o.columns 0.85))
+ height (math.floor (* vim.o.lines 0.8))
+ row (math.floor (/ (- vim.o.lines height) 2))
+ col (math.floor (/ (- vim.o.columns width) 2))
+ buf (vim.api.nvim_create_buf false true)
+ win (vim.api.nvim_open_win buf true
+ {:relative :editor
+ : width
+ : height
+ : row
+ : col
+ :style :minimal
+ :border :rounded})]
+ (vim.fn.jobstart argv
+ {:term true
+ :cwd (vim.fn.getcwd)
+ :on_exit (fn [_ code]
+ (vim.schedule (fn []
+ (let [lines (if (= (vim.fn.filereadable tmp)
+ 1)
+ (vim.fn.readfile tmp)
+ [])]
+ (pcall vim.fn.delete tmp)
+ (when (vim.api.nvim_win_is_valid win)
+ (vim.api.nvim_win_close win
+ true))
+ (when (and (= code 0)
+ (> (length lines)
+ 0))
+ (on-choice (. lines 1)))))))}))
+ (vim.cmd :startinsert)))
+
+(fn pick [args on-choice]
+ (if (not (has-bin? :magdalena))
+ (warn-once "magdalena: binary not on PATH")
+ (float-term args on-choice)))
+
+(fn edit-path [path]
+ (when (and path (not= path ""))
+ (vim.cmd (.. "edit " (vim.fn.fnameescape path)))))
+
+(fn open-grep-choice [choice]
+ (let [(file line) (choice:match "^(.-):(%d+)")]
+ (if file
+ (do
+ (edit-path file)
+ (when line
+ (vim.api.nvim_win_set_cursor 0 [(tonumber line) 0])))
+ (edit-path choice))))
+
+(fn M.files []
+ (pick [:look-file] edit-path))
+
+(fn M.recent-files []
+ (pick [:goto-file] edit-path))
+
+(fn M.dirs []
+ (pick [:look-directory]
+ (fn [dir]
+ (vim.cmd (.. "Oil " (vim.fn.fnameescape dir))))))
+
+(fn M.grep []
+ (pick [:grep] open-grep-choice))
+
+(fn M.grep-query []
+ (let [query (vim.fn.input "grep> ")]
+ (when (not= query "")
+ (pick [:grep query] open-grep-choice))))
+
+(fn M.git []
+ (pick [:git-status] edit-path))
+
+(fn M.buffers []
+ (if (not (has-bin? :magdalena))
+ (warn-once "magdalena: binary not on PATH")
+ (let [names (icollect [_ b (ipairs (vim.api.nvim_list_bufs))]
+ (let [name (vim.api.nvim_buf_get_name b)]
+ (when (and (vim.api.nvim_buf_is_loaded b) (not= name "")
+ (= (vim.fn.buflisted b) 1))
+ name)))]
+ (if (= (length names) 0)
+ (warn-once "magdalena: no open buffers")
+ (let [input (vim.fn.tempname)]
+ (vim.fn.writefile names input)
+ (float-term [:select]
+ (fn [choice]
+ (pcall vim.fn.delete input)
+ (edit-path choice)) input))))))
+
+(fn M.search []
+ (if (not (has-bin? :magdalena))
+ (warn-once "magdalena: binary not on PATH")
+ (let [query (vim.fn.input "history> ")]
+ (when (not= query "")
+ (let [out (vim.fn.systemlist (.. "magdalena search "
+ (vim.fn.shellescape query)))
+ items (icollect [_ line (ipairs out)]
+ (let [idx (line:match ".*()|")]
+ (when (not= line "")
+ (if idx
+ (line:sub (+ idx 1))
+ line))))]
+ (if (= (length items) 0)
+ (warn-once (.. "magdalena: no history for " query))
+ (vim.ui.select items {:prompt "history> "} edit-path)))))))
+
+M
blob - dfd5f052545ae685b28f93ea05fe6c54a3bd6ff3
blob + 06d34b45b63e8536ae23771929cfdef034130554
--- modules/mixins/dotfiles/config/shell/rc/aliased-short-names
+++ modules/mixins/dotfiles/config/shell/rc/aliased-short-names
alias tms="tmux display-message -p '#{session_name}'"
alias mgr='magdalena grep'
+alias mgs='magdalena git-status'
alias mrf='magdalena recent-files'
alias mrd='magdalena recent-directories'
blob - 10de100840bfc91bafbf237970851d0ae73592a7
blob + 48d6a5525697a5889b6c8d9cbfcc1d345aa64f38
--- modules/mixins/dotfiles/home/tmux.conf
+++ modules/mixins/dotfiles/home/tmux.conf
set -g base-index 1
setw -g pane-base-index 1
-set -g extended-keys on
+set -g extended-keys always
set -g extended-keys-format csi-u
set-option -g update-environment "WAYLAND_DISPLAY DISPLAY"
set-window-option -g window-status-current-style "fg=#101010,bg=#999999"
set-option -g pane-border-style "fg=#353535"
-set-option -g pane-active-border-style "fg=#999999"
+set-option -g pane-active-border-style "fg=#f5f5f5,bg=default,bold"
+set-option -g pane-border-lines single
+set-window-option -g window-style "fg=#757575,bg=#0a0a0a"
+set-window-option -g window-active-style "fg=#e8e8e8,bg=default"
+
set-option -g message-style "fg=#999999,bg=#222222"
set-option -g message-command-style "fg=#999999,bg=#222222"
-set-option -g display-panes-active-colour "#999999"
-set-option -g display-panes-colour "#747474"
+set-option -g display-panes-active-colour "#ffffff"
+set-option -g display-panes-colour "#4a4a4a"
set-window-option -g mode-style "fg=#999999,bg=#222222"
set-window-option -g clock-mode-colour "#747474"