Compare commits

...

142 Commits

Author SHA1 Message Date
ae19ffc0d4
refactor(nvim): decrease blink-ripgrep score offset
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-27 12:42:50 -06:00
d8024f6e2d
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-27 12:42:03 -06:00
5e48843bba
feat(nvim): add custom buffer kind to blink.cmp
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-12-26 23:14:27 -06:00
d5caed38ce
feat(nvim): add orgmode completion in blink.cmp
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-12-26 23:10:50 -06:00
91d70ade01
feat(nvim): add custom kind for blink commandline 2024-12-26 23:08:02 -06:00
2ed3dc3085
feat(nvim): integrate custom kind highlights into blink.cmp
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-12-26 16:14:53 -06:00
67a833913d
refactor(nvim): remove unnecessary rustaceanvim custom config 2024-12-26 16:14:16 -06:00
5d1d8aeaa6
refactor(nvim): replace Telescope old_files w/ Telescope smart_open
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-26 16:13:51 -06:00
82378445b0
feat(hm/price): integrate sccache with rust build
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-12-22 23:00:14 -06:00
09cf72df32
feat(host/orion): enable services.memcached 2024-12-22 22:59:55 -06:00
37e945a552
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-22 18:09:19 -06:00
7f8081ff24
build(nix): update flake.lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-12-22 18:09:09 -06:00
09acbb87c8
refactor(nvim): improve padding of blink cmp menu
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-22 18:05:35 -06:00
8d7bd2821a
fix(nvim): only show latex completions when hitting \ in blink 2024-12-22 18:05:12 -06:00
93b6ecdd50
refactor(nvim): improve blink appearance
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-22 17:41:17 -06:00
29cd1e771b
refactor(hm/price): remove nixpkgs config
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-12-22 17:40:53 -06:00
7ca043bf5f
fix(nvim): properly get markview state for toggling 2024-12-22 17:40:53 -06:00
4403c8c140
fix(nvim): make blink.cmp correctly complete command line 2024-12-22 17:40:53 -06:00
8f354c69ea
refactor(hypr): reimport user environment vars on every reload
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-12-22 14:37:43 -06:00
5d710fda97
refactor(hypr): do not exec swaylock on start
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 36s
2024-12-22 14:22:53 -06:00
dc52352e78
refactor(nvim): improve blink ripgrep integration 2024-12-20 00:58:22 -06:00
a8a2dc60bc
refactor(nvim): remove hurl.nvim 2024-12-20 00:58:00 -06:00
65aa3acf16
feat(hosts/orion): integrate home manager with NixOS config
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-12-18 00:37:02 -06:00
39cee21df1
refactor(nvim): improve ripgrep integration in blink
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 40s
2024-12-17 22:25:26 -06:00
a09deea6bf
refactor(nvim): use default lsp log level
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 36s
2024-12-15 23:29:40 -06:00
cbbbac67b0
feat(nvim): initial migration to blink.cmp 2024-12-15 23:29:40 -06:00
31cc10fe03
refactor(hm/price): improve rust performance
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 43s
2024-12-13 22:42:15 -06:00
eecf89d736
refactor(hosts/orion): add price to systemd-journal group 2024-12-13 22:41:58 -06:00
bcd4398321
refactor(nvim): be more explicit with quick close buffer bind 2024-12-13 22:41:41 -06:00
4f6d5d49e8
refactor(nvim): remove unused options from rustaceanvim 2024-12-13 22:41:26 -06:00
c540d91464
refactor(nvim): improve lsp log format
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 47s
2024-12-13 22:40:34 -06:00
a06491ea40
refactor(nvim): remove cmp-cmdline-history
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-12-08 03:21:22 -06:00
6ecd914a18
refactor(nvim): support new setup config for nvim-various-textobjs
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 36s
2024-12-07 01:07:03 -06:00
7369d1bc61
refactor(hm/price): improve handling of fonts
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 36s
2024-12-07 00:35:02 -06:00
5befa8a7b0
fix(hosts/orion): use default nix version
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
Problem: Latest versions of `nix` seem to segfault on flake updates
Solution: Use a known stable version of `nix`
2024-12-06 23:56:58 -06:00
42ed0c978b
feat(hm/price): install spotify
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 39s
2024-12-06 23:52:25 -06:00
160be0e25e
refactor(nvim): improve lazy loading for visual-whitespace
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-12-03 11:16:28 -06:00
6d2eb95039
refactor(nvim): remove spell & wrap indications in winbar 2024-12-03 11:16:06 -06:00
aa6e7447a0
feat(kitty): enable cursor animations
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-12-01 22:16:43 -06:00
707d5c65bc
chore(nvim): update lazy lock 2024-12-01 22:16:30 -06:00
eb404d2884
chore(nvim): add word to spellfile
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-12-01 22:16:21 -06:00
0a981f63d8
refactor(nvim): update sqlite.lua plugin source
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-12-01 22:16:03 -06:00
7355c4fbea
fix(hm/price): ensure neovim gets current env vars
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-12-01 22:15:38 -06:00
43aa64e281
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-11-26 22:41:46 -06:00
e82cafa7f5
refactor(hm/price): do not set LD_LIBRARY_PATH
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-26 22:41:29 -06:00
900e6763aa
refactor(nvim): make telescope respect winblend 2024-11-26 22:41:13 -06:00
96dedca052
refactor(nvim): make grug-far use ,, 2024-11-26 22:40:29 -06:00
ee6b7844a7
chore(nvim): add 'endian' to spellfile 2024-11-26 22:39:23 -06:00
a460be461d
refactor(nvim/neovide): improve neovide shadowing/blurring
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-11-26 22:39:01 -06:00
2b5e3e20e3
refactor(nvim): remove unneeded hl ts queries for org
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-11-24 17:31:18 -06:00
374b01bfc6
refactor(hosts/orion): use nix-ld defaults for libraries
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 39s
2024-11-21 13:49:29 -06:00
b18e27fa36
refactor(cmp): reduce item counts for buffer & ripgrep completions
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-20 13:06:44 -06:00
baf22ac8c8
refactor(nvim): decrease pumheight to 10
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-20 13:05:05 -06:00
eb5c348e4a
refactor(nvim): improve hls for cmp items
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-20 13:04:55 -06:00
2f70f5ac83
refactor(nvim): improve sorting of cmp comparators
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-20 13:04:06 -06:00
201624c51a
perf(nvim): improve startup speed of neovim when treesitter fold missing
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 41s
2024-11-20 12:07:09 -06:00
6d207e98c7
refactor(nvim): remove backup opt
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 39s
2024-11-20 11:34:40 -06:00
0792690518
fix(nvim): update live command to use v2 setup 2024-11-20 11:34:12 -06:00
3e48185577
chore(nvim): add more words to spellfile 2024-11-20 11:33:59 -06:00
645ad29b7c
refactor(nvim): make spell toggle keybind on ss
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 39s
2024-11-18 21:50:23 -06:00
6ca917b7c5
fix(nvim): correctly set border for snacks notif history 2024-11-18 21:49:56 -06:00
0912f8f656
fix(nvim): ensure clocked in task for heirline refreshes headline
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-11-17 14:32:23 -06:00
0e4e094ad1
refactor(nvim): improve appearance of neotest summary
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 39s
2024-11-14 12:21:09 -06:00
14a67ac37b
refactor(nvim): improve overeer's binds
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 40s
2024-11-14 11:17:36 -06:00
f361d5d638
refactor(nvim): add a hacky bwdelete function wrapping snacks bdelete 2024-11-14 11:17:25 -06:00
7f028d5cf9
refactor(nvim): improve neotest bindings 2024-11-14 11:16:51 -06:00
1570c3f223
fix(nvim): ensure alpha plugin updates get correct highlight on update
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-11-13 08:58:17 -06:00
4c6234419e
feat(nvim): add key to toggle org indent mode 2024-11-13 03:24:34 -06:00
d7fd11906f
feat(nvim): enable repeat_linebreak for indent blankline 2024-11-13 03:24:16 -06:00
2d1e677157
refactor(nvim): disable show break 2024-11-13 03:24:08 -06:00
d5087774c2
feat(nvim): install grug-far.nvim
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-13 00:59:45 -06:00
cace006465
refactor(nvim): give neotest a dedicated leader key
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-13 00:59:24 -06:00
811169f9c9
refactor(hm/price): remove xwaylandvideobridge
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-13 00:23:23 -06:00
75ba42519c
feat(nvim): add keybind to toggle markview in markdown files
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-13 00:22:41 -06:00
83b2a10daa
refactor(nvim): make symbol usage text standout better
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-12 01:23:37 -06:00
4e7d8cd536
refactor(hm/price): use hyprpolkitagent instead of gnome polkit agent
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-12 00:57:21 -06:00
2e69205abc
refactor(hosts): remove /etc/nixos from persistence
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-11-11 23:14:19 -06:00
88d64a5f73
refactor(hosts/luna): update system.stateVersion 24.05 -> 24.11
This required a manual migration of postgresql from version 15 to 16
2024-11-11 23:13:24 -06:00
f7bc9f393b
refactor(nvim): improve snacks notifier appearance 2024-11-11 20:12:21 -06:00
fe757ad6b1
fix(hosts/luna): do not define networking.fqdn
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 47s
`networking.fqdn` is readonly.
2024-11-11 15:12:14 -06:00
3fb82ca44e
refactor(nvim): replace bufdelete.nvim with snacks.nvim bufdelete
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-11 15:11:40 -06:00
420147c5ca
refactor(nix/hypr): use hyprland from upstream
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 47s
2024-11-10 16:08:53 -06:00
c671f70423
fix(nvim): handle rust analyzer cancellation issues
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-11-08 00:55:37 -06:00
d54cd8782c
refactor(nvim): improve rust analyzer settings 2024-11-08 00:55:25 -06:00
62f92944dc
feat(nvim): install snacks.nvim
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-08 00:54:59 -06:00
cddedfdfbb
refactor(nvim): change header logo for dashboard (alpha)
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-11-07 16:25:08 -06:00
e8384118a8
refactor(nvim): use width of list pat for breakindentopt
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-11-07 15:19:22 -06:00
7f34bb6dc7
feat(nvim): enable showbreak
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 32s
2024-11-07 15:18:20 -06:00
11ad7c3991
refactor(nix/lib): rewrite recurseDir to leverage pipe operators
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 32s
2024-11-06 17:35:42 -06:00
b975022f17
refactor(nvim): improve visibility of rainbow delims
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-11-06 17:23:53 -06:00
f4024113ad
feat(nix): enable experimental pipe-operators
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-11-06 16:09:52 -06:00
db641bb6b5
build(nix): update flake.lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 32s
2024-11-06 15:56:47 -06:00
1b728560f0
chore(nvim): update lazy lock 2024-11-06 15:56:47 -06:00
0bc693241a
chore: update .envrc nix direnv 2024-11-06 15:56:47 -06:00
fc77e1046a
feat(hosts/orion): use overlays 2024-11-06 15:56:46 -06:00
b613ff478b
feat(hosts/orion): enable qemuGuest 2024-11-06 15:56:46 -06:00
994d39c564
feat(hm/price): install bun for nvim plugins 2024-11-06 15:56:46 -06:00
895b7caaaf
chore(vesktop): update 2024-11-06 15:56:46 -06:00
ef7fc52937
refactor(nvim): make imgclip store relative to cur file 2024-11-06 15:52:29 -06:00
2e3d8e1a85
refactor(hosts/orion): improve libvirtd config 2024-11-06 15:52:13 -06:00
11c4cbd722
refactor(nvim): replace markdown-preview.nvim with github-preview.nvim 2024-11-06 15:52:13 -06:00
40356fcebd
refactor(nvim): migrate markview into markdown plugin file 2024-11-06 15:51:10 -06:00
012caa5c90
refactor(waybar): improve wifi formatting of icons
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-11-03 22:38:36 -06:00
692912782d
fix(nvim): correctly disable headlines.nvim in markdown files 2024-11-03 22:38:26 -06:00
530351d083
refactor(nvim): replace typst lsp with tinymist 2024-11-03 22:38:14 -06:00
88d4b13f91
refactor(nvim): more aggressively shorten fname in winbar 2024-11-03 22:37:59 -06:00
331d5cae6d
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 33s
2024-11-01 15:17:16 -05:00
1fe15bca3b
build(nix): update flake.lock 2024-11-01 15:15:45 -05:00
0474f5d527
refactor(nix): do not override nixpkgs for impermanence input
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-11-01 15:15:09 -05:00
3f8a92ddc8
fix(nvim): use fork for hydra until nightly support hits
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-10-31 13:37:10 -05:00
720ea2d89f
refactor(nix): improve neovim nightly handling
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 40s
2024-10-31 13:12:01 -05:00
854d57e006
fix(hosts/orion): include cache.nixos.org key
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 36s
2024-10-30 15:09:23 -05:00
05b355c8b9
chore(vesktop): update
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-30 15:08:56 -05:00
d98986006b
feat(nvim): add wrap & spell status in winbar
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 41s
2024-10-30 00:10:48 -05:00
2769e54b4e
feat(nvim): add keybind to toggle wrap 2024-10-30 00:10:40 -05:00
f77814bfd1
feat(nvim): install markview.nvim 2024-10-30 00:10:28 -05:00
104afbaf63
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-10-28 16:20:36 -05:00
10dd9d65b6
refactor(hosts/orion)!: bump stateversion
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-28 16:20:00 -05:00
06f2309e9f
feat(hosts/orion): use cachix substituters
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 38s
2024-10-28 16:13:34 -05:00
d839ea4993
refactor(nvim): do not change cursor pos on buf del in telescope 2024-10-28 16:13:18 -05:00
89925ecbcb
feat(hm/price): use rust nightly
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-28 16:13:09 -05:00
1eae026059
build(nix): update flake.lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-10-27 18:23:59 -05:00
e0bba1c327
chore(nvim): add more words to spellfile 2024-10-27 18:14:14 -05:00
6baa1dfa13
chore(nvim): update lazy lock 2024-10-27 18:14:08 -05:00
0d1af36cd1
fix(wezterm): update font family names 2024-10-27 18:12:10 -05:00
82615d124d
fix(waybar): choose correct font family 2024-10-27 18:11:59 -05:00
9c6714e49a
feat(hm/price): install asmfmt 2024-10-27 18:11:47 -05:00
cd150e1dbf
feat(nvim): register epub for external xdg-open 2024-10-27 18:11:36 -05:00
b500cc8400
feat(hosts/orion): enable bluetooth on boot 2024-10-27 18:11:23 -05:00
b2d92e001e
refactor(hm/price): overhaul font config 2024-10-27 18:10:58 -05:00
4573951a45
feat(hosts/orion): enable default font packages 2024-10-27 18:09:32 -05:00
44272ee8f2
refactor(zathura): set page-padding to 10
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 37s
2024-10-27 13:57:38 -05:00
08c12df043
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-10-21 15:48:53 -05:00
d2571db980
chore(vesktop): update settings 2024-10-21 15:48:45 -05:00
5cff3c434e
fix(nvim): do not notify lsp client attach is name empty
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-21 15:48:21 -05:00
7c0415b911
fix(nvim): make statusline respond to Lsp Events 2024-10-21 15:48:14 -05:00
8988caf18f
feat(nvim): add direnv.nvim 2024-10-21 15:48:13 -05:00
1ebe3e50b4
build(nix): update flake.lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 35s
2024-10-20 22:13:36 -05:00
0697e45854
chore(nvim): update lazy lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-20 22:13:27 -05:00
1b3926bf91
refactor(zathura): improve visibility in recolored text
Some checks failed
Check Formatting of Files / Check-Formatting (push) Has been cancelled
2024-10-20 22:13:02 -05:00
ec4f4caf17
build(nix): update flake.lock
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 34s
2024-10-19 23:37:23 -05:00
88f61f437b
chore: update secrets
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 56s
2024-10-19 23:32:14 -05:00
76 changed files with 1888 additions and 1245 deletions

4
.envrc
View File

@ -1,6 +1,6 @@
# vim: ft=bash # vim: ft=bash
if ! has nix_direnv_version || ! nix_direnv_version 2.5.1; then if ! has nix_direnv_version || ! nix_direnv_version 3.0.6; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.5.1/direnvrc" "sha256-puRzug17Ed4JFS2wbpqa3k764QV6xPP6O3A/ez/JpOM=" source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.6/direnvrc" "sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM="
fi fi
use flake use flake

File diff suppressed because it is too large Load Diff

View File

@ -6,27 +6,25 @@
deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.url = "github:serokell/deploy-rs";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs"; nixpkgs-master.url = "github:nixos/nixpkgs";
flake-utils.url = "github:numtide/flake-utils"; fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = { lanzaboote = {
url = "github:nix-community/lanzaboote"; url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
bob = {
flake = false;
url = "github:MordechaiHadad/bob";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland";
wezterm.url = "github:wez/wezterm?dir=nix"; wezterm.url = "github:wez/wezterm?dir=nix";
agenix = { agenix = {
url = "github:yaxitech/ragenix"; url = "github:yaxitech/ragenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
impermanence = { impermanence.url = "github:nix-community/impermanence";
url = "github:nix-community/impermanence";
};
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -38,7 +36,17 @@
emacs-overlay = { emacs-overlay = {
url = "github:nix-community/emacs-overlay"; url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils"; };
neovim-src = {
url = "github:neovim/neovim";
flake = false;
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs = {
neovim-src.follows = "neovim-src";
nixpkgs.follows = "nixpkgs";
};
}; };
secrets = { secrets = {
url = "git+file:secrets?submodules=1"; url = "git+file:secrets?submodules=1";
@ -73,39 +81,10 @@
} }
) )
); );
mkHomeCfg =
user: home-config:
let
username = "${builtins.head (builtins.match "(.+)(@.+)?" user)}";
in
inputs.home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {
clib = (import ./lib { lib = nixpkgs.lib; });
inherit inputs;
};
modules = [
{
imports = [ inputs.agenix.homeManagerModules.default ];
nixpkgs.overlays = [
inputs.emacs-overlay.overlays.default
self.overlays.modifications
self.overlays.additions
];
home = {
stateVersion = "24.05";
username = "${username}";
homeDirectory = "/home/${username}";
};
}
home-config
];
};
in in
{ {
formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
packages = forAllSystems (pkgs: import ./pkgs pkgs); packages = forAllSystems (pkgs: import ./pkgs pkgs);
homeConfigurations = builtins.mapAttrs mkHomeCfg { "price" = ./users/price/home.nix; };
overlays = import ./overlays { inherit inputs; }; overlays = import ./overlays { inherit inputs; };
devShells = forAllSystems (pkgs: { devShells = forAllSystems (pkgs: {
default = pkgs.mkShell { default = pkgs.mkShell {
@ -138,23 +117,6 @@
''; '';
}); });
apps = forAllSystems (pkgs: { apps = forAllSystems (pkgs: {
home-manager-init = {
type = "app";
program = "${
pkgs.writeShellApplication {
name = "home-manager-init";
runtimeInputs = with pkgs; [
git
nix
];
text = ''
#!${pkgs.bash}/bin/bash
cd "$(git rev-parse --show-toplevel)"
nix run --extra-experimental-features 'nix-command flakes' github:nix-community/home-manager -- switch --extra-experimental-features 'nix-command flakes' --flake "git+file://$(pwd)?submodules=1" "$@"
'';
}
}/bin/home-manager-init";
};
install-host = { install-host = {
type = "app"; type = "app";
program = "${ program = "${
@ -200,10 +162,33 @@
}; };
modules = [ modules = [
./modules/btrfs-rollback.nix ./modules/btrfs-rollback.nix
inputs.home-manager.nixosModules.home-manager
{
home-manager = {
extraSpecialArgs = {
clib = (import ./lib { lib = nixpkgs.lib; });
inherit inputs;
};
useGlobalPkgs = true;
useUserPackages = true;
users.price = import ./users/price/home.nix;
};
}
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
inputs.impermanence.nixosModules.impermanence inputs.impermanence.nixosModules.impermanence
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
{
config = {
nixpkgs.overlays = [
inputs.emacs-overlay.overlays.default
inputs.neovim-nightly-overlay.overlays.default
inputs.fenix.overlays.default
self.overlays.modifications
self.overlays.additions
];
};
}
{ {
config = config =
(import "${inputs.secrets}" { (import "${inputs.secrets}" {

View File

@ -6,5 +6,5 @@
./modules ./modules
] ".nix" ] ".nix"
); );
system.stateVersion = "24.05"; system.stateVersion = "24.11";
} }

View File

@ -1,4 +1,4 @@
{ hostname, config, ... }: { hostname, ... }:
{ {
services.resolved = { services.resolved = {
@ -10,7 +10,6 @@
networking = { networking = {
hostName = hostname; hostName = hostname;
domain = "price-hiller.com"; domain = "price-hiller.com";
fqdn = "${config.networking.hostname}.hosts.${config.networking.domain}";
nameservers = [ nameservers = [
"194.242.2.2#dns.mullvad.net" "194.242.2.2#dns.mullvad.net"
"2a07:e340::2#dns.mullvad.net" "2a07:e340::2#dns.mullvad.net"

View File

@ -3,6 +3,7 @@
nix = { nix = {
settings = { settings = {
experimental-features = [ experimental-features = [
"pipe-operators"
"nix-command" "nix-command"
"flakes" "flakes"
]; ];

View File

@ -31,6 +31,7 @@ let
]; ];
# allow using the new flake commands in our workflows # allow using the new flake commands in our workflows
experimental-features = [ experimental-features = [
"pipe-operators"
"nix-command" "nix-command"
"flakes" "flakes"
]; ];

View File

@ -1,14 +1,17 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let
pg_dataDir_base = "/var/lib/postgresql";
in
{ {
services.postgresqlBackup = { services.postgresqlBackup = {
enable = true;
location = "/var/backup/postgresql"; location = "/var/backup/postgresql";
backupAll = true; backupAll = true;
}; };
services.postgresql = { services.postgresql = {
enable = true; enable = true;
# Explicitly setting the data dir so upgrades (changing version from 15 -> 16) don't end up dataDir = "${pg_dataDir_base}/${config.services.postgresql.package.psqlSchema}";
# getting lost on system reboots
dataDir = "/var/lib/postgresql";
settings = { settings = {
log_connections = true; log_connections = true;
log_disconnections = true; log_disconnections = true;
@ -27,7 +30,7 @@
environment.persistence.save.directories = [ environment.persistence.save.directories = [
{ {
directory = config.services.postgresql.dataDir; directory = "${pg_dataDir_base}";
user = "postgres"; user = "postgres";
group = "postgres"; group = "postgres";
} }

View File

@ -14,7 +14,6 @@ in
hideMounts = true; hideMounts = true;
directories = [ directories = [
"/var/lib" "/var/lib"
"/etc/nixos"
]; ];
}; };
services = { services = {

View File

@ -6,7 +6,7 @@
./modules ./modules
] ".nix" ] ".nix"
); );
system.stateVersion = "24.05"; system.stateVersion = "24.11";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
vim vim

View File

@ -1,12 +1,13 @@
{ {
inputs,
lib,
pkgs, pkgs,
... ...
}: }:
{ {
hardware.bluetooth.enable = true; hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
services.blueman.enable = true; services.blueman.enable = true;
environment.systemPackages = with pkgs; [ bluez ]; environment.systemPackages = with pkgs; [ bluez ];

View File

@ -0,0 +1,4 @@
{ ... }:
{
fonts.enableDefaultPackages = true;
}

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: { inputs, pkgs, ... }:
{ {
# Allow Chromium & Electron apps run natively in wayland # Allow Chromium & Electron apps run natively in wayland
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
@ -16,12 +16,13 @@
}; };
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
xwayland.enable = true; # set the flake package
}; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
xdg = { # make sure to also set the portal package, so that they are in sync
autostart.enable = true; portalPackage =
portal.enable = true; inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; };
xdg.autostart.enable = true;
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
@ -30,5 +31,6 @@
libvdpau libvdpau
]; ];
}; };
services.qemuGuest.enable = true;
services.spice-vdagentd.enable = true; services.spice-vdagentd.enable = true;
} }

View File

@ -1,18 +1,26 @@
{ inputs, pkgs, ... }: { inputs, ... }:
{ {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix = { nix = {
package = pkgs.nixVersions.latest;
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
settings = { settings = {
experimental-features = [ experimental-features = [
"pipe-operators"
"nix-command" "nix-command"
"flakes" "flakes"
]; ];
auto-optimise-store = true; auto-optimise-store = true;
use-xdg-base-directories = true; use-xdg-base-directories = true;
trusted-users = [ "@wheel" ]; trusted-users = [ "@wheel" ];
substituters = [
"https://nix-community.cachix.org"
"https://cache.nixos.org"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
];
}; };
gc = { gc = {
automatic = true; automatic = true;

View File

@ -8,12 +8,7 @@
enableGlobalCompInit = false; enableGlobalCompInit = false;
enableBashCompletion = true; enableBashCompletion = true;
}; };
nix-ld = { nix-ld.enable = true;
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
];
};
wireshark = { wireshark = {
enable = true; enable = true;
package = pkgs.wireshark; package = pkgs.wireshark;

View File

@ -0,0 +1,7 @@
{ ... }:
{
services.memcached = {
enable = true;
maxMemory = 512;
};
}

View File

@ -15,6 +15,7 @@
extraGroups = [ extraGroups = [
"wheel" "wheel"
"keyd" "keyd"
"systemd-journal"
(lib.mkIf config.virtualisation.docker.enable "docker") (lib.mkIf config.virtualisation.docker.enable "docker")
(lib.mkIf config.virtualisation.libvirtd.enable "libvirtd") (lib.mkIf config.virtualisation.libvirtd.enable "libvirtd")
(lib.mkIf config.programs.wireshark.enable "wireshark") (lib.mkIf config.programs.wireshark.enable "wireshark")

View File

@ -4,7 +4,12 @@
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
virtualisation = { virtualisation = {
libvirtd.enable = true; libvirtd = {
enable = true;
qemu = {
runAsRoot = false;
};
};
containers.enable = true; containers.enable = true;
podman = { podman = {
enable = true; enable = true;

View File

@ -26,7 +26,6 @@ in
hideMounts = true; hideMounts = true;
directories = [ directories = [
"/var/lib" "/var/lib"
"/etc/nixos"
]; ];
}; };

View File

@ -3,28 +3,18 @@
lib ? (import <nixpkgs> { }).lib, lib ? (import <nixpkgs> { }).lib,
}: }:
rec { rec {
hasSuffix =
suffix: string:
let
lenSuffix = builtins.stringLength suffix;
lenString = builtins.stringLength string;
in
(lenString >= lenSuffix && (builtins.substring (lenString - lenSuffix) lenString string) == suffix);
recurseDir = recurseDir =
dir: dir:
let builtins.readDir dir
dirContents = builtins.readDir dir; |> lib.attrsets.mapAttrs' (
in fEntry: fType: lib.attrsets.nameValuePair (builtins.toString (dir + "/${fEntry}")) fType
(builtins.concatMap ( )
dirItem: |> lib.attrsets.mapAttrsToList (
let fEntry: fType: if fType == "directory" then (recurseDir "${fEntry}") else "${fEntry}"
itemType = builtins.getAttr dirItem dirContents; )
itemPath = dir + "/${dirItem}"; |> lib.lists.flatten;
in
if itemType == "directory" then (recurseDir itemPath) else [ itemPath ]
) (builtins.attrNames dirContents));
recurseFilesInDir = recurseFilesInDir =
dir: suffix: (builtins.filter (file: hasSuffix "${suffix}" file) (recurseDir dir)); dir: suffix: (builtins.filter (file: lib.strings.hasSuffix "${suffix}" file) (recurseDir dir));
recurseFilesInDirs = recurseFilesInDirs =
dirs: suffix: (builtins.concatMap (dir: (recurseFilesInDir dir "${suffix}")) dirs); dirs: suffix: (builtins.concatMap (dir: (recurseFilesInDir dir "${suffix}")) dirs);
# Full credit to https://stackoverflow.com/questions/54504685/nix-function-to-merge-attributes-records-recursively-and-concatenate-arrays/54505212#54505212 # Full credit to https://stackoverflow.com/questions/54504685/nix-function-to-merge-attributes-records-recursively-and-concatenate-arrays/54505212#54505212

View File

@ -1,27 +0,0 @@
{
installShellFiles,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "bob";
version = "3.0.1";
buildInputs = [ installShellFiles ];
src = fetchFromGitHub {
owner = "MordechaiHadad";
repo = "bob";
rev = "v${version}";
hash = "sha256-Op/NXWssylgAOb1BccSOz7JqXFranzAsGICFMF3o/K8=";
};
cargoLock.lockFile = "${src}/Cargo.lock";
postInstall = # bash
''
installShellCompletion --cmd bob \
--bash <($out/bin/bob complete bash) \
--zsh <($out/bin/bob complete zsh) \
--fish <($out/bin/bob complete fish)
'';
}

View File

@ -1,9 +1,5 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
bob-nvim = pkgs.callPackage ./bob-nvim.nix {
rustPlatform = pkgs.rustPlatform;
fetchFromGitHub = pkgs.fetchFromGitHub;
};
screen-cap = pkgs.callPackage ./screen-cap/default.nix { }; screen-cap = pkgs.callPackage ./screen-cap/default.nix { };
Fmt = pkgs.writeShellApplication { Fmt = pkgs.writeShellApplication {
name = "Fmt"; name = "Fmt";

@ -1 +1 @@
Subproject commit 26a7346d97b19d44e3f07d912e64cc4e8fd38ec9 Subproject commit f39f9c879ae7d9227f843a82155900234aa263a6

View File

@ -2,25 +2,31 @@
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
fontconfig fontconfig
nerdfonts nerd-fonts.fira-code
nerd-fonts.symbols-only
fira-code fira-code
ibm-plex
open-sans
noto-fonts noto-fonts
twitter-color-emoji twitter-color-emoji
vistafonts vistafonts
roboto
]; ];
fonts = { fonts = {
fontconfig = { fontconfig = {
enable = true; enable = true;
defaultFonts = { defaultFonts = {
sansSerif = [ "Noto Sans" ]; sansSerif = [ "Noto Sans" "Symbols Nerd Font" ];
serif = [ "Noto Serif" ]; serif = [ "Noto Serif" "Symbols Nerd Font" ];
monospace = [ monospace = [
"Fira Code" "FiraCode Nerd Font"
"Noto Sans Mono" "Noto Sans Mono"
"Symbols Nerd Font Mono"
]; ];
emoji = [ emoji = [
"Twemoji" "Twemoji"
"Noto Color Emoji" "Noto Color Emoji"
"Symbols Nerd Font Mono"
]; ];
}; };
}; };

View File

@ -1,18 +0,0 @@
{ pkgs, ... }:
{
nix = {
package = pkgs.nix;
gc = {
automatic = true;
};
settings = {
experimental-features = [
"nix-command"
"flakes"
];
auto-optimise-store = true;
use-xdg-base-directories = true;
trusted-users = [ "@wheel" ];
};
};
}

View File

@ -0,0 +1,39 @@
{
pkgs,
lib,
...
}:
{
programs.neovim = {
enable = true;
package = pkgs.neovim;
extraWrapperArgs = [
"--suffix"
"LD_LIBRARY_PATH"
":"
"${lib.makeLibraryPath [
pkgs.sqlite
]}"
"--suffix"
"LIBRARY_PATH"
":"
"${lib.makeLibraryPath [
pkgs.stdenv.cc.cc
pkgs.zlib
]}"
"--suffix"
"PKG_CONFIG_PATH"
":"
"${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [
pkgs.stdenv.cc.cc
pkgs.zlib
]}"
];
};
home = {
packages = with pkgs; [
neovide
bun
];
};
}

View File

@ -0,0 +1,66 @@
{
config,
pkgs,
osConfig,
...
}:
let
sccacheWrapped =
if osConfig.services.memcached.enable then
pkgs.symlinkJoin {
name = "sccache";
paths = [ pkgs.sccache ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/sccache \
--set SCCACHE_MEMCACHED_KEY_PREFIX "SCCACHE" \
--set SCCACHE_MEMCACHED_ENDPOINT "tcp://${builtins.toString osConfig.services.memcached.listen}:${builtins.toString osConfig.services.memcached.port}"
'';
}
else
# Symlinking this ensures that sccache can properly create temporary directories.
# This is because Nix wants to cause every sccache invocation to sandbox the build, by
# symlinking sccache instead, we can avoid the sandbox to some degree.
pkgs.symlinkJoin {
name = "sccache";
paths = [ pkgs.sccache ];
};
in
{
home = {
sessionVariables = {
CARGO_HOME = "${config.xdg.dataHome}/cargo";
RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
RUST_SRC_PATH = "${pkgs.fenix.complete.rust-src}/lib/rustlib/src/rust/library";
# HACK: Specify openssl info for rust, this is really not a good idea, but it saves me from
# writing per-project shell.nix or `nix-shell -p` nonsense. I'm willing to compromise for my
# laziness.
OPENSSL_DIR = "${pkgs.openssl.dev}";
OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib";
};
packages = with pkgs; [
(pkgs.fenix.complete.withComponents [
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
rust-analyzer-nightly
cargo-watch
cargo-nextest
sccacheWrapped
];
file = {
# NOTE: This improves the rust edit-build-run cycle. See https://davidlattimore.github.io/posts/2024/02/04/speeding-up-the-rust-edit-build-run-cycle.html
"${config.home.sessionVariables.CARGO_HOME}/config.toml".text = ''
[build]
rustc-wrapper = "${sccacheWrapped}/bin/sccache"
rustflags = [ "-C", "linker=${pkgs.clang}/bin/clang", "-C", "link-arg=--ld-path=${pkgs.mold-wrapped}/bin/mold" ]
[profile.dev]
split-debuginfo = "unpacked"
'';
};
};
}

View File

@ -8,10 +8,13 @@ decoration {
new_optimizations = true new_optimizations = true
} }
drop_shadow = true shadow {
shadow_ignore_window = true enabled = true
shadow_range = 4 range = 4
shadow_render_power = 2 ignore_window = true
render_power = 2
}
dim_special = 0.05 dim_special = 0.05
} }

View File

@ -7,6 +7,5 @@ exec = systemd-run --user --unit=clight-gui clight-gui --tray || systemctl --use
exec = systemd-run --user --unit=monitor-ssid ~/.config/hypr/scripts/monitor-ssid.bash || systemctl --user restart monitor-ssid exec = systemd-run --user --unit=monitor-ssid ~/.config/hypr/scripts/monitor-ssid.bash || systemctl --user restart monitor-ssid
exec = systemd-run --user --unit=xwaylandvideobridge xwaylandvideobridge || systemctl --user restart xwaylandvideobridge exec = systemd-run --user --unit=xwaylandvideobridge xwaylandvideobridge || systemctl --user restart xwaylandvideobridge
exec = systemd-run --user --unit=polkit-agent /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || systemctl --user restart polkit-agent exec = systemd-run --user --unit=polkit-agent /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || systemctl --user restart polkit-agent
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP PATH exec = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP PATH
exec = sleep 1 && systemctl --user restart compositor.target exec = sleep 1 && systemctl --user restart compositor.target
exec-once = swaylock

View File

@ -16,3 +16,9 @@ scrollback_pager nvim -c "set signcolumn=no showtabline=0" -c "silent write! /tm
# Bell # Bell
enable_audio_bell no enable_audio_bell no
visual_bell_duration 0.2 visual_bell_duration 0.2
# cusor animations
cursor_shape block
cursor_trail 1
cursor_trail_start_threshold 0
shell_integration no-cursor

View File

@ -1,24 +0,0 @@
vim.keymap.set("n", "<leader>fr", "<Cmd>Hurl<CR>", {
buffer = true,
})
vim.opt_local.commentstring = "# %s"
vim.keymap.set("n", "<leader>fr", "<cmd>HurlRunner<CR>", {
desc = "Hurl: Runner",
})
vim.keymap.set("n", "<leader>fa", "<cmd>HurlRunnerAt<CR>", {
desc = "Hurl: Run Api request",
})
vim.keymap.set("n", "<leader>fe", "<cmd>HurlRunnerToEntry<CR>", {
desc = "Hurl: Run Api request to entry",
})
vim.keymap.set("n", "<leader>fm", "<cmd>HurlToggleMode<CR>", {
desc = "Hurl: Toggle Mode",
})
vim.keymap.set("n", "<leader>rv", "<cmd>HurlVerbose<CR>", {
desc = "Hurl: Run Api in verbose mode",
})
vim.keymap.set("v", "<leader>fr", ":HurlRunner<CR>", {
desc = "Hurl: Runner",
})

View File

@ -2,8 +2,28 @@ vim.opt_local.tabstop = 2
vim.opt_local.shiftwidth = 2 vim.opt_local.shiftwidth = 2
vim.opt_local.textwidth = 0 vim.opt_local.textwidth = 0
vim.keymap.set("n", "<leader>fr", "<cmd>MarkdownPreview<CR>", { vim.keymap.set("n", "<leader>fr", "<cmd>GithubPreviewToggle<CR>", {
buffer = true, buffer = true,
desc = "Preview Markdown in Browser",
})
local markview = require("markview")
vim.keymap.set("n", "<leader>ff", function()
markview.state.hybrid_mode = not markview.state.hybrid_mode
local hybrid_state = markview.state.hybrid_mode and "Enabled" or "Disabled"
vim.notify(("%s Markview Hybrid Mode"):format(hybrid_state), vim.log.levels.INFO, { title = "Markview" })
end, {
buffer = true,
desc = "Toggle Markview Hybrid Mode",
})
vim.keymap.set("n", "<leader>ft", function()
vim.cmd("Markview toggle")
local mview_state = markview.state.enable and "Enabled" or "Disabled"
vim.notify(("Markview %s"):format(mview_state), vim.log.levels.INFO, { title = "Markview" })
end, {
buffer = true,
desc = "Toggle Markview",
}) })
vim.keymap.set("n", "<C-Space>", function() vim.keymap.set("n", "<C-Space>", function()

View File

@ -1,2 +1,8 @@
vim.opt_local.shiftwidth = 2 vim.opt_local.shiftwidth = 2
vim.opt_local.modeline = true vim.opt_local.modeline = true
vim.keymap.set("n", "<leader>ff", function()
vim.b.org_indent_mode = not vim.b.org_indent_mode
end, {
buffer = true,
desc = "Org: Toggle Indent Mode",
})

View File

@ -18,17 +18,6 @@
@org-checkbox-content (#any-of? @org-checkbox-content "-")) @markup.list.indeterminate @org-checkbox-content (#any-of? @org-checkbox-content "-")) @markup.list.indeterminate
(#set! @markup.list.indeterminate conceal "󰍵")) (#set! @markup.list.indeterminate conceal "󰍵"))
; Table highlights
(row
"|" @punctuation.special)
(cell
"|" @punctuation.special)
(table
(row
(cell (contents) @markup.heading))
(hr) @punctuation.special)
; Quote highlights ; Quote highlights
(block (block
name: (expr) @org-block-start-name (#any-of? @org-block-start-name "quote" "QUOTE") name: (expr) @org-block-start-name (#any-of? @org-block-start-name "quote" "QUOTE")

View File

@ -1,144 +1,131 @@
{ {
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"LuaSnip": { "branch": "master", "commit": "e808bee352d1a6fcf902ca1a71cee76e60e24071" }, "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
"actions-preview.nvim": { "branch": "master", "commit": "9f52a01c374318e91337697ebed51c6fae57f8a4" }, "actions-preview.nvim": { "branch": "master", "commit": "9f52a01c374318e91337697ebed51c6fae57f8a4" },
"alpha-nvim": { "branch": "main", "commit": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7" }, "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" }, "blink-emoji.nvim": { "branch": "master", "commit": "699493775b61b94ead76841c981a51d3df350ea0" },
"bufdelete.nvim": { "branch": "master", "commit": "f6bcea78afb3060b198125256f897040538bcb81" }, "blink-ripgrep.nvim": { "branch": "main", "commit": "8a47d404a359c70c796cb0979ddde4c788fd44e5" },
"blink.cmp": { "branch": "main", "commit": "434ea2b05c2bae0cff6249893c8324fa3a56d865" },
"blink.compat": { "branch": "main", "commit": "5ca8848c8cc32abdc980e5db4f0eb7bb8fbf84dc" },
"busted": { "branch": "main", "commit": "5ed85d0e016a5eb5eca097aa52905eedf1b180f1" }, "busted": { "branch": "main", "commit": "5ed85d0e016a5eb5eca097aa52905eedf1b180f1" },
"ccc.nvim": { "branch": "main", "commit": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a" }, "ccc.nvim": { "branch": "main", "commit": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a" },
"cmdbuf.nvim": { "branch": "main", "commit": "8a62db348e95ad49d97a99faeb592e71bba652ee" }, "cmdbuf.nvim": { "branch": "main", "commit": "a5c668512446f6e68ef7ac31ab32d85027af50dc" },
"cmp-async-path": { "branch": "main", "commit": "9d581eec5acf812316913565c135b0d1ee2c9a71" },
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-cmdline-history": { "branch": "master", "commit": "003573b72d4635ce636234a826fa8c4ba2895ffe" },
"cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" },
"cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" },
"cmp-fuzzy-buffer": { "branch": "main", "commit": "ada6352bc7e3c32471ab6c08f954001870329de1" },
"cmp-git": { "branch": "main", "commit": "50d526dff0f6bc441b51fc269d9fdc99a50c76af" },
"cmp-npm": { "branch": "main", "commit": "2337f109f51a09297596dd6b538b70ccba92b4e4" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-rg": { "branch": "master", "commit": "677a7874ee8f1afc648c2e7d63a97bc21a7663c5" },
"cmp-zsh": { "branch": "main", "commit": "c24db8e58fac9006ec23d93f236749288d00dec9" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"crates.nvim": { "branch": "main", "commit": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785" }, "crates.nvim": { "branch": "main", "commit": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785" },
"csharpls-extended-lsp.nvim": { "branch": "master", "commit": "b647e1bd1f9c0410f5ef4a1517a331cbac322d9a" }, "csharpls-extended-lsp.nvim": { "branch": "master", "commit": "4f56c06215d10c4fcfee8a7f04ba766c114aece0" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"direnv.nvim": { "branch": "main", "commit": "eec36a38285457c4e5dea2c6856329a9a20bd3a4" },
"exrc.nvim": { "branch": "master", "commit": "4346164895f432f361e453d837b612e6c7cbe3e6" }, "exrc.nvim": { "branch": "master", "commit": "4346164895f432f361e453d837b612e6c7cbe3e6" },
"flatten.nvim": { "branch": "main", "commit": "e420e531d2ab24aebcf7b3c9fca28e6c5c34964d" }, "flatten.nvim": { "branch": "main", "commit": "ab2e1085c731dd296a56e9670218083726337df6" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"fuzzy.nvim": { "branch": "master", "commit": "68608f6a232f7e73ccf81437bf12108128f15bd4" }, "github-preview.nvim": { "branch": "main", "commit": "b78d1af90fd521eaa8c73d1ac5fe5dbc9f9c1296" },
"gitlinker.nvim": { "branch": "master", "commit": "a221c13fc3c7f5b8799933f4966ee8e618287292" }, "gitlinker.nvim": { "branch": "master", "commit": "df0c4e342742812186f87e32caf82b3e5e288a84" },
"gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"go.nvim": { "branch": "master", "commit": "0d099822d56db4f611f0b9b7c74c75dbedcf8318" }, "go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" },
"guihua.lua": { "branch": "master", "commit": "225db770e36aae6a1e9e3a65578095c8eb4038d3" }, "grug-far.nvim": { "branch": "main", "commit": "c88435b825a35bfa468b47159709b3221976ecd1" },
"gx.nvim": { "branch": "main", "commit": "cc70d112b14d18dd7b123a5d5288266a60e8189e" }, "guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"gx.nvim": { "branch": "main", "commit": "b01db725a001e4215f363159fc04727f6fde0a1c" },
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" }, "headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
"heirline.nvim": { "branch": "master", "commit": "7a79753c1a42c3f52e89a6c42429e7f871e560cd" }, "heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" },
"highlight-undo.nvim": { "branch": "main", "commit": "ee2f6355e08719fea902e7c478aa7351934f2bb6" }, "highlight-undo.nvim": { "branch": "main", "commit": "5f588b420179a31d7073854bfd07ed9d5f364645" },
"hlargs.nvim": { "branch": "main", "commit": "53ec5d8ca6ed012de5545ba83ea1eb3d636b09fb" }, "hlargs.nvim": { "branch": "main", "commit": "53ec5d8ca6ed012de5545ba83ea1eb3d636b09fb" },
"hop.nvim": { "branch": "master", "commit": "8f51ef02700bb3cdcce94e92eff16170a6343c4f" }, "hop.nvim": { "branch": "master", "commit": "efe58182f71fbe592f82fb211ab026f2819e855d" },
"hurl.nvim": { "branch": "main", "commit": "807b6ff480626d91ec46ca86092b530082c7400c" }, "hydra.nvim": { "branch": "main", "commit": "68ae20eb732f4f722dd7158adecf55de431ff26d" },
"hydra.nvim": { "branch": "main", "commit": "7f5341643107d05a8d7d4fdea00b29af28517380" }, "img-clip.nvim": { "branch": "main", "commit": "5ff183655ad98b5fc50c55c66540375bbd62438c" },
"img-clip.nvim": { "branch": "main", "commit": "28a32d811d69042f4fa5c3d5fa35571df2bc1623" }, "inc-rename.nvim": { "branch": "main", "commit": "f4e13df6e2d0b3177a7305dbc1cc7f7ea44b94f1" },
"inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, "indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
"indent-blankline.nvim": { "branch": "master", "commit": "e7a4442e055ec953311e77791546238d1eaae507" }, "kanagawa.nvim": { "branch": "master", "commit": "2d54b56242a6f03c74864d118d61afa1acb5918e" },
"kanagawa.nvim": { "branch": "master", "commit": "f491b0fe68fffbece7030181073dfe51f45cda81" }, "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazy.nvim": { "branch": "main", "commit": "1159bdccd8910a0fd0914b24d6c3d186689023d9" }, "lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
"live-command.nvim": { "branch": "main", "commit": "b0723697bf60d89ede953c4a5fedce3157784c15" }, "live-command.nvim": { "branch": "main", "commit": "b0723697bf60d89ede953c4a5fedce3157784c15" },
"lsp_lines.nvim": { "branch": "main", "commit": "7d9e2748b61bff6ebba6e30adbc7173ccf21c055" }, "lsp_lines.nvim": { "branch": "main", "commit": "a92c755f182b89ea91bd8a6a2227208026f27b4d" },
"lspkind.nvim": { "branch": "master", "commit": "59c3f419af48a2ffb2320cea85e44e5a95f71664" },
"lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" }, "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" },
"luassert": { "branch": "main", "commit": "d3528bb679302cbfdedefabb37064515ab95f7b9" }, "luassert": { "branch": "main", "commit": "d3528bb679302cbfdedefabb37064515ab95f7b9" },
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markview.nvim": { "branch": "main", "commit": "72cd34279e94ee96ee33bdf30a87b00e6d45319d" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.nvim": { "branch": "main", "commit": "a535342b6105a684f16114f598d44318e6a1d20f" }, "mini.nvim": { "branch": "main", "commit": "2faada1cffce5609d78ac5e81eaf3754e0476758" },
"mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" }, "mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" },
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, "neo-tree.nvim": { "branch": "main", "commit": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c" },
"neoformat": { "branch": "master", "commit": "d9d3311097eacdba9bd7a425b267d304b509e7ea" }, "neoformat": { "branch": "master", "commit": "d9d3311097eacdba9bd7a425b267d304b509e7ea" },
"neogen": { "branch": "main", "commit": "e932ba918b56723436b77aa3efb844a11b2851ab" }, "neogen": { "branch": "main", "commit": "dd0301bfba1f83a3bc009b5430fce7aa3cee6941" },
"neogit": { "branch": "master", "commit": "a8dd1509a7fc6bf92ca60f21e33393f685ab70aa" }, "neogit": { "branch": "master", "commit": "9ea60f79e370d8f4847efc145e53afe4b0613fc1" },
"neotest": { "branch": "master", "commit": "6d3d22cdad49999ef774ebe1bc250a4994038964" }, "neotest": { "branch": "master", "commit": "5da58782edb137e75d8ffa149bea48eaa13532f5" },
"neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" },
"neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" }, "neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" },
"netman.nvim": { "branch": "main", "commit": "68eecb29d913d4f35efa9bd0e8636046f70f998f" }, "netman.nvim": { "branch": "main", "commit": "99c2e1e4e98b5d0b05eeea89f54f801b63f4cbfe" },
"nibbler": { "branch": "main", "commit": "a69331d6af60dda6ae6459522134a5e365fb43b1" }, "nibbler": { "branch": "main", "commit": "9ca67e731f4bd99e1877c9255b3957d5ced6ce04" },
"noice.nvim": { "branch": "main", "commit": "df448c649ef6bc5a6a633a44f2ad0ed8d4442499" }, "noice.nvim": { "branch": "main", "commit": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f" },
"none-ls.nvim": { "branch": "main", "commit": "0e0a940477cc08fa7b1799384a1d668058ed4e61" }, "none-ls.nvim": { "branch": "main", "commit": "6f5473ae9e7feb0b40ca95b8ed92e85b42a3c71b" },
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-autopairs": { "branch": "master", "commit": "ee297f215e95a60b01fde33275cc3c820eddeebe" }, "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
"nvim-cmp": { "branch": "main", "commit": "4aec249cdcef9b269e962bf73ef976181ee7fdd9" },
"nvim-cmp-lua-latex-symbols": { "branch": "master", "commit": "89345d6e333c700d13748e8a7ee6fe57279b7f88" }, "nvim-cmp-lua-latex-symbols": { "branch": "master", "commit": "89345d6e333c700d13748e8a7ee6fe57279b7f88" },
"nvim-dap": { "branch": "master", "commit": "7ff6936010b7222fea2caea0f67ed77f1b7c60dd" }, "nvim-dap": { "branch": "master", "commit": "665d3569a86395fe0dab85efbdb26d7d2ee57e49" },
"nvim-dap-python": { "branch": "master", "commit": "db72bf6ab9f75fe841e8e11e772ee7fef6f484f1" }, "nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" }, "nvim-dap-ui": { "branch": "master", "commit": "055be38c3653923d1d3e0f155a50871545740798" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "52638640ae309cacdaff785fdbb854437bd1ee5c" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "df66808cd78b5a97576bbaeee95ed5ca385a9750" },
"nvim-fundo": { "branch": "main", "commit": "ac9c9372c4bf677721e24f144ef29d3a05c2b589" }, "nvim-fundo": { "branch": "main", "commit": "ac9c9372c4bf677721e24f144ef29d3a05c2b589" },
"nvim-java": { "branch": "main", "commit": "b3174e41ab51867123d8663eced53b33f1548522" }, "nvim-java": { "branch": "main", "commit": "e8e84413ca03e7d0541921e795b2e6bf8801f186" },
"nvim-java-core": { "branch": "main", "commit": "5b03dca22fee76524a89e1c2dc1d73a9f0b1a3bb" }, "nvim-java-core": { "branch": "main", "commit": "22eca6b90b7e209299d99cbf60421f0ffdae5629" },
"nvim-java-dap": { "branch": "main", "commit": "55f239532f7a3789d21ea68d1e795abc77484974" }, "nvim-java-dap": { "branch": "main", "commit": "55f239532f7a3789d21ea68d1e795abc77484974" },
"nvim-java-refactor": { "branch": "main", "commit": "ea1420fed5463c9cc976c2b4175f434b3646f0f7" }, "nvim-java-refactor": { "branch": "main", "commit": "ea1420fed5463c9cc976c2b4175f434b3646f0f7" },
"nvim-java-test": { "branch": "main", "commit": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468" }, "nvim-java-test": { "branch": "main", "commit": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468" },
"nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" }, "nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" },
"nvim-lightbulb": { "branch": "master", "commit": "1cae7b7153ae98dcf1b11173a443ac1b6d8e3d49" }, "nvim-lightbulb": { "branch": "master", "commit": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea" },
"nvim-lspconfig": { "branch": "master", "commit": "d3f169f436e1b44538bfe7e13b4721eec48dbc59" }, "nvim-lspconfig": { "branch": "master", "commit": "ff2b85abaa810f6611233dbe6d31c07510ebf43d" },
"nvim-neoclip.lua": { "branch": "main", "commit": "32e05f2d23dc5b6a284a688c0535a83d1bfc633f" }, "nvim-neoclip.lua": { "branch": "main", "commit": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, "nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, "nvim-treesitter": { "branch": "master", "commit": "eb3e850acff4d9f2f2dd8dacd75353043c899753" },
"nvim-treesitter": { "branch": "master", "commit": "9d2acd49976e2a9da72949008df03436f781fd23" },
"nvim-treesitter-endwise": { "branch": "fix/iter-matches", "commit": "a210e4c96e7b4b872be6026293a8f6e6bea05175" }, "nvim-treesitter-endwise": { "branch": "fix/iter-matches", "commit": "a210e4c96e7b4b872be6026293a8f6e6bea05175" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "b91c98afa6c42819aea6cbc1ba38272f5456a5cf" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
"nvim-ufo": { "branch": "main", "commit": "203c9f434feec57909ab4b1e028abeb3349b7847" }, "nvim-ufo": { "branch": "main", "commit": "32cb247b893a384f1888b9cd737264159ecf183c" },
"nvim-various-textobjs": { "branch": "main", "commit": "cc33e0a6681bbe913de515ac1a68492d50cbf949" }, "nvim-various-textobjs": { "branch": "main", "commit": "d122145ae2b71aa7d7e1402ae5bd4a234a9e2f92" },
"nvim-web-devicons": { "branch": "master", "commit": "56f17def81478e406e3a8ec4aa727558e79786f3" }, "nvim-web-devicons": { "branch": "master", "commit": "63f552a7f59badc6e6b6d22e603150f0d5abebb7" },
"octo.nvim": { "branch": "master", "commit": "0adcc6d37a3cd2dae014fa5e48bee6147100c357" }, "octo.nvim": { "branch": "master", "commit": "aa3cb8e27a708d137d2540509928a3e7736f8eba" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "aad7bf06b4ca0de816b919d475a75b30f5f62b61" }, "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d" },
"open-browser.vim": { "branch": "master", "commit": "7d4c1d8198e889d513a030b5a83faa07606bac27" }, "open-browser.vim": { "branch": "master", "commit": "7d4c1d8198e889d513a030b5a83faa07606bac27" },
"orgmode": { "branch": "master", "commit": "a5aeb14663ef08e0bb4bb847f8d79f9c253094a0" }, "orgmode": { "branch": "master", "commit": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0" },
"overseer.nvim": { "branch": "master", "commit": "965f8159408cee5970421ad36c4523333b798502" }, "overseer.nvim": { "branch": "master", "commit": "10ee48ff96c8d1049efb278ea4c8cf9f3b0e4326" },
"plantuml-previewer.vim": { "branch": "master", "commit": "555347700382c97b347bace57b7a9f764ed556b1" }, "plantuml-previewer.vim": { "branch": "master", "commit": "368a1f331c1ff29f6a3ee76facfca39a7f374b13" },
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" }, "plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"ppd.nvim": { "branch": "main", "commit": "05f62c79fa81501691411ac368962eac1d197d1b" }, "ppd.nvim": { "branch": "main", "commit": "05f62c79fa81501691411ac368962eac1d197d1b" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "d227e6c9879bb50af35cd733461198666981d482" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "77e5bad54227dcfe3878ffbda88ab1efdaacb475" },
"rainbow_csv.nvim": { "branch": "main", "commit": "7f3fddfe813641035fac2cdf94c2ff69bb0bf0b9" }, "rainbow_csv.nvim": { "branch": "main", "commit": "7f3fddfe813641035fac2cdf94c2ff69bb0bf0b9" },
"rustaceanvim": { "branch": "master", "commit": "d1f56672638508a7bc971cde31a29df4018579a9" }, "rustaceanvim": { "branch": "master", "commit": "6db1fe9e3f005b2e0921c7302d2c195eeb90a451" },
"schemastore.nvim": { "branch": "main", "commit": "dd374887d6e1de38e9d7041da824a8dc10cae401" }, "schemastore.nvim": { "branch": "main", "commit": "562681847dd904485caddd42395db2bb9d6e694a" },
"smart-open.nvim": { "branch": "main", "commit": "7770b01ce4d551c143d7ec8589879320796621b9" },
"snacks.nvim": { "branch": "main", "commit": "98df370703b3c47a297988f3e55ce99628639590" },
"spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" }, "spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
"sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "sqlite.lua": { "branch": "master", "commit": "cf482586c4f24e197375235a6e310b9b9e80ba83" },
"statuscol.nvim": { "branch": "main", "commit": "ecc04176e364dd7f614edfc4325e3a8521905ad6" }, "statuscol.nvim": { "branch": "main", "commit": "81d1cfb47e91780f72a8d9a3529f146731864313" },
"symbol-usage.nvim": { "branch": "main", "commit": "0f9b3da014b7e41559b643e7461fcabb2a7dc83a" }, "symbol-usage.nvim": { "branch": "main", "commit": "0f9b3da014b7e41559b643e7461fcabb2a7dc83a" },
"telescope-frecency.nvim": { "branch": "master", "commit": "f67baca08423a6fd00167801a54db38e0b878063" }, "telescope-frecency.nvim": { "branch": "master", "commit": "77829eda3451ef81200b9c61696af0d64372ea85" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope-orgmode.nvim": { "branch": "main", "commit": "2cd2ea778726c6e44429fef82f23b63197dbce1b" }, "telescope-orgmode.nvim": { "branch": "main", "commit": "2cd2ea778726c6e44429fef82f23b63197dbce1b" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope-undo.nvim": { "branch": "main", "commit": "51be9ae7c42fc27c0b05505e3a0162e0f05fbb6a" }, "telescope-undo.nvim": { "branch": "main", "commit": "2971cc9f193ec09e0c5de3563f99cbea16b63f10" },
"telescope-z.nvim": { "branch": "main", "commit": "3a31d9741fe4353e5c8b59cfc4eda5420dc7f938" }, "telescope-z.nvim": { "branch": "main", "commit": "3a31d9741fe4353e5c8b59cfc4eda5420dc7f938" },
"telescope.nvim": { "branch": "master", "commit": "dc6fc321a5ba076697cca89c9d7ea43153276d81" }, "telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
"tint.nvim": { "branch": "master", "commit": "02bd0527a315a80e4e25bb2dd7b6994fb0daae01" }, "tint.nvim": { "branch": "master", "commit": "586e87f00c8b0f5e857cefe10839e41f3e8c6d01" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"toggleterm.nvim": { "branch": "main", "commit": "137d06fb103952a0fb567882bb8527e2f92d327d" }, "toggleterm.nvim": { "branch": "main", "commit": "87b2d6a3cab8e2bd9a0255427074285f0365398d" },
"trouble.nvim": { "branch": "main", "commit": "254145ffd528b98eb20be894338e2d5c93fa02c2" }, "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
"venn.nvim": { "branch": "main", "commit": "b09c2f36ddf70b498281845109bedcf08a7e0de0" }, "venn.nvim": { "branch": "main", "commit": "b09c2f36ddf70b498281845109bedcf08a7e0de0" },
"venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" }, "venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" },
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, "vim-dadbod": { "branch": "master", "commit": "f740950d0703099e0f172016f10e0e39f50fd0ba" },
"vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" }, "vim-dadbod-completion": { "branch": "master", "commit": "9e354e86fcc67a5ec2c104f312e374ea2f89c799" },
"vim-dadbod-ui": { "branch": "master", "commit": "f29c85ab42861c6ef683289b0c6a51e0d436dcf6" }, "vim-dadbod-ui": { "branch": "master", "commit": "0fec59e3e1e619e302198cd491b7d27f8d398b7c" },
"vim-move": { "branch": "master", "commit": "3c4195de0748da9bba25c54d78d959d349e93c55" }, "vim-move": { "branch": "master", "commit": "3c4195de0748da9bba25c54d78d959d349e93c55" },
"vim-nftables": { "branch": "master", "commit": "26f8a506c6f3e41f1e4a8d6aa94c9a79a666bbff" }, "vim-nftables": { "branch": "master", "commit": "26f8a506c6f3e41f1e4a8d6aa94c9a79a666bbff" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" }, "vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"vimtex": { "branch": "master", "commit": "fcbaf66887bd19f5d973406848cf2a5ac46bd65e" }, "vimtex": { "branch": "master", "commit": "b8bb79b5fb27e9030ade92e75cd9375416f2c666" },
"visual-whitespace.nvim": { "branch": "main", "commit": "e22d8508a0236f274dde39775ee127c85d30c0c0" }, "visual-whitespace.nvim": { "branch": "main", "commit": "31d0ed71ad7e376879d7e0df0c8cc4f1467702d4" },
"which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" }, "which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" },
"window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" }, "window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" },
"z.nvim": { "branch": "main", "commit": "3e3a83e544925d938779366a11c65d11febf3f72" } "z.nvim": { "branch": "main", "commit": "3e3a83e544925d938779366a11c65d11febf3f72" }
} }

View File

@ -106,6 +106,7 @@ M.setup = function()
local extensions = { local extensions = {
"pdf", "pdf",
"epub",
"djvu", "djvu",
"wav", "wav",
"png", "png",

View File

@ -1,6 +1,7 @@
local M = {} local M = {}
M.setup = function() M.setup = function()
vim.lsp.log.set_format_func(vim.inspect)
vim.diagnostic.config({ vim.diagnostic.config({
severity_sort = true, severity_sort = true,
underline = true, underline = true,

View File

@ -49,10 +49,15 @@ M.setup = function()
end, { silent = true, desc = "Remove Highlighted Searches" }) end, { silent = true, desc = "Remove Highlighted Searches" })
-- Spell Checking -- Spell Checking
vim.keymap.set("n", "<leader>st", function() vim.keymap.set("n", "<leader>ss", function()
vim.opt.spell = not vim.opt.spell:get() vim.opt.spell = not vim.opt.spell:get()
end, { silent = true, desc = "Toggle Spell" }) end, { silent = true, desc = "Toggle Spell" })
-- Toggling wrap
vim.keymap.set("n", "<leader>sw", function()
vim.opt.wrap = not vim.opt.wrap:get()
end, { silent = true, desc = "Toggle Wrap" })
-- Set current focused file as cwd -- Set current focused file as cwd
vim.keymap.set("n", "<leader>cd", ":cd %:p:h<CR>", { silent = true, desc = "Change CWD to Current File" }) vim.keymap.set("n", "<leader>cd", ":cd %:p:h<CR>", { silent = true, desc = "Change CWD to Current File" })

View File

@ -42,7 +42,7 @@ M.setup = function()
opt.formatlistpat = [[^\s*\(-\|\d\.\|+\)\s*]] opt.formatlistpat = [[^\s*\(-\|\d\.\|+\)\s*]]
opt.formatoptions = "jcroqnp" opt.formatoptions = "jcroqnp"
opt.breakindent = true opt.breakindent = true
opt.breakindentopt = "list:2" opt.breakindentopt = "list:-1"
-- Search settings -- Search settings
opt.hlsearch = true opt.hlsearch = true
@ -71,15 +71,20 @@ M.setup = function()
opt.undofile = true opt.undofile = true
-- Better folding -- Better folding
opt.foldexpr = "v:lua.vim.treesitter.foldexpr()" vim.api.nvim_create_autocmd("FileType", {
opt.foldmethod = "expr" callback = function()
if not (pcall(vim.treesitter.start)) then
return
end
vim.opt_local.foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.opt_local.foldmethod = "expr"
end,
})
opt.fillchars = { eob = " ", fold = " ", foldopen = "", foldsep = " ", foldclose = "" } opt.fillchars = { eob = " ", fold = " ", foldopen = "", foldsep = " ", foldclose = "" }
vim.o.foldcolumn = "1" vim.o.foldcolumn = "1"
vim.o.foldlevel = 99 vim.o.foldlevel = 99
vim.o.foldlevelstart = 99 vim.o.foldlevelstart = 99
vim.o.foldenable = true vim.o.foldenable = true
vim.wo.foldexpr = "nvim_treesitter#foldexpr()"
vim.wo.foldmethod = "expr"
-- Concealment for nicer rendering -- Concealment for nicer rendering
opt.conceallevel = 2 opt.conceallevel = 2
@ -137,15 +142,10 @@ M.setup = function()
opt.fillchars:append("diff:") opt.fillchars:append("diff:")
-- Limit default menu height for completions -- Limit default menu height for completions
opt.pumheight = 20 opt.pumheight = 10
-- Allow per project configuration via exrc -- Allow per project configuration via exrc
opt.exrc = true opt.exrc = true
-- Backups
opt.backupdir = vim.fn.stdpath("state") .. "/backup//"
opt.backupskip = opt.backupskip + "*/*passage.*" + "/dev/shm/*"
opt.backup = true
end end
return M return M

View File

@ -1,6 +1,7 @@
-- Floating and Popupmenu Transparency -- Floating and Popupmenu Transparency
vim.opt.winblend = 20 vim.opt.winblend = 10
vim.opt.pumblend = 10 vim.opt.pumblend = 70
-- Float blur amount -- Float blur amount
vim.g.neovide_floating_blur_amount_x = 10.0 vim.g.neovide_floating_blur_amount_x = 10.0
@ -102,3 +103,6 @@ end, { noremap = true, silent = true, desc = "Neovide: Reset Zoom" })
-- Set Neovide specific vars for use elsewhere (e.g. terminal sessions) -- Set Neovide specific vars for use elsewhere (e.g. terminal sessions)
vim.env.NEOVIDE_SESSION = 1 vim.env.NEOVIDE_SESSION = 1
-- Group layers for shadows & blurring across entire group
vim.g.experimental_layer_grouping = true

View File

@ -16,35 +16,91 @@ return {
end, end,
lazy = true, lazy = true,
opts = function() opts = function()
-- Set header -- helper function for utf8 chars
local header = { local function getCharLen(s, pos)
type = "text", local byte = string.byte(s, pos)
val = { if not byte then
" ", return nil
" ", end
" -╲ '- ", return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1
" -' :╲ │ '- ", end
" -' : ╲ │ '- ",
" -'· : ╲ │ '- ", local function applyColors(logo, colors, logoColors)
" '.-.· : ╲ │ │ ", local header = {
" │. .-· : ╲ │ │ ", val = logo,
" │ . .-· : ╲ │ │ ", opts = {
" │. . .-·; ╲ │ │ ", hl = {},
" │ . . .-│ ╲ │ │ ", },
" │. . . .│╲ ╲│ │ ", }
" │ . . . │ ╲ ;- │ ",
" │. . . .│ ╲ :·- │ ", for key, color in pairs(colors) do
" │ . . . │ ╲ : .- │ ", local name = "Alpha" .. key
" │. . . .│ ╲ :. .- │ ", vim.api.nvim_set_hl(0, name, color)
" `- . . .│ ╲ : . .- -' ", colors[key] = name
" `- . .│ ╲ :. ..-' ", end
" `-. │ ╲ :..-' ",
" `│ ╲;-' ", for i, line in ipairs(logoColors) do
" ", local highlights = {}
" ", local pos = 0
},
opts = { position = "center", hl = "@boolean" }, for j = 1, #line do
} local opos = pos
pos = pos + getCharLen(logo[i], opos + 1)
local color_name = colors[line:sub(j, j)]
if color_name then
table.insert(highlights, { color_name, opos, pos })
end
end
table.insert(header.opts.hl, highlights)
end
return header
end
-- Thanks to https://github.com/goolord/alpha-nvim/discussions/16#discussioncomment-10062303
local header = applyColors({
[[ ███ ███ ]],
[[ ████ ████ ]],
[[  ████ █████ ]],
[[ █ ████ █████ ]],
[[ ██ ████ █████ ]],
[[ ███ ████ █████ ]],
[[ ████ ████ ████ ]],
[[ █████ ████████ ]],
[[ █████ ███████ ]],
[[ █████ ██████ ]],
[[ █████ █████ ]],
[[ ████ ████ ]],
[[ ███ ███ ]],
[[ ]],
[[ N E O V I M ]],
}, {
["b"] = { fg = "#3399ff", ctermfg = 33 },
["a"] = { fg = "#53C670", ctermfg = 35 },
["g"] = { fg = "#39ac56", ctermfg = 29 },
["h"] = { fg = "#33994d", ctermfg = 23 },
["i"] = { fg = "#33994d", bg = "#39ac56", ctermfg = 23, ctermbg = 29 },
["j"] = { fg = "#53C670", bg = "#33994d", ctermfg = 35, ctermbg = 23 },
["k"] = { fg = "#30A572", ctermfg = 36 },
}, {
[[ kkkka gggg ]],
[[ kkkkaa ggggg ]],
[[ b kkkaaa ggggg ]],
[[ bb kkaaaa ggggg ]],
[[ bbb kaaaaa ggggg ]],
[[ bbbb aaaaaa ggggg ]],
[[ bbbbb aaaaaa igggg ]],
[[ bbbbb aaaaaahiggg ]],
[[ bbbbb aaaaajhigg ]],
[[ bbbbb aaaaajhig ]],
[[ bbbbb aaaaajhi ]],
[[ bbbbb aaaaajh ]],
[[ bbbb aaaaa ]],
[[ ]],
[[ a a a b b b ]],
})
header.type = "text"
header.opts.position = "center"
local vim_version = { local vim_version = {
type = "text", type = "text",
@ -92,10 +148,10 @@ return {
type = "text", type = "text",
val = function() val = function()
if lstatus.has_updates() and lstatus.updates() then if lstatus.has_updates() and lstatus.updates() then
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@keyword.return" }) vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@keyword.return", force = true })
return "Plugin updates available!" return "Plugin updates available!"
else else
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@string" }) vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@string", force = true })
return "All plugins up to date" return "All plugins up to date"
end end
end, end,
@ -149,7 +205,7 @@ return {
val = { val = {
button("e", " New File", ":ene <BAR> startinsert <CR>"), button("e", " New File", ":ene <BAR> startinsert <CR>"),
button("f", "󰈞 Find File", ":Telescope find_files<CR>"), button("f", "󰈞 Find File", ":Telescope find_files<CR>"),
button("r", "󱝏 Recent", ":Telescope oldfiles<CR>"), button("r", "󱝏 Recent", ":Telescope smart_open<CR>"),
button("s", " Settings", "<cmd>e ~/.config/nvim/<CR>"), button("s", " Settings", "<cmd>e ~/.config/nvim/<CR>"),
button("u", " Update Plugins", ":Lazy sync<CR>"), button("u", " Update Plugins", ":Lazy sync<CR>"),
button("q", " Quit", ":qa<CR>"), button("q", " Quit", ":qa<CR>"),
@ -169,18 +225,19 @@ return {
end end
local opts = { local opts = {
layout = { layout = {
padding(8), padding(10),
header, header,
padding(1),
vim_version, vim_version,
padding(2), padding(1),
datetime, datetime,
padding(1), padding(1),
plugin_info, plugin_info,
padding(1), padding(1),
plugins_loaded, plugins_loaded,
padding(2), padding(1),
buttons, buttons,
padding(2), padding(1),
fortune, fortune,
}, },
opts = { margin = 5 }, opts = { margin = 5 },

View File

@ -1,8 +0,0 @@
return {
{
"LunarVim/bigfile.nvim",
opts = {
filesize = 100,
},
},
}

View File

@ -0,0 +1,220 @@
return {
{
"folke/lazydev.nvim",
cmd = "LazyDev",
ft = "lua",
opts = {
library = {
{ path = "luassert-types/library", words = { "assert" } },
{ path = "busted-types/library", words = { "describe" } },
{ path = "${3rd}/luv/library", words = { "vim%.uv", "vim%.loop" } },
},
},
dependencies = {
{ "LuaCATS/luassert", lazy = true },
{ "LuaCATS/busted", lazy = true },
},
},
{
"saghen/blink.compat",
-- lazy.nvim will automatically load the plugin when it's required by blink.cmp
lazy = true,
-- make sure to set opts so that lazy.nvim calls blink.compat's setup
config = function()
require("blink.compat").setup({})
end,
},
{
"saghen/blink.cmp",
lazy = false, -- lazy loading handled internally
dependencies = {
"rafamadriz/friendly-snippets",
{
"L3MON4D3/LuaSnip",
build = "make install_jsregexp",
},
"amarakon/nvim-cmp-lua-latex-symbols",
"mikavilpas/blink-ripgrep.nvim",
"moyiz/blink-emoji.nvim",
},
build = "nix run .#build-plugin",
config = function()
---@class CustomKindMapItem
---@field icon string
---@field hlgroup string
---@type table<string, CustomKindMapItem>
local custom_kind_map = {
Dadbod = { icon = "󰆼", hlgroup = "Dadbod" },
Emoji = { icon = "󰞅", hlgroup = "Emoji" },
Ripgrep = { icon = "", hlgroup = "Ripgrep" },
["lua-latex-symbols"] = { icon = "󰿈", hlgroup = "LatexSymbol" },
cmdline = { icon = "", hlgroup = "CommandLine" },
Orgmode = { icon = "", hlgroup = "Orgmode" },
Buffer = { icon = "󰱼", hlgroup = "Buffer" },
}
---@diagnostic disable-next-line: missing-fields
require("blink.cmp").setup({
-- 'default' for mappings similar to built-in completion
-- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
-- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
-- see the "default configuration" section below for full documentation on how to define
-- your own keymap.
keymap = {
preset = "default",
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
["<C-e>"] = { "hide", "fallback" },
["<CR>"] = {
function(cmp)
if vim.api.nvim_get_mode().mode:lower() == "c" then
return cmp.accept({
callback = function()
vim.api.nvim_feedkeys(
vim.api.nvim_replace_termcodes("<CR>", true, true, true),
"n",
true
)
end,
})
else
return cmp.accept()
end
end,
"fallback",
},
["<C-Tab>"] = {
function(cmp)
if cmp.snippet_active() then
return cmp.accept()
else
return cmp.select_and_accept()
end
end,
"snippet_forward",
"fallback",
},
["<C-S-Tab>"] = { "snippet_backward", "fallback" },
["<Up>"] = { "select_prev", "fallback" },
["<Down>"] = { "select_next", "fallback" },
["<Tab>"] = { "select_next", "fallback" },
["<S-Tab>"] = { "select_prev", "fallback" },
["<C-p>"] = { "select_prev", "fallback" },
["<C-n>"] = { "select_next", "fallback" },
["\\"] = {
function(cmp)
cmp.show({ providers = { "lua-latex-symbols" } })
end,
"fallback",
},
["<C-s>"] = { "scroll_documentation_up", "fallback" },
["<C-d>"] = { "scroll_documentation_down", "fallback" },
},
---@diagnostic disable-next-line: missing-fields
appearance = {
use_nvim_cmp_as_default = false,
-- Set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned
nerd_font_variant = "normal",
},
---@diagnostic disable-next-line: missing-fields
sources = {
default = {
"lazydev",
"lsp",
"path",
"snippets",
"buffer",
"ripgrep",
"emoji",
"orgmode",
"dadbod",
},
providers = {
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
score_offset = 100,
},
ripgrep = {
module = "blink-ripgrep",
score_offset = -5,
max_items = 5,
name = "Ripgrep",
--- @module "blink-ripgrep"
--- @type blink-ripgrep.Options
opts = {
prefix_min_len = 3,
search_casing = "--smart-case",
additional_rg_options = {
"--hidden",
"--word-regexp",
"--glob=!.git/*",
},
},
},
["lua-latex-symbols"] = {
name = "lua-latex-symbols",
module = "blink.compat.source",
opts = {
cache = true,
},
},
emoji = {
module = "blink-emoji",
name = "Emoji",
},
dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
orgmode = {
name = "Orgmode",
module = "orgmode.org.autocompletion.blink",
score_offset = 5,
},
},
},
---@diagnostic disable-next-line: missing-fields
completion = {
documentation = {
auto_show = true,
auto_show_delay_ms = 50,
},
list = {
selection = "auto_insert",
},
ghost_text = {
enabled = true,
},
---@diagnostic disable-next-line: missing-fields
menu = {
winblend = 50,
draw = {
padding = { 0, 1 },
components = {
kind_icon = {
text = function(ctx)
local cust_kind_item = custom_kind_map[ctx.source_name]
if cust_kind_item then
ctx.kind_icon = cust_kind_item.icon
end
return ctx.icon_gap .. ctx.kind_icon .. ctx.icon_gap
end,
highlight = function(ctx)
local cust_kind_item = custom_kind_map[ctx.source_name]
if cust_kind_item then
return "BlinkCmpKindCustom" .. cust_kind_item.hlgroup
end
return require("blink.cmp.completion.windows.render.tailwind").get_hl(ctx)
or ("BlinkCmpKind" .. ctx.kind)
end,
},
},
},
},
},
})
end,
},
}

View File

@ -1,25 +0,0 @@
vim.api.nvim_create_autocmd("TermOpen", {
callback = function(args)
vim.keymap.set("n", "q", function()
require("bufdelete").bufdelete(0, true)
end, { silent = true, buffer = args.buf, remap = true, desc = "Close Terminal Buffer" })
end,
})
return {
{
"famiu/bufdelete.nvim",
cmd = "Bdelete",
keys = {
{ "<A-x>", "<cmd>Bdelete<cr>", desc = "Close Buffer", mode = { "", "!", "v" } },
{
"<A-x>",
function()
require("bufdelete").bufdelete(0, true)
end,
desc = "Close Buffer",
mode = { "t" },
},
},
},
}

View File

@ -1,366 +0,0 @@
---@diagnostic disable: missing-fields
return {
{
"folke/lazydev.nvim",
cmd = "LazyDev",
ft = "lua",
opts = {
library = {
{ path = "luassert-types/library", words = { "assert" } },
{ path = "busted-types/library", words = { "describe" } },
{ path = "luvit-meta/library", words = { "vim%.uv", "vim%.loop" } },
},
},
dependencies = {
{ "Bilal2453/luvit-meta", lazy = true },
{ "LuaCATS/luassert", lazy = true },
{ "LuaCATS/busted", lazy = true },
},
},
{
"iguanacucumber/magazine.nvim",
name = "nvim-cmp", -- Otherwise highlighting gets messed up
event = { "InsertEnter", "ModeChanged" },
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-emoji",
"amarakon/nvim-cmp-lua-latex-symbols",
{
"petertriho/cmp-git",
dependencies = {
"nvim-lua/plenary.nvim",
},
opts = {},
},
"hrsh7th/cmp-nvim-lsp-signature-help",
"hrsh7th/cmp-calc",
"davidsierradz/cmp-conventionalcommits",
{
"tamago324/cmp-zsh",
opts = {
zshrc = true,
filetypes = { "*" },
},
},
"dmitmel/cmp-cmdline-history",
"David-Kunz/cmp-npm",
"lukas-reineke/cmp-rg",
"onsails/lspkind.nvim",
"FelipeLema/cmp-async-path",
{
"tzachar/cmp-fuzzy-buffer",
dependencies = {
"tzachar/fuzzy.nvim",
},
},
-- Snippets
{
"L3MON4D3/LuaSnip",
build = "make install_jsregexp",
dependencies = {
"rafamadriz/friendly-snippets",
"saadparwaiz1/cmp_luasnip",
},
},
},
config = function()
local cmp = require("cmp")
local str = require("cmp.utils.str")
local compare = cmp.config.compare
local luasnip = require("luasnip")
-- Load Snippets
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_lua").load({
paths = { vim.fn.stdpath("config") .. "/lua/plugins/snippets" },
})
---@param sources table?
local standard_sources = function(sources)
sources = sources or {}
local default_sources = {
{ name = "async_path" },
{ name = "lazydev", group_index = 0 },
{ name = "nvim_lsp" },
{ "nvim_lsp_signature_help" },
{ name = "luasnip", max_item_count = 5 }, -- For luasnip users.
{ name = "calc" },
{ name = "emoji", keyword_length = 2, max_item_count = 10 },
{
name = "lua-latex-symbols",
option = { cache = true },
max_item_count = 5,
trigger_characters = { "\\" },
},
{
name = "fuzzy_buffer",
max_item_count = 5,
},
{
name = "rg",
keyword_length = 3,
max_item_count = 5,
option = {
"--smart-case",
"--hidden",
"--max-depth 4",
},
},
{ name = "zsh", max_item_count = 5 },
{ name = "npm", keyword_length = 2 },
}
vim.tbl_map(function(source)
table.insert(default_sources, 1, source)
end, sources)
return cmp.config.sources(default_sources)
end
cmp.setup({
formatting = {
fields = { cmp.ItemField.Kind, cmp.ItemField.Abbr, cmp.ItemField.Menu },
---@param entry cmp.Entry
---@param vim_item vim.CompletedItem
format = function(entry, vim_item)
local selections = {
["vim-dadbod-completion"] = { symbol = "󰆼 ", name = "DB", hl_group = "DadbodCompletion" },
calc = { symbol = "", name = "Calculator", hl_group = "Calculator" },
orgmode = { symbol = "", name = "Org", hl_group = "Orgmode" },
emoji = { symbol = "󰞅 ", name = "Emoji", hl_group = "Emoji" },
zsh = { symbol = "", name = "Zsh", hl_group = "Zsh" },
["crates.nvim"] = { symbol = "", name = "Crates", hl_group = "Crates" },
cmdline_history = { symbol = "", name = "Cmd History", hl_group = "CmdHistory" },
rg = { symbol = "", name = "Ripgrep", hl_group = "Ripgrep" },
fuzzy_buffer = { symbol = "󰱼 ", name = "Buffer", hl_group = "Buffer" },
npm = { symbol = "", name = "Npm", hl_group = "Npm" },
conventionalcommits = { symbol = "", name = "Commit", hl_group = "Commit" },
git = { symbol = "󰊢 ", name = "Git", hl_group = "Git" },
docker_compose_language_service = { symbol = "󰡨 ", name = "Docker", hl_group = "Docker" },
luasnip = { symbol = "", name = "Snippet" },
["lua-latex-symbols"] = { symbol = "󰡱 ", name = "Math", hl_group = "LuaLatexSymbol" },
}
local extra_kind_icons = {
TypeParameter = "",
}
local selection
local lsp_name
-- vim.notify(vim.inspect(entry.source))
if entry.source.name == "nvim_lsp" then
lsp_name = entry.source.source.client.name
selection = selections[lsp_name]
else
selection = selections[entry.source.name]
end
local completion_item = vim_item
local abbr_max_width = 72
if not selection then
local kind = require("lspkind").cmp_format({
mode = "symbol_text",
maxwidth = abbr_max_width,
})(entry, vim_item)
local strings = vim.split(kind.kind, "%s", { trimempty = true })
if not strings[2] then
strings[2] = strings[1]
strings[1] = extra_kind_icons[strings[1]] or ""
end
kind.kind = " " .. strings[1] .. " "
if not kind.menu and lsp_name then
kind.menu = "" .. lsp_name
end
completion_item = kind
else
completion_item.kind = " " .. selection.symbol
completion_item.menu = selection.symbol .. selection.name
if selection.hl_group then
completion_item.kind_hl_group = "CmpCustomSelection" .. selection.hl_group
end
end
if not completion_item.abbr then
local word = entry:get_insert_text()
word = str.oneline(word)
completion_item.abbr = word
end
--- If the completion item looks like a file path and exists, go ahead and
--- abbreviate it relative to the home directory
if
vim.fn.isdirectory(completion_item.abbr) == 1
or vim.fn.filereadable(completion_item.abbr) == 1
then
completion_item.abbr = vim.fn.fnamemodify(completion_item.abbr, ":~")
end
if string.len(completion_item.abbr) >= abbr_max_width then
local before = string.sub(completion_item.abbr, 1, math.floor((abbr_max_width - 3) / 2))
completion_item.abbr = before .. "..."
end
-- concatenates the string
return completion_item
end,
},
performance = {
debounce = 0,
fetching_timeout = 100,
},
view = {
entries = {
name = "custom",
follow_cursor = true,
selection_order = "near_cursor",
},
},
matching = {
disallow_partial_fuzzy_matching = false,
disallow_fullfuzzy_matching = false,
disallow_partial_matching = false,
disallow_fuzzy_matching = false,
disallow_prefix_unmatching = false,
},
window = {
documentation = {
side_padding = 0,
},
completion = {
winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:Visual,Search:None",
col_offset = -3,
side_padding = 0,
},
},
experimental = { ghost_text = { hl_group = "CmpGhostText" } },
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
require("luasnip").lsp_expand(args.body) -- For `luasnip` users.
end,
},
mapping = {
["<C-k>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { "i", "c" }),
["<C-j>"] = cmp.mapping(cmp.mapping.scroll_docs(4), { "i", "c" }),
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
["<C-e>"] = cmp.mapping({
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
}),
["<CR>"] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
["<C-Tab>"] = cmp.mapping(function(fallback)
if luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { "i", "s" }),
["<C-S-Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
},
sources = standard_sources(),
sorting = {
priority_weight = 2,
comparators = {
compare.locality,
compare.recently_used,
compare.score,
require("cmp_fuzzy_buffer.compare"),
compare.offset,
compare.exact,
-- Copied from cmp-under-comparator
function(entry1, entry2)
local _, entry1_under = entry1.completion_item.label:find("^_+")
local _, entry2_under = entry2.completion_item.label:find("^_+")
entry1_under = entry1_under or 0
entry2_under = entry2_under or 0
if entry1_under > entry2_under then
return false
elseif entry1_under < entry2_under then
return true
end
end,
},
},
})
-- Git Commit Completions
cmp.setup.filetype("gitcommit", {
sources = standard_sources({
{ name = "git", priority = 20 },
{ name = "conventionalcommits", priority = 19 },
}),
})
cmp.setup.filetype("octo", {
sources = standard_sources({
{ name = "git", priority = 20 },
}),
})
cmp.setup.filetype(
"sql",
{ sources = standard_sources({ { name = "vim-dadbod-completion", priority = 20 } }) }
)
cmp.setup.filetype(
"mysql",
{ sources = standard_sources({ { name = "vim-dadbod-completion", priority = 20 } }) }
)
cmp.setup.filetype(
"plsql",
{ sources = standard_sources({ { name = "vim-dadbod-completion", priority = 20 } }) }
)
cmp.setup.filetype("org", { sources = standard_sources({ { name = "orgmode", priority = 20 } }) })
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline("/", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ { name = "fuzzy_buffer" } }),
})
cmp.setup.cmdline("?", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ { name = "fuzzy_buffer" } }),
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = "cmdline_history", max_item_count = 3 },
{
name = "cmdline",
option = {
ignore_cmds = {
"!",
},
},
priority = 100,
},
}),
})
end,
},
}

View File

@ -0,0 +1,13 @@
return {
{
"actionshrimp/direnv.nvim",
lazy = false,
config = function()
local direnv = require("direnv-nvim")
-- TODO: Make this properly restart LSP clients as necessary
direnv.setup({
async = true,
})
end,
},
}

View File

@ -0,0 +1,12 @@
return {
{
"MagicDuck/grug-far.nvim",
cmd = { "GrugFar" },
keys = {
{ ",,", "<cmd>GrugFar<CR>", desc = "GrugFar: Open" },
},
config = function()
require("grug-far").setup({})
end,
},
}

View File

@ -24,32 +24,8 @@ return {
local headlines = require("headlines") local headlines = require("headlines")
headlines.setup({ headlines.setup({
markdown = { markdown = {
bullets = bullets, bullets = false,
bullet_highlights = bullet_highlights, query = false,
fat_headline_lower_string = "",
query = vim.treesitter.query.parse(
"markdown",
[[
(atx_heading [
(atx_h1_marker)
(atx_h2_marker)
(atx_h3_marker)
(atx_h4_marker)
(atx_h5_marker)
(atx_h6_marker)
] @headline)
(thematic_break) @dash
(fenced_code_block) @codeblock
(block_quote_marker) @quote
(block_quote (paragraph (inline (block_continuation) @quote)))
(block_quote (paragraph (block_continuation) @quote))
(block_quote (list (list_item (paragraph (inline (block_continuation) @quote)))))
(block_quote (block_continuation) @quote)
]]
),
}, },
rmd = { rmd = {
bullets = bullets, bullets = bullets,
@ -72,6 +48,6 @@ return {
callback = headlines.refresh, callback = headlines.refresh,
}) })
end, end,
ft = { "markdown", "norg", "rmd", "org" }, ft = { "norg", "rmd", "org" },
}, },
} }

View File

@ -208,7 +208,7 @@ return {
else else
---@diagnostic disable-next-line: cast-local-type ---@diagnostic disable-next-line: cast-local-type
filename = vim.fn.fnamemodify(self.filename, ":~:.") filename = vim.fn.fnamemodify(self.filename, ":~:.")
if not conditions.width_percent_below(#filename, 0.5, true) then if not conditions.width_percent_below(#filename, 0.3, true) then
filename = vim.fn.pathshorten(filename) filename = vim.fn.pathshorten(filename)
end end
end end
@ -458,6 +458,7 @@ return {
}, },
{ {
condition = conditions.lsp_attached, condition = conditions.lsp_attached,
update = { "LspAttach", "LspDetach" },
{ {
provider = function() provider = function()
local names = {} local names = {}
@ -715,8 +716,13 @@ return {
if not headline then if not headline then
return return
end end
headline = headline:refresh()
local logbook = headline:get_logbook()
if not logbook then
return
end
local clocked_time = headline:get_logbook():get_total_with_active():to_string() local clocked_time = logbook:get_total_with_active():to_string()
local effort = headline:get_property("effort") local effort = headline:get_property("effort")
local time_elapsed = "" local time_elapsed = ""
if effort then if effort then

View File

@ -1,19 +0,0 @@
return {
{
"jellydn/hurl.nvim",
dependencies = { "MunifTanjim/nui.nvim" },
ft = "hurl",
opts = {
debug = false,
mode = "split",
formatters = {
json = { "jq" },
html = {
"prettier",
"--parser",
"html",
},
},
},
},
}

View File

@ -1,6 +1,8 @@
return { return {
{ {
"nvimtools/hydra.nvim", -- "nvimtools/hydra.nvim",
-- TODO: Point this back to `nvimtools` once they decide to update to support nightly
"Cathyprime/hydra.nvim",
dependencies = { dependencies = {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
"jbyuki/venn.nvim", "jbyuki/venn.nvim",

View File

@ -1,7 +1,6 @@
return { return {
{ {
"HakonHarnes/img-clip.nvim", "HakonHarnes/img-clip.nvim",
opts = {},
cmd = { cmd = {
"PasteImage", "PasteImage",
"ImgClipDebug", "ImgClipDebug",
@ -10,5 +9,10 @@ return {
keys = { keys = {
{ "<leader>p", "<cmd>PasteImage<cr>", desc = "Paste Image" }, { "<leader>p", "<cmd>PasteImage<cr>", desc = "Paste Image" },
}, },
config = function()
require("img-clip").setup({
relative_to_current_file = true,
})
end,
}, },
} }

View File

@ -34,6 +34,7 @@ return {
}, },
}, },
indent = { indent = {
repeat_linebreak = true,
char = "", char = "",
tab_char = "", tab_char = "",
smart_indent_cap = true, smart_indent_cap = true,

View File

@ -46,8 +46,8 @@ return {
-- Built-ins -- Built-ins
{ "StatusLineNC", { bg = nil } }, { "StatusLineNC", { bg = nil } },
{ "menuSel", { bg = colors.sumiInk0, fg = "NONE" } },
{ "Pmenu", { fg = colors.fujiWhite, bg = colors.sumiInk2 } }, { "Pmenu", { fg = colors.fujiWhite, bg = colors.sumiInk2 } },
{ "PmenuSel", get_hl("PmenuSel", { blend = 25 }) },
{ "WinBarNC", { bg = nil } }, { "WinBarNC", { bg = nil } },
{ "Visual", { bg = colors.sumiInk5 } }, { "Visual", { bg = colors.sumiInk5 } },
{ "CursorLine", { bg = colors.sumiInk4 } }, { "CursorLine", { bg = colors.sumiInk4 } },
@ -108,64 +108,64 @@ return {
{ "NeogitNotificationError", { fg = colors.samuraiRed, bold = true } }, { "NeogitNotificationError", { fg = colors.samuraiRed, bold = true } },
-- Cmp -- Cmp
{ "CmpGhostText", { fg = colors.boatYellow1, italic = true } }, { "BlinkCmpAbbrDeprecated", { fg = colors.fujiGray, bg = "NONE" } },
{ "CmpItemAbbrDeprecated", { fg = colors.fujiGray, bg = "NONE" } }, { "BlinkCmpAbbrMatch", { fg = colors.crystalBlue, bg = "NONE" } },
{ "CmpItemAbbrMatch", { fg = colors.crystalBlue, bg = "NONE" } }, { "BlinkCmpAbbrMatchFuzzy", { fg = colors.crystalBlue, bg = "NONE" } },
{ "CmpItemAbbrMatchFuzzy", { fg = colors.crystalBlue, bg = "NONE" } }, { "BlinkCmpMenu", { fg = colors.roninYellow, bg = "NONE" } },
{ "CmpItemMenu", { fg = colors.roninYellow, bg = "NONE" } }, { "BlinkCmpKindField", { fg = colors.fujiWhite, bg = colors.sakuraPink, blend = 0 } },
{ "CmpItemKindField", { fg = colors.fujiWhite, bg = colors.sakuraPink } }, { "BlinkCmpKindProperty", { fg = colors.fujiWhite, bg = colors.sakuraPink, blend = 0 } },
{ "CmpItemKindProperty", { fg = colors.fujiWhite, bg = colors.sakuraPink } }, { "BlinkCmpKindEvent", { fg = colors.fujiWhite, bg = colors.sakuraPink, blend = 0 } },
{ "CmpItemKindEvent", { fg = colors.fujiWhite, bg = colors.sakuraPink } }, { "BlinkCmpKindText", { fg = colors.fujiWhite, bg = colors.dragonBlue, blend = 0 } },
{ "CmpItemKindText", { fg = colors.fujiWhite, bg = colors.dragonBlue } }, { "BlinkCmpKindEnum", { fg = colors.fujiWhite, bg = colors.crystalBlue, blend = 0 } },
{ "CmpItemKindEnum", { fg = colors.fujiWhite, bg = colors.crystalBlue } }, { "BlinkCmpKindKeyword", { fg = colors.fujiWhite, bg = colors.surimiOrange, blend = 0 } },
{ "CmpItemKindKeyword", { fg = colors.fujiWhite, bg = colors.springBlue } }, { "BlinkCmpKindConstant", { fg = colors.fujiWhite, bg = colors.crystalBlue, blend = 0 } },
{ "CmpItemKindConstant", { fg = colors.fujiWhite, bg = colors.crystalBlue } }, { "BlinkCmpKindConstructor", { fg = colors.fujiWhite, bg = colors.crystalBlue, blend = 0 } },
{ "CmpItemKindConstructor", { fg = colors.fujiWhite, bg = colors.crystalBlue } }, { "BlinkCmpKindReference", { fg = colors.fujiWhite, bg = colors.crystalBlue, blend = 0 } },
{ "CmpItemKindReference", { fg = colors.fujiWhite, bg = colors.crystalBlue } }, { "BlinkCmpKindFunction", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpItemKindFunction", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindStruct", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpItemKindStruct", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindClass", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpItemKindClass", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindModule", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpItemKindModule", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindOperator", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpItemKindOperator", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindVariable", { fg = colors.fujiWhite, bg = colors.peachRed, blend = 0 } },
{ "CmpItemKindVariable", { fg = colors.fujiWhite, bg = colors.roninYellow } }, { "BlinkCmpKindFile", { fg = colors.fujiWhite, bg = colors.autumnYellow, blend = 0 } },
{ "CmpItemKindFile", { fg = colors.fujiWhite, bg = colors.autumnYellow } }, { "BlinkCmpKindUnit", { fg = colors.fujiWhite, bg = colors.autumnYellow, blend = 0 } },
{ "CmpItemKindUnit", { fg = colors.fujiWhite, bg = colors.autumnYellow } }, { "BlinkCmpKindSnippet", { fg = colors.fujiWhite, bg = colors.autumnYellow, blend = 0 } },
{ "CmpItemKindSnippet", { fg = colors.fujiWhite, bg = colors.autumnYellow } }, { "BlinkCmpKindFolder", { fg = colors.fujiWhite, bg = colors.autumnYellow, blend = 0 } },
{ "CmpItemKindFolder", { fg = colors.fujiWhite, bg = colors.autumnYellow } }, { "BlinkCmpKindMethod", { fg = colors.fujiWhite, bg = colors.autumnGreen, blend = 0 } },
{ "CmpItemKindMethod", { fg = colors.fujiWhite, bg = colors.autumnGreen } }, { "BlinkCmpKindValue", { fg = colors.fujiWhite, bg = colors.autumnGreen, blend = 0 } },
{ "CmpItemKindValue", { fg = colors.fujiWhite, bg = colors.autumnGreen } }, { "BlinkCmpKindEnumMember", { fg = colors.fujiWhite, bg = colors.autumnGreen, blend = 0 } },
{ "CmpItemKindEnumMember", { fg = colors.fujiWhite, bg = colors.autumnGreen } }, { "BlinkCmpKindInterface", { fg = colors.fujiWhite, bg = colors.waveRed, blend = 0 } },
{ "CmpItemKindInterface", { fg = colors.fujiWhite, bg = colors.waveRed } }, { "BlinkCmpKindColor", { fg = colors.fujiWhite, bg = colors.waveAqua2, blend = 0 } },
{ "CmpItemKindColor", { fg = colors.fujiWhite, bg = colors.waveAqua2 } }, { "BlinkCmpKindTypeParameter", { fg = colors.fujiWhite, bg = colors.waveAqua2, blend = 0 } },
{ "CmpItemKindTypeParameter", { fg = colors.fujiWhite, bg = colors.waveAqua2 } }, { "BlinkCmpKindCustomEmoji", { fg = colors.fujiWhite, bg = colors.boatYellow2, blend = 0 } },
{ "CmpCustomSelectionColor", { bg = colors.sumiInk5 } }, { "BlinkCmpKindCustomRipgrep", { fg = colors.fujiWhite, bg = colors.crystalBlue, blend = 0 } },
{ "CmpCustomSelectionDadbodCompletion", { fg = colors.fujiWhite, bg = colors.oniViolet } }, { "BlinkCmpKindCustomDadbod", { fg = colors.fujiWhite, bg = colors.oniViolet, blend = 0 } },
{ "CmpCustomSelectionGit", { fg = colors.fujiWhite, bg = colors.roninYellow } }, { "BlinkCmpKindCustomLatexSymbol", { fg = colors.fujiWhite, bg = colors.surimiOrange, blend = 0 } },
{ "CmpCustomSelectionBuffer", { fg = colors.fujiWhite, bg = colors.springBlue } }, { "BlinkCmpKindCustomCommandLine", { fg = colors.fujiWhite, bg = colors.springViolet1, blend = 0 } },
{ "CmpCustomSelectionPath", { fg = colors.fujiWhite, bg = colors.autumnYellow } }, { "BlinkCmpKindCustomOrgmode", { fg = colors.fujiWhite, bg = colors.waveAqua1, blend = 0 } },
{ "CmpCustomSelectionCalculator", { fg = colors.fujiWhite, bg = colors.waveBlue2 } }, { "BlinkCmpKindCustomBuffer", { fg = colors.fujiWhite, bg = colors.springBlue, blend = 0 } },
{ "CmpCustomSelectionOrgmode", { fg = colors.fujiWhite, bg = colors.waveAqua1 } }, { "CmpCustomSelectionColor", { bg = colors.sumiInk5, blend = 0 } },
{ "CmpCustomSelectionEmoji", { fg = colors.fujiWhite, bg = colors.carpYellow } }, { "CmpCustomSelectionGit", { fg = colors.fujiWhite, bg = colors.roninYellow, blend = 0 } },
{ "CmpCustomSelectionZsh", { fg = colors.fujiWhite, bg = colors.springGreen } }, { "CmpCustomSelectionPath", { fg = colors.fujiWhite, bg = colors.autumnYellow, blend = 0 } },
{ "CmpCustomSelectionCrates", { fg = colors.fujiWhite, bg = colors.roninYellow } }, { "CmpCustomSelectionCalculator", { fg = colors.fujiWhite, bg = colors.waveBlue2, blend = 0 } },
{ "CmpCustomSelectionDocker", { fg = colors.fujiWhite, bg = colors.springBlue } }, { "CmpCustomSelectionCrates", { fg = colors.fujiWhite, bg = colors.roninYellow, blend = 0 } },
{ "CmpCustomSelectionCmdHistory", { fg = colors.fujiWhite, bg = colors.waveBlue2 } }, { "CmpCustomSelectionDocker", { fg = colors.fujiWhite, bg = colors.springBlue, blend = 0 } },
{ "CmpCustomSelectionRipgrep", { fg = colors.fujiWhite, bg = colors.crystalBlue } }, { "CmpCustomSelectionCmdHistory", { fg = colors.fujiWhite, bg = colors.waveBlue2, blend = 0 } },
{ "CmpCustomSelectionNpm", { fg = colors.fujiWhite, bg = colors.peachRed } }, { "CmpCustomSelectionNpm", { fg = colors.fujiWhite, bg = colors.peachRed, blend = 0 } },
{ "CmpCustomSelectionCommit", { fg = colors.fujiWhite, bg = colors.peachRed } }, { "CmpCustomSelectionCommit", { fg = colors.fujiWhite, bg = colors.peachRed, blend = 0 } },
{ "CmpCustomSelectionSnippet", { fg = colors.fujiWhite, bg = colors.peachRed } }, { "CmpCustomSelectionSnippet", { fg = colors.fujiWhite, bg = colors.peachRed, blend = 0 } },
{ "CmpCustomSelectionLuaLatexSymbol", { fg = colors.fujiWhite, bg = colors.surimiOrange } },
-- Telescope -- Telescope
{ "TelescopeNormal", { bg = colors.sumiInk2 } }, { "TelescopeNormal", { bg = colors.sumiInk2 } },
{ "TelescopeBorder", { bg = colors.sumiInk2, fg = colors.sumiInk1 } }, { "TelescopeBorder", { bg = colors.sumiInk2, fg = colors.sumiInk1 } },
{ "TelescopeSelection", { bg = colors.sumiInk4, blend = 0 } },
{ "TelescopePromptBorder", { bg = colors.sumiInk0, fg = colors.sumiInk0 } }, { "TelescopePromptBorder", { bg = colors.sumiInk0, fg = colors.sumiInk0 } },
{ "TelescopePromptNormal", { bg = colors.sumiInk0, fg = colors.fujiWhite } }, { "TelescopePromptNormal", { bg = colors.sumiInk0, fg = colors.fujiWhite } },
{ "TelescopePromptTitle", { fg = colors.sumiInk0, bg = colors.oniViolet } }, { "TelescopePromptTitle", { fg = colors.sumiInk0, bg = colors.oniViolet, blend = 0 } },
{ "TelescopePreviewTitle", { fg = colors.sumiInk0, bg = colors.sakuraPink } }, { "TelescopePreviewTitle", { fg = colors.sumiInk0, bg = colors.sakuraPink, blend = 0 } },
{ "TelescopePreviewNormal", { bg = colors.sumiInk4 } }, { "TelescopePreviewNormal", { bg = colors.sumiInk4 } },
{ "TelescopePreviewBorder", { link = "TelescopePreviewNormal" } }, { "TelescopePreviewBorder", { link = "TelescopePreviewNormal" } },
{ "TelescopeResultsTitle", { fg = "NONE", bg = "NONE" } }, { "TelescopeResultsTitle", { fg = "NONE", bg = "NONE", blend = 0 } },
{ "IlluminatedWordText", { bg = colors.waveBlue2 } }, { "IlluminatedWordText", { bg = colors.waveBlue2 } },
{ "IlluminatedWordRead", { bg = colors.waveBlue2 } }, { "IlluminatedWordRead", { bg = colors.waveBlue2 } },
@ -364,7 +364,7 @@ return {
{ "@markup.heading.6.marker", { link = "@markup.heading.6" } }, { "@markup.heading.6.marker", { link = "@markup.heading.6" } },
{ "@markup.heading.7.marker", { link = "@markup.heading.7" } }, { "@markup.heading.7.marker", { link = "@markup.heading.7" } },
{ "@markup.heading.8.marker", { link = "@markup.heading.8" } }, { "@markup.heading.8.marker", { link = "@markup.heading.8" } },
{ "@markup.quote", { fg = colors.oldWhite }}, { "@markup.quote", { fg = colors.oldWhite } },
-- For Visual Whitespace plugin -- For Visual Whitespace plugin
{ "visual-whitespace", get_hl("Visual", { fg = colors.fujiGray }) }, { "visual-whitespace", get_hl("Visual", { fg = colors.fujiGray }) },

View File

@ -11,16 +11,25 @@ return {
commands = { commands = {
GG = { cmd = "g" }, GG = { cmd = "g" },
Norm = { cmd = "norm" }, Norm = { cmd = "norm" },
Reg = {
cmd = "norm",
-- This will transform ":5Reg a" into ":norm 5@a"
args = function(opts)
return (opts.count == -1 and "" or opts.count) .. "@" .. opts.args
end,
range = "",
},
}, },
}) })
-- Transforms ":5Reg a" into ":norm 5@a"
local function get_command_string(cmd)
local get_range_string = require("live-command").get_range_string
local args = (cmd.count == -1 and "" or cmd.count) .. "@" .. cmd.args
return get_range_string(cmd) .. "norm " .. args
end
vim.api.nvim_create_user_command("Reg", function(cmd)
vim.cmd(get_command_string(cmd))
end, {
nargs = "?",
range = true,
preview = function(cmd, preview_ns, preview_buf)
local cmd_to_preview = get_command_string(cmd)
return require("live-command").preview_callback(cmd_to_preview, preview_ns, preview_buf)
end,
})
end, end,
}, },
} }

View File

@ -93,47 +93,7 @@ return {
}, },
{ {
"mrcjkb/rustaceanvim", "mrcjkb/rustaceanvim",
ft = { "rust" }, lazy = false,
init = function()
vim.g.rustaceanvim = {
dap = {
adapter = {
type = "server",
port = "${port}",
executable = {
command = "codelldb",
args = { "--port", "${port}" },
},
},
},
server = {
default_settings = {
["rust-analyzer"] = {
cargo = {
allFeatures = true,
loadOutDirsFromCheck = true,
runBuildScripts = true,
},
checkOnSave = {
allFeatures = true,
allTargets = true,
command = "clippy",
},
procMacro = {
enable = true,
},
},
},
},
tools = {
enable_clippy = true,
executor = require("rustaceanvim.executors").termopen,
hover_actions = {
replace_builtin_hover = false,
},
},
}
end,
config = false, config = false,
}, },
{ {
@ -161,6 +121,7 @@ return {
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
dependencies = { dependencies = {
"actionshrimp/direnv.nvim", -- This ensures that direnv is loaded first
"williamboman/mason.nvim", "williamboman/mason.nvim",
"Decodetalkers/csharpls-extended-lsp.nvim", "Decodetalkers/csharpls-extended-lsp.nvim",
{ {
@ -232,8 +193,6 @@ return {
end, end,
desc = "LSP: Toggle Diagnostics in Current Buffer", desc = "LSP: Toggle Diagnostics in Current Buffer",
}, },
{ "<leader>k", vim.lsp.buf.hover, desc = "LSP: Hover" },
{ "<leader>K", vim.lsp.buf.signature_help, desc = "LSP: Sig Help" },
{ "<leader>lR", ":LspRestart<CR>", desc = "LSP: Restart" }, { "<leader>lR", ":LspRestart<CR>", desc = "LSP: Restart" },
{ {
"<leader>ls", "<leader>ls",
@ -279,8 +238,7 @@ return {
}, },
event = { "BufReadPre", "BufNewFile" }, event = { "BufReadPre", "BufNewFile" },
config = function() config = function()
local lsp_capabilities = local lsp_capabilities = require("blink.cmp").get_lsp_capabilities()
require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local db_timer = vim.uv.new_timer() local db_timer = vim.uv.new_timer()
vim.api.nvim_create_autocmd("LspAttach", { vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args) callback = function(args)
@ -302,7 +260,10 @@ return {
end end
local messages = {} local messages = {}
for _, cur_client in ipairs(cur_clients) do for _, cur_client in ipairs(cur_clients) do
table.insert(messages, "- `" .. cur_client.name .. "`") local client_name = vim.trim(cur_client.name)
if client_name ~= "" then
table.insert(messages, "- `" .. cur_client.name .. "`")
end
end end
vim.notify(table.concat(messages, "\n"), vim.log.levels.INFO, { vim.notify(table.concat(messages, "\n"), vim.log.levels.INFO, {
@ -522,9 +483,10 @@ return {
}, },
}) })
lspconfig.typst_lsp.setup({ lspconfig.tinymist.setup({
settings = { settings = {
exportPdf = "onType", exportPdf = "onType",
formatterMode = "typstyle",
}, },
}) })

View File

@ -1,10 +1,39 @@
return { return {
{ {
"iamcco/markdown-preview.nvim", "wallpants/github-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, ft = "markdown",
ft = { "markdown" }, cmd = {
build = function() "GithubPreviewToggle",
vim.fn["mkdp#util#install"]() "GithubPreviewStart",
"GithubPreviewStop",
},
config = function()
local gpreview = require("github-preview")
gpreview.setup({
-- theme = {
-- "dark"
-- }
})
end,
},
{
"OXY2DEV/markview.nvim",
ft = "markdown",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons",
},
config = function()
require("markview").setup({
hybrid_modes = { "n" },
checkboxes = {
enable = false,
},
list_items = {
enable = false,
},
})
vim.cmd("Markview hybridDisable")
end, end,
}, },
} }

View File

@ -8,6 +8,7 @@ return {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim", "MunifTanjim/nui.nvim",
"miversen33/netman.nvim", "miversen33/netman.nvim",
"folke/snacks.nvim",
}, },
cmd = "Neotree", cmd = "Neotree",
keys = { keys = {
@ -27,8 +28,8 @@ return {
end, end,
}) })
end, end,
opts = function() config = function()
return { require("neo-tree").setup({
sources = { sources = {
"filesystem", "filesystem",
"git_status", "git_status",
@ -71,7 +72,19 @@ return {
["F"] = "fuzzy_finder", ["F"] = "fuzzy_finder",
}, },
}, },
} })
end,
opts = function(_, opts)
local snacks = require("snacks")
local function on_move(data)
snacks.rename.on_rename_file(data.source, data.destination)
end
local events = require("neo-tree.events")
opts.event_handlers = opts.event_handlers or {}
vim.list_extend(opts.event_handlers, {
{ event = events.FILE_MOVED, handler = on_move },
{ event = events.FILE_RENAMED, handler = on_move },
})
end, end,
}, },
} }

View File

@ -3,7 +3,7 @@ return {
"AckslD/nvim-neoclip.lua", "AckslD/nvim-neoclip.lua",
event = { "BufReadPre", "BufNewFile" }, event = { "BufReadPre", "BufNewFile" },
dependencies = { dependencies = {
{ "tami5/sqlite.lua" }, { "kkharji/sqlite.lua", module = "sqlite" },
{ "nvim-telescope/telescope.nvim" }, { "nvim-telescope/telescope.nvim" },
}, },
opts = { opts = {

View File

@ -10,26 +10,44 @@ return {
"nvim-neotest/neotest-plenary", "nvim-neotest/neotest-plenary",
}, },
keys = { keys = {
{ "<localleader>n", desc = "> Neotest" }, { "<leader>k", desc = "> Neotest" },
{ "<localleader>nr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" }, { "<leader>kr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
{ "<localleader>nf", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Test(s) in File" }, { "<leader>kf", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Test(s) in File" },
{ "<localleader>nl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Test(s)" }, { "<leader>kl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Test(s)" },
{ "<localleader>np", "<cmd>Neotest output-panel<CR>", desc = "Neotest: Output Panel" }, { "<leader>kp", "<cmd>Neotest output-panel<CR>", desc = "Neotest: Output Panel" },
{ "<localleader>no", "<cmd>Neotest output<CR>", desc = "Neotest: Output" }, {
{ "<localleader>nn", "<cmd>Neotest summary toggle<CR>", desc = "Neotest: Summary Toggle" }, "<leader>ko",
{ "<localleader>nk", "<cmd>Neotest jump prev<CR>", desc = "Neotest: Jump Prev" }, function()
{ "<localleader>nj", "<cmd>Neotest jump next<CR>", desc = "Neotest: Jump Next" }, local neotest = require("neotest")
{ "<localleader>na", "<cmd>Neotest attach<CR>", desc = "Neotest: Attach" }, neotest.output.open({ enter = true })
end,
desc = "Neotest: Output",
},
{ "<leader>kk", "<cmd>Neotest summary toggle<CR>", desc = "Neotest: Summary Toggle" },
{ "<leader>kn", "<cmd>Neotest jump prev<CR>", desc = "Neotest: Jump Prev" },
{ "<leader>kN", "<cmd>Neotest jump next<CR>", desc = "Neotest: Jump Next" },
{ "<leader>ka", "<cmd>Neotest attach<CR>", desc = "Neotest: Attach" },
}, },
opts = function() config = function()
return { vim.api.nvim_create_autocmd("BufWinEnter", {
pattern = "*Neotest Summary*",
callback = function(args)
local buf = args.buf
for _, winnr in ipairs(vim.fn.win_findbuf(buf)) do
local wo = vim.wo[winnr]
wo.wrap = false
wo.statuscolumn = ""
wo.foldcolumn = "0"
wo.number = false
wo.signcolumn = "no"
end
end,
})
require("neotest").setup({
diagnostic = { diagnostic = {
enable = true, enable = true,
severity = 1, severity = 1,
}, },
discovery = {
concurrent = 4,
},
status = { status = {
virtual_text = true, virtual_text = true,
}, },
@ -38,7 +56,7 @@ return {
require("neotest-go"), require("neotest-go"),
require("rustaceanvim.neotest"), require("rustaceanvim.neotest"),
}, },
} })
end, end,
}, },
} }

View File

@ -63,96 +63,5 @@ return {
vim.opt.cmdheight = 0 vim.opt.cmdheight = 0
end, end,
dependencies = {
"MunifTanjim/nui.nvim",
{
"rcarriga/nvim-notify",
keys = {
{
"<leader>nd",
function()
vim.cmd.noh()
require("notify").dismiss({
pending = true,
silent = true,
})
end,
desc = "Notifications: Dismiss",
},
{
"<leader>nv",
function()
if not vim.g.nvim_notify_telescope_loaded then
require("telescope").load_extension("notify")
vim.g.nvim_notify_telescope_loaded = true
end
require("telescope").extensions.notify.notify()
end,
desc = "Notifications: Search",
},
},
config = function()
local base = require("notify.render.base")
local opts = {
stages = "slide",
fps = 60,
render = function(bufnr, notif, highlights, _)
local left_icon = notif.icon .. " "
local max_message_width = math.max(math.max(unpack(vim.tbl_map(function(line)
return vim.fn.strchars(line)
end, notif.message))))
local right_title = notif.title[2]
local left_title = notif.title[1]
local title_accum = vim.str_utfindex(left_icon)
+ vim.str_utfindex(right_title)
+ vim.str_utfindex(left_title)
local left_buffer = string.rep(" ", math.max(0, max_message_width - title_accum))
local namespace = base.namespace()
vim.api.nvim_buf_set_lines(bufnr, 0, 1, false, { "", "" })
vim.api.nvim_buf_set_extmark(bufnr, namespace, 0, 0, {
virt_text = {
{ left_icon, highlights.icon },
{ left_title .. left_buffer, highlights.title },
},
virt_text_win_col = 0,
priority = 10,
})
vim.api.nvim_buf_set_extmark(bufnr, namespace, 0, 0, {
virt_text = { { right_title, highlights.title } },
virt_text_pos = "right_align",
priority = 10,
})
vim.api.nvim_buf_set_lines(bufnr, 1, -1, false, notif.message)
vim.api.nvim_buf_set_extmark(bufnr, namespace, 1, 0, {
hl_group = highlights.body,
end_line = #notif.message,
end_col = #notif.message[#notif.message],
priority = 50, -- Allow treesitter to override
})
end,
timeout = 5000,
-- For stages that change opacity this is treated as the highlight behind the window
-- Set this to either a highlight group, an RGB hex value e.g. "#000000" or a function returning an RGB code for dynamic values
background_colour = "#000000",
-- Minimum width for notification windows
minimum_width = 50,
-- Icons for the different levels
icons = {
ERROR = "",
WARN = "",
INFO = "",
DEBUG = "",
TRACE = "",
},
}
require("notify").setup(opts)
end,
},
},
}, },
} }

View File

@ -18,8 +18,8 @@ return {
}, },
keys = { keys = {
{ "<leader>r", desc = "Overseer" }, { "<leader>r", desc = "Overseer" },
{ "<leader>rr", "<cmd>OverseerRun<CR>", desc = "Overseer: Run" }, { "<leader>rs", "<cmd>OverseerRun<CR>", desc = "Overseer: Run" },
{ "<leader>rt", "<cmd>OverseerToggle<CR>", desc = "Overseer: Toggle" }, { "<leader>rr", "<cmd>OverseerToggle<CR>", desc = "Overseer: Toggle" },
}, },
config = function() config = function()
local overseer = require("overseer") local overseer = require("overseer")

View File

@ -0,0 +1,120 @@
--- Fancy wrapper for deleting the current buffer based on the window type, tab statuses, etc.
---
--- Kinda cursed... definitely better ways of doing this, but by god its my trash! Mfers ask "You
--- really live like this?" and the answer is YES! Yes I do.
---@param opts number|snacks.bufdelete.Opts?
local bwdelete = function(opts)
opts = opts or {}
opts.buf = opts.buf or vim.api.nvim_get_current_buf()
local nuke = false
if vim.fn.win_gettype() ~= "" and not vim.bo[opts.buf].modified then
opts.force = true
nuke = true
end
if
nuke
or (
#vim.api.nvim_list_tabpages() > 1
and #vim.api.nvim_tabpage_list_wins(vim.api.nvim_get_current_tabpage()) == 1
)
then
local cmd = opts.wipe and vim.cmd.bwipeout or vim.cmd.bdelete
cmd({ args = { opts.buf }, bang = opts.force })
else
require("snacks").bufdelete.delete(opts)
end
end
--- Set a mapping to quickly close the current buffer
---@param bufnr integer A buffer id
local map_quick_close = function(bufnr)
vim.iter({
"q/",
"q?",
"q:",
}):each(function(lhs)
pcall(vim.keymap.del, "n", lhs)
end)
vim.keymap.set("n", "q", function()
vim.cmd.bdelete({ args = { bufnr }, bang = true })
end, { silent = true, buffer = bufnr, desc = "Quick Close Buffer" })
end
vim.api.nvim_create_autocmd({ "BufEnter", "TermOpen" }, {
callback = function(args)
if args.event == "TermOpen" then
map_quick_close(args.buf)
return
end
local bo = vim.bo[args.buf]
if vim.list_contains({ "nofile", "terminal", "nowrite", "help" }, bo.buftype) then
map_quick_close(args.buf)
return
end
end,
})
return {
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
keys = {
{
"<A-x>",
bwdelete,
desc = "Close Buffer",
mode = { "", "!", "v" },
},
{
"<A-x>",
function()
bwdelete({ force = true })
end,
desc = "Close Buffer",
mode = { "t" },
},
{
"<leader>nd",
function()
require("snacks").notifier.hide()
end,
desc = "Notifications: Dismiss",
},
{
"<leader>nv",
function()
require("snacks").notifier.show_history({
sort = { "added" },
})
end,
desc = "Notifications: Search",
},
},
config = function()
local snacks = require("snacks")
snacks.setup({
bigfile = { enabled = true },
debug = { enabled = true },
notifier = {
enabled = true,
style = "compact",
margin = { top = 1 },
},
words = { enabled = true },
statuscolumn = { enabled = false },
})
snacks.config.styles["notification.history"] = {
title = { { "Notification History", "@markup.heading.4" } },
border = { { " ", "INVALIDHIGHLIGHTHERE" } },
}
_G.bt = snacks.debug.backtrace
_G.dd = snacks.debug.inspect
vim.print = snacks.debug.inspect
end,
},
}

View File

@ -9,7 +9,7 @@ return {
-- hl-groups can have any name -- hl-groups can have any name
vim.api.nvim_set_hl(0, "SymbolUsageRounding", { fg = h("CursorLine").bg }) vim.api.nvim_set_hl(0, "SymbolUsageRounding", { fg = h("CursorLine").bg })
vim.api.nvim_set_hl(0, "SymbolUsageContent", { bg = h("CursorLine").bg, fg = h("Comment").fg }) vim.api.nvim_set_hl(0, "SymbolUsageContent", { bg = h("CursorLine").bg, fg = h("Delimiter").fg })
vim.api.nvim_set_hl(0, "SymbolUsageRef", { fg = h("Function").fg, bg = h("CursorLine").bg }) vim.api.nvim_set_hl(0, "SymbolUsageRef", { fg = h("Function").fg, bg = h("CursorLine").bg })
vim.api.nvim_set_hl(0, "SymbolUsageDef", { fg = h("Type").fg, bg = h("CursorLine").bg }) vim.api.nvim_set_hl(0, "SymbolUsageDef", { fg = h("Type").fg, bg = h("CursorLine").bg })
vim.api.nvim_set_hl(0, "SymbolUsageImpl", { fg = h("@keyword").fg, bg = h("CursorLine").bg }) vim.api.nvim_set_hl(0, "SymbolUsageImpl", { fg = h("@keyword").fg, bg = h("CursorLine").bg })

View File

@ -39,7 +39,7 @@ return {
{ "<leader>j", ":Telescope buffers<CR>", desc = "Telescope: Buffers", silent = true }, { "<leader>j", ":Telescope buffers<CR>", desc = "Telescope: Buffers", silent = true },
{ "<leader>tb", ":Telescope buffers<CR>", desc = "Telescope: Buffers", silent = true }, { "<leader>tb", ":Telescope buffers<CR>", desc = "Telescope: Buffers", silent = true },
{ "<leader>th", ":Telescope help_tags<CR>", desc = "Telescope: Help Tags", silent = true }, { "<leader>th", ":Telescope help_tags<CR>", desc = "Telescope: Help Tags", silent = true },
{ "<leader>to", ":Telescope oldfiles<CR>", desc = "Telescope: Recent Files", silent = true }, { "<leader>to", ":Telescope smart_open<CR>", desc = "Telescope: Smart Open", silent = true },
{ {
"<leader>tO", "<leader>tO",
":Telescope oldfiles only_cwd=true<CR>", ":Telescope oldfiles only_cwd=true<CR>",
@ -108,6 +108,13 @@ return {
}, },
"debugloop/telescope-undo.nvim", "debugloop/telescope-undo.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
{
"danielfalk/smart-open.nvim",
dependences = {
"kkharji/sqlite.lua",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
},
},
}, },
config = function() config = function()
local telescope = require("telescope") local telescope = require("telescope")
@ -128,6 +135,8 @@ return {
}, },
}, },
defaults = { defaults = {
---@diagnostic disable-next-line: undefined-field
winblend = vim.opt.winblend:get(),
vimgrep_arguments = { vimgrep_arguments = {
"rg", "rg",
"--color=never", "--color=never",
@ -153,7 +162,7 @@ return {
["<C-h>"] = actions.preview_scrolling_left, ["<C-h>"] = actions.preview_scrolling_left,
["<C-l>"] = actions.preview_scrolling_right, ["<C-l>"] = actions.preview_scrolling_right,
["<C-d>"] = actions.cycle_history_next, ["<C-d>"] = actions.cycle_history_next,
["<A-x>"] = actions.delete_buffer + actions.move_to_top, ["<A-x>"] = actions.delete_buffer,
["<C-s>"] = actions.cycle_history_prev, ["<C-s>"] = actions.cycle_history_prev,
["<C-q>"] = actions.smart_send_to_qflist, ["<C-q>"] = actions.smart_send_to_qflist,
}, },
@ -188,7 +197,6 @@ return {
file_sorter = require("telescope.sorters").get_fuzzy_file, file_sorter = require("telescope.sorters").get_fuzzy_file,
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
path_display = { "truncate" }, path_display = { "truncate" },
winblend = 0,
border = {}, border = {},
borderchars = { " ", "", "", "", "", "", "", "" }, borderchars = { " ", "", "", "", "", "", "", "" },
results_title = false, results_title = false,
@ -224,6 +232,9 @@ return {
auto_validate = true, auto_validate = true,
db_safe_mode = false, db_safe_mode = false,
}, },
smart_open = {
match_algorithm = "fzf",
},
}, },
}) })

View File

@ -64,9 +64,7 @@ return {
}, },
highlight = { highlight = {
"RainbowDelimiterRed", "RainbowDelimiterRed",
"RainbowDelimiterYellow",
"RainbowDelimiterBlue", "RainbowDelimiterBlue",
"RainbowDelimiterOrange",
"RainbowDelimiterGreen", "RainbowDelimiterGreen",
"RainbowDelimiterViolet", "RainbowDelimiterViolet",
"RainbowDelimiterCyan", "RainbowDelimiterCyan",

View File

@ -2,8 +2,10 @@ return {
{ {
"chrisgrieser/nvim-various-textobjs", "chrisgrieser/nvim-various-textobjs",
opts = { opts = {
useDefaultKeymaps = true, keymap = {
disabledKeymaps = { "r", "R", "Q", "gc" }, useDefaults = true,
disabledDefaults = { "r", "R", "Q", "gc" },
},
}, },
}, },
} }

View File

@ -1,7 +1,7 @@
return { return {
{ {
"mcauley-penney/visual-whitespace.nvim", "mcauley-penney/visual-whitespace.nvim",
event = "ModeChanged", event = "ModeChanged *:[vV]",
opts = { opts = {
highlight = { link = "visual-whitespace" }, highlight = { link = "visual-whitespace" },
}, },

View File

@ -359,3 +359,16 @@ factorizations
formulae formulae
untagged untagged
laggy laggy
pts/?
pts
Typst
Golang
AWS
USAA
are
are
Eigen
chasseurs
callee
endian
Steganography

View File

@ -1,5 +1,5 @@
{ {
"autoUpdate": false, "autoUpdate": true,
"autoUpdateNotification": true, "autoUpdateNotification": true,
"useQuickCss": true, "useQuickCss": true,
"themeLinks": [ "themeLinks": [
@ -50,7 +50,7 @@
}, },
"AnonymiseFileNames": { "AnonymiseFileNames": {
"enabled": true, "enabled": true,
"anonymiseByDefault": true, "anonymiseByDefault": false,
"method": 0, "method": 0,
"randomisedLength": 7, "randomisedLength": 7,
"consistent": "image" "consistent": "image"
@ -65,7 +65,8 @@
"enabled": false "enabled": false
}, },
"BANger": { "BANger": {
"enabled": false "enabled": false,
"source": "https://i.imgur.com/wp5q52C.mp4"
}, },
"BetterFolders": { "BetterFolders": {
"enabled": false, "enabled": false,
@ -75,7 +76,8 @@
"keepIcons": false, "keepIcons": false,
"closeAllFolders": false, "closeAllFolders": false,
"forceOpen": false, "forceOpen": false,
"sidebarAnim": true "sidebarAnim": true,
"closeOthers": false
}, },
"BetterGifAltText": { "BetterGifAltText": {
"enabled": true "enabled": true
@ -90,7 +92,9 @@
"enabled": false "enabled": false
}, },
"BetterRoleDot": { "BetterRoleDot": {
"enabled": false "enabled": false,
"bothStyles": false,
"copyRoleColorInProfilePopout": false
}, },
"BetterSessions": { "BetterSessions": {
"enabled": false, "enabled": false,
@ -117,7 +121,7 @@
"format": "stopwatch" "format": "stopwatch"
}, },
"ClearURLs": { "ClearURLs": {
"enabled": false "enabled": true
}, },
"ClientTheme": { "ClientTheme": {
"enabled": false "enabled": false
@ -168,7 +172,8 @@
"enabled": false "enabled": false
}, },
"Experiments": { "Experiments": {
"enabled": false "enabled": false,
"toolbarDevMenu": false
}, },
"F8Break": { "F8Break": {
"enabled": false "enabled": false
@ -241,7 +246,7 @@
"invertScroll": true, "invertScroll": true,
"nearestNeighbour": false, "nearestNeighbour": false,
"square": false, "square": false,
"zoom": 2, "zoom": 1,
"size": 100, "size": 100,
"zoomSpeed": 0.5 "zoomSpeed": 0.5
}, },
@ -347,7 +352,12 @@
} }
}, },
"Moyai": { "Moyai": {
"enabled": false "enabled": false,
"volume": 0.5,
"quality": "Normal",
"triggerWhenUnfocused": true,
"ignoreBots": true,
"ignoreBlocked": true
}, },
"MutualGroupDMs": { "MutualGroupDMs": {
"enabled": false "enabled": false
@ -356,7 +366,8 @@
"enabled": true "enabled": true
}, },
"NoBlockedMessages": { "NoBlockedMessages": {
"enabled": false "enabled": false,
"ignoreBlockedMessages": false
}, },
"NoDefaultHangStatus": { "NoDefaultHangStatus": {
"enabled": false "enabled": false
@ -374,16 +385,22 @@
"enabled": false "enabled": false
}, },
"NoPendingCount": { "NoPendingCount": {
"enabled": false "enabled": false,
"hideFriendRequestsCount": true,
"hideMessageRequestsCount": true,
"hidePremiumOffersCount": true
}, },
"NoProfileThemes": { "NoProfileThemes": {
"enabled": true "enabled": true
}, },
"NoReplyMention": { "NoReplyMention": {
"enabled": false "enabled": false,
"userList": "1234567890123445,1234567890123445",
"shouldPingListed": true,
"inverseShiftReply": false
}, },
"NoScreensharePreview": { "NoScreensharePreview": {
"enabled": false "enabled": true
}, },
"NoServerEmojis": { "NoServerEmojis": {
"enabled": false "enabled": false
@ -395,7 +412,7 @@
"enabled": false "enabled": false
}, },
"NormalizeMessageLinks": { "NormalizeMessageLinks": {
"enabled": false "enabled": true
}, },
"NotificationVolume": { "NotificationVolume": {
"enabled": false "enabled": false
@ -413,7 +430,12 @@
"enabled": false "enabled": false
}, },
"OpenInApp": { "OpenInApp": {
"enabled": false "enabled": false,
"spotify": true,
"steam": true,
"epic": true,
"tidal": true,
"itunes": true
}, },
"OverrideForumDefaults": { "OverrideForumDefaults": {
"enabled": false "enabled": false
@ -438,7 +460,8 @@
"enabled": false "enabled": false
}, },
"PictureInPicture": { "PictureInPicture": {
"enabled": false "enabled": false,
"loop": true
}, },
"PinDMs": { "PinDMs": {
"enabled": false, "enabled": false,
@ -458,9 +481,6 @@
"PreviewMessage": { "PreviewMessage": {
"enabled": true "enabled": true
}, },
"PronounDB": {
"enabled": false
},
"QuickMention": { "QuickMention": {
"enabled": false "enabled": false
}, },
@ -481,7 +501,7 @@
"enabled": false "enabled": false
}, },
"ReplyTimestamp": { "ReplyTimestamp": {
"enabled": false "enabled": true
}, },
"RevealAllSpoilers": { "RevealAllSpoilers": {
"enabled": true "enabled": true
@ -513,14 +533,16 @@
"enabled": false "enabled": false
}, },
"ServerListIndicators": { "ServerListIndicators": {
"enabled": false "enabled": false,
"mode": 2
}, },
"ShikiCodeblocks": { "ShikiCodeblocks": {
"enabled": false, "enabled": true,
"theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json", "theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/vitesse-dark.json",
"tryHljs": "SECONDARY", "tryHljs": "ALWAYS",
"useDevIcon": "GREYSCALE", "useDevIcon": "COLOR",
"bgOpacity": 100 "bgOpacity": 59.91322032238434,
"customTheme": "https://raw.githubusercontent.com/shikijs/textmate-grammars-themes/refs/heads/main/packages/tm-themes/themes/catppuccin-mocha.json"
}, },
"ShowAllMessageButtons": { "ShowAllMessageButtons": {
"enabled": false "enabled": false
@ -532,7 +554,12 @@
"enabled": false "enabled": false
}, },
"ShowHiddenThings": { "ShowHiddenThings": {
"enabled": false "enabled": true,
"showTimeouts": true,
"showInvitesPaused": true,
"showModView": true,
"disableDiscoveryFilters": true,
"disableDisallowedDiscoveryFilters": true
}, },
"ShowMeYourName": { "ShowMeYourName": {
"enabled": false "enabled": false
@ -570,7 +597,10 @@
"enabled": false "enabled": false
}, },
"SuperReactionTweaks": { "SuperReactionTweaks": {
"enabled": false "enabled": false,
"superReactByDefault": true,
"unlimitedSuperReactionPlaying": false,
"superReactionPlayingLimit": 20
}, },
"TextReplace": { "TextReplace": {
"enabled": false "enabled": false
@ -587,9 +617,9 @@
"TypingIndicator": { "TypingIndicator": {
"enabled": true, "enabled": true,
"includeCurrentChannel": true, "includeCurrentChannel": true,
"includeMutedChannels": false, "includeMutedChannels": true,
"includeBlockedUsers": false, "includeBlockedUsers": true,
"indicatorMode": 1 "indicatorMode": 3
}, },
"TypingTweaks": { "TypingTweaks": {
"enabled": true, "enabled": true,
@ -610,7 +640,10 @@
"enabled": false "enabled": false
}, },
"UserVoiceShow": { "UserVoiceShow": {
"enabled": false "enabled": true,
"showInUserProfileModal": true,
"showInMemberList": true,
"showInMessages": true
}, },
"USRBG": { "USRBG": {
"enabled": false "enabled": false
@ -693,7 +726,8 @@
"enabled": false "enabled": false
}, },
"MentionAvatars": { "MentionAvatars": {
"enabled": false "enabled": true,
"showAtSymbol": true
}, },
"NoMaskedUrlPaste": { "NoMaskedUrlPaste": {
"enabled": false "enabled": false
@ -706,6 +740,19 @@
}, },
"FullSearchContext": { "FullSearchContext": {
"enabled": false "enabled": false
},
"AccountPanelServerProfile": {
"enabled": false,
"prioritizeServerProfile": false
},
"UserMessagesPronouns": {
"enabled": false
},
"DynamicImageModalAPI": {
"enabled": false
},
"FixImagesQuality": {
"enabled": false
} }
}, },
"notifications": { "notifications": {
@ -718,6 +765,6 @@
"authenticated": false, "authenticated": false,
"url": "https://api.vencord.dev/", "url": "https://api.vencord.dev/",
"settingsSync": false, "settingsSync": false,
"settingsSyncVersion": 1727811480516 "settingsSyncVersion": 1730930193420
} }
} }

View File

@ -122,9 +122,9 @@
"format-disabled": "󰀝 Wireless Networking Disabled", "format-disabled": "󰀝 Wireless Networking Disabled",
"tooltip-format": "{ifname}: {ipaddr}/{cidr} 󰌹 {gwaddr}", "tooltip-format": "{ifname}: {ipaddr}/{cidr} 󰌹 {gwaddr}",
"format-icons": { "format-icons": {
"ethernet": "󰈀", "ethernet": "󰈀 ",
"disconnected": "", "disconnected": " ",
"wifi": "" "wifi": " "
}, },
"tooltip": true, "tooltip": true,
"max-length": 60, "max-length": 60,

View File

@ -38,7 +38,7 @@
/* Global Styling */ /* Global Styling */
* { * {
border: none; border: none;
font-family: "Fira Code", monospace; font-family: "FiraCode Nerd Font", monospace;
font-size: 13px; font-size: 13px;
border-radius: 0px; border-radius: 0px;
margin-top: 0.1rem; margin-top: 0.1rem;

View File

@ -27,10 +27,10 @@ return {
family = "MesloLGS Nerd Font", family = "MesloLGS Nerd Font",
}, },
{ {
family = "Twemoji", family = "Twitter Color Emoji",
}, },
{ {
family = "Noto Fonts Emoji", family = "Noto Color Emoji",
}, },
{ family = "Nerd Font Symbols" }, { family = "Nerd Font Symbols" },
}), }),

View File

@ -3,12 +3,12 @@ set notification-error-fg "#FF5D62"
set notification-warning-bg "#1F1F28" set notification-warning-bg "#1F1F28"
set notification-warning-fg "#FFA066" set notification-warning-fg "#FFA066"
set notification-bg "#1F1F28" set notification-bg "#1F1F28"
set notification-fg "#DCD7BA" set notification-fg "#FFF9D8"
set completion-bg "#1F1F28" set completion-bg "#1F1F28"
set completion-fg "#DCD7BA" set completion-fg "#FFF9D8"
set completion-group-bg "#2A2A37" set completion-group-bg "#2A2A37"
set completion-group-fg "#DCD7BA" set completion-group-fg "#FFF9D8"
set completion-highlight-bg "#957FB8" set completion-highlight-bg "#957FB8"
set completion-highlight-fg "#1F1F28" set completion-highlight-fg "#1F1F28"
@ -18,23 +18,23 @@ set index-active-bg "#957FB8"
set index-active-fg "#1F1F28" set index-active-fg "#1F1F28"
set inputbar-bg "#252535" set inputbar-bg "#252535"
set inputbar-fg "#DCD7BA" set inputbar-fg "#FFF9D8"
set statusbar-bg "#181820" set statusbar-bg "#181820"
set statusbar-fg "#DCD7BA" set statusbar-fg "#FFF9D8"
set highlight "#000000" set highlight "#000000"
set highlight-color "rgba(255, 160, 102, 0.5)" set highlight-color "rgba(255, 160, 102, 0.5)"
set highlight-active-color "rgba(255, 93, 98, 0.7)" set highlight-active-color "rgba(255, 93, 98, 0.7)"
set default-bg "#16161D" set default-bg "#16161D"
set default-fg "#DCD7BA" set default-fg "#FFF9D8"
set render-loading "true" set render-loading "true"
set render-loading-bg "#1F1F28" set render-loading-bg "#1F1F28"
set render-loading-fg "#DCD7BA" set render-loading-fg "#FFF9D8"
set recolor-lightcolor "#1F1F28" set recolor-lightcolor "#1A1C2B"
set recolor-darkcolor "#DCD7BA" set recolor-darkcolor "#FFF9D8"
set recolor "true" set recolor "true"
set recolor-keephue "true" set recolor-keephue "true"
@ -49,3 +49,4 @@ set scroll-step "120"
set selection-clipboard "clipboard" set selection-clipboard "clipboard"
set statusbar-home-tilde "true" set statusbar-home-tilde "true"
set page-padding 10

View File

@ -22,12 +22,8 @@ in
{ {
imports = (clib.recurseFilesInDirs [ ./conf ] ".nix"); imports = (clib.recurseFilesInDirs [ ./conf ] ".nix");
programs.home-manager.enable = true; programs.home-manager.enable = true;
nixpkgs = {
config = {
allowUnfree = true;
};
};
home = { home = {
stateVersion = "24.11";
language.base = "en_US.UTF-8"; language.base = "en_US.UTF-8";
packages = packages =
with pkgs; with pkgs;
@ -68,14 +64,8 @@ in
Fmt Fmt
screen-cap screen-cap
nodePackages.prettier nodePackages.prettier
cargo
clippy
rustc
rustfmt
python3 python3
shfmt shfmt
bob-nvim
neovide
wezterm wezterm
kitty kitty
sqlite sqlite
@ -123,6 +113,7 @@ in
brightnessctl brightnessctl
keyd keyd
tidal-hifi tidal-hifi
spotify
nix-output-monitor nix-output-monitor
sops sops
chromium chromium
@ -148,30 +139,19 @@ in
clang clang
nasm nasm
asm-lsp asm-lsp
asmfmt
ninja ninja
ccache ccache
llvm llvm
llvmPackages.libcxxStdenv
pkg-config pkg-config
openssl.dev ];
curl.dev
]
++ [ rust-analyzer ];
file = softLinkDots ".config"; file = softLinkDots ".config";
sessionVariables = { sessionVariables = {
_ZL_DATA = "${config.xdg.cacheHome}/zlua"; _ZL_DATA = "${config.xdg.cacheHome}/zlua";
RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
CARGO_HOME = "${config.xdg.dataHome}/cargo";
OMNISHARPHOME = "${config.xdg.configHome}/omnisharp"; OMNISHARPHOME = "${config.xdg.configHome}/omnisharp";
NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc"; NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc";
TERMINFO_DIRS = "${config.home.profileDirectory}/share/terminfo";
WSLENV = "TERMINFO_DIRS";
LD_LIBRARY_PATH = lib.strings.makeLibraryPath [
"${config.home.profileDirectory}"
"${pkgs.sqlite.out}"
];
PKG_CONFIG_PATH = "${config.home.profileDirectory}/lib/pkgconfig"; PKG_CONFIG_PATH = "${config.home.profileDirectory}/lib/pkgconfig";
GTK_PATH = "${pkgs.gtk-engine-murrine}/lib/gtk-2.0"; GTK_PATH = "${pkgs.gtk-engine-murrine}/lib/gtk-2.0";
ANDROID_USER_HOME = "${config.xdg.dataHome}/android"; ANDROID_USER_HOME = "${config.xdg.dataHome}/android";
@ -181,7 +161,9 @@ in
GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle"; GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle";
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot='${config.xdg.configHome}/java'"; _JAVA_OPTIONS = "-Djava.util.prefs.userRoot='${config.xdg.configHome}/java'";
}; };
sessionPath = [ "${config.xdg.dataHome}/bin" ]; sessionPath = [
"${config.home.homeDirectory}/.local/bin"
];
}; };
xdg = { xdg = {
@ -329,19 +311,6 @@ in
}; };
}; };
services = { services = {
xwaylandvideobridge = {
Install.WantedBy = [ "compositor.target" ];
Service = {
ExecStart = "${pkgs.xwaylandvideobridge}/bin/xwaylandvideobridge";
Restart = "always";
};
Unit = {
Description = "Bridge X11 Clients to XDG Portal";
Documentation = "https://invent.kde.org/system/xwaylandvideobridge";
PartOf = [ "compositor.target" ];
After = [ "compositor.target" ];
};
};
keyd-application-mapper = { keyd-application-mapper = {
Unit = { Unit = {
Description = "Keyd - Linux Keyboard Remapper"; Description = "Keyd - Linux Keyboard Remapper";
@ -372,17 +341,18 @@ in
After = [ "compositor.target" ]; After = [ "compositor.target" ];
}; };
}; };
polkit-gnome-authentication-agent-1 = { polkit-hyprpolkitagent = {
Unit = { Unit = {
Description = "Gnome Polkit authentication agent"; Description = "Hyprland Polkit authentication agent";
Documentation = "https://gitlab.freedesktop.org/polkit/polkit/"; Documentation = "https://wiki.hyprland.org/Hypr-Ecosystem/hyprpolkitagent/";
After = [ "graphical-session-pre.target" ]; After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
}; };
Service = { Service = {
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
Restart = "always"; Restart = "always";
RestartSec = 2;
TimeoutStopSec = 10;
}; };
Install.WantedBy = [ "graphical-session.target" ]; Install.WantedBy = [ "graphical-session.target" ];