Compare commits

..

1 Commits

Author SHA1 Message Date
06326d63c6
Update hosts/luna/gitea-runner-token.age
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 58s
2024-10-19 23:31:40 -05:00
76 changed files with 1239 additions and 1874 deletions

4
.envrc
View File

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

File diff suppressed because it is too large Load Diff

View File

@ -6,25 +6,27 @@
deploy-rs.url = "github:serokell/deploy-rs";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs";
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils";
lanzaboote = {
url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
};
bob = {
flake = false;
url = "github:MordechaiHadad/bob";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
wezterm.url = "github:wez/wezterm?dir=nix";
agenix = {
url = "github:yaxitech/ragenix";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
impermanence = {
url = "github:nix-community/impermanence";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
@ -36,17 +38,7 @@
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
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";
};
inputs.flake-utils.follows = "flake-utils";
};
secrets = {
url = "git+file:secrets?submodules=1";
@ -81,10 +73,39 @@
}
)
);
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
{
formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
packages = forAllSystems (pkgs: import ./pkgs pkgs);
homeConfigurations = builtins.mapAttrs mkHomeCfg { "price" = ./users/price/home.nix; };
overlays = import ./overlays { inherit inputs; };
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
@ -117,6 +138,23 @@
'';
});
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 = {
type = "app";
program = "${
@ -162,33 +200,10 @@
};
modules = [
./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.impermanence.nixosModules.impermanence
inputs.agenix.nixosModules.default
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 =
(import "${inputs.secrets}" {

View File

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

View File

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

View File

@ -3,7 +3,6 @@
nix = {
settings = {
experimental-features = [
"pipe-operators"
"nix-command"
"flakes"
];
@ -16,4 +15,4 @@
dates = "daily";
};
};
}
}

View File

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

View File

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

View File

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

View File

@ -6,10 +6,10 @@
./modules
] ".nix"
);
system.stateVersion = "24.11";
system.stateVersion = "24.05";
environment.systemPackages = with pkgs; [
git
vim
];
time.timeZone = "America/Chicago";
}
}

View File

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

View File

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

View File

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

View File

@ -1,26 +1,18 @@
{ inputs, ... }:
{ inputs, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
nix = {
package = pkgs.nixVersions.latest;
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
settings = {
experimental-features = [
"pipe-operators"
"nix-command"
"flakes"
];
auto-optimise-store = true;
use-xdg-base-directories = true;
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 = {
automatic = true;

View File

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

View File

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

View File

@ -15,7 +15,6 @@
extraGroups = [
"wheel"
"keyd"
"systemd-journal"
(lib.mkIf config.virtualisation.docker.enable "docker")
(lib.mkIf config.virtualisation.libvirtd.enable "libvirtd")
(lib.mkIf config.programs.wireshark.enable "wireshark")
@ -43,4 +42,4 @@
files = [ ".bash_history" ];
};
};
}
}

View File

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

View File

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

View File

@ -3,18 +3,28 @@
lib ? (import <nixpkgs> { }).lib,
}:
rec {
hasSuffix =
suffix: string:
let
lenSuffix = builtins.stringLength suffix;
lenString = builtins.stringLength string;
in
(lenString >= lenSuffix && (builtins.substring (lenString - lenSuffix) lenString string) == suffix);
recurseDir =
dir:
builtins.readDir dir
|> lib.attrsets.mapAttrs' (
fEntry: fType: lib.attrsets.nameValuePair (builtins.toString (dir + "/${fEntry}")) fType
)
|> lib.attrsets.mapAttrsToList (
fEntry: fType: if fType == "directory" then (recurseDir "${fEntry}") else "${fEntry}"
)
|> lib.lists.flatten;
let
dirContents = builtins.readDir dir;
in
(builtins.concatMap (
dirItem:
let
itemType = builtins.getAttr dirItem dirContents;
itemPath = dir + "/${dirItem}";
in
if itemType == "directory" then (recurseDir itemPath) else [ itemPath ]
) (builtins.attrNames dirContents));
recurseFilesInDir =
dir: suffix: (builtins.filter (file: lib.strings.hasSuffix "${suffix}" file) (recurseDir dir));
dir: suffix: (builtins.filter (file: hasSuffix "${suffix}" file) (recurseDir dir));
recurseFilesInDirs =
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

27
pkgs/bob-nvim.nix Normal file
View File

@ -0,0 +1,27 @@
{
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,5 +1,9 @@
{ pkgs, ... }:
{
bob-nvim = pkgs.callPackage ./bob-nvim.nix {
rustPlatform = pkgs.rustPlatform;
fetchFromGitHub = pkgs.fetchFromGitHub;
};
screen-cap = pkgs.callPackage ./screen-cap/default.nix { };
Fmt = pkgs.writeShellApplication {
name = "Fmt";

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

View File

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

View File

@ -0,0 +1,18 @@
{ 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

@ -1,39 +0,0 @@
{
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

@ -1,66 +0,0 @@
{
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,13 +8,10 @@ decoration {
new_optimizations = true
}
shadow {
enabled = true
range = 4
ignore_window = true
render_power = 2
}
drop_shadow = true
shadow_ignore_window = true
shadow_range = 4
shadow_render_power = 2
dim_special = 0.05
}

View File

@ -7,5 +7,6 @@ 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=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 = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP PATH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP PATH
exec = sleep 1 && systemctl --user restart compositor.target
exec-once = swaylock

View File

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

View File

@ -0,0 +1,24 @@
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,28 +2,8 @@ vim.opt_local.tabstop = 2
vim.opt_local.shiftwidth = 2
vim.opt_local.textwidth = 0
vim.keymap.set("n", "<leader>fr", "<cmd>GithubPreviewToggle<CR>", {
vim.keymap.set("n", "<leader>fr", "<cmd>MarkdownPreview<CR>", {
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()

View File

@ -1,8 +1,2 @@
vim.opt_local.shiftwidth = 2
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,6 +18,17 @@
@org-checkbox-content (#any-of? @org-checkbox-content "-")) @markup.list.indeterminate
(#set! @markup.list.indeterminate conceal "󰍵"))
; Table highlights
(row
"|" @punctuation.special)
(cell
"|" @punctuation.special)
(table
(row
(cell (contents) @markup.heading))
(hr) @punctuation.special)
; Quote highlights
(block
name: (expr) @org-block-start-name (#any-of? @org-block-start-name "quote" "QUOTE")
@ -44,4 +55,4 @@
; Improved list delimiter highlights
(tag_list ":" @org.tag.delimiter)
(tag) @org.tag.body
(tag) @org.tag.body

View File

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

View File

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

View File

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

View File

@ -49,15 +49,10 @@ M.setup = function()
end, { silent = true, desc = "Remove Highlighted Searches" })
-- Spell Checking
vim.keymap.set("n", "<leader>ss", function()
vim.keymap.set("n", "<leader>st", function()
vim.opt.spell = not vim.opt.spell:get()
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
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.formatoptions = "jcroqnp"
opt.breakindent = true
opt.breakindentopt = "list:-1"
opt.breakindentopt = "list:2"
-- Search settings
opt.hlsearch = true
@ -71,20 +71,15 @@ M.setup = function()
opt.undofile = true
-- Better folding
vim.api.nvim_create_autocmd("FileType", {
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.foldexpr = "v:lua.vim.treesitter.foldexpr()"
opt.foldmethod = "expr"
opt.fillchars = { eob = " ", fold = " ", foldopen = "", foldsep = " ", foldclose = "" }
vim.o.foldcolumn = "1"
vim.o.foldlevel = 99
vim.o.foldlevelstart = 99
vim.o.foldenable = true
vim.wo.foldexpr = "nvim_treesitter#foldexpr()"
vim.wo.foldmethod = "expr"
-- Concealment for nicer rendering
opt.conceallevel = 2
@ -142,10 +137,15 @@ M.setup = function()
opt.fillchars:append("diff:")
-- Limit default menu height for completions
opt.pumheight = 10
opt.pumheight = 20
-- Allow per project configuration via exrc
opt.exrc = true
-- Backups
opt.backupdir = vim.fn.stdpath("state") .. "/backup//"
opt.backupskip = opt.backupskip + "*/*passage.*" + "/dev/shm/*"
opt.backup = true
end
return M

View File

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

View File

@ -16,91 +16,35 @@ return {
end,
lazy = true,
opts = function()
-- helper function for utf8 chars
local function getCharLen(s, pos)
local byte = string.byte(s, pos)
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
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"
-- Set header
local header = {
type = "text",
val = {
" ",
" ",
" -╲ '- ",
" -' :╲ │ '- ",
" -' : ╲ │ '- ",
" -'· : ╲ │ '- ",
" '.-.· : ╲ │ │ ",
" │. .-· : ╲ │ │ ",
" │ . .-· : ╲ │ │ ",
" │. . .-·; ╲ │ │ ",
" │ . . .-│ ╲ │ │ ",
" │. . . .│╲ ╲│ │ ",
" │ . . . │ ╲ ;- │ ",
" │. . . .│ ╲ :·- │ ",
" │ . . . │ ╲ : .- │ ",
" │. . . .│ ╲ :. .- │ ",
" `- . . .│ ╲ : . .- -' ",
" `- . .│ ╲ :. ..-' ",
" `-. │ ╲ :..-' ",
" `│ ╲;-' ",
" ",
" ",
},
opts = { position = "center", hl = "@boolean" },
}
local vim_version = {
type = "text",
@ -148,10 +92,10 @@ return {
type = "text",
val = function()
if lstatus.has_updates() and lstatus.updates() then
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@keyword.return", force = true })
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@keyword.return" })
return "Plugin updates available!"
else
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@string", force = true })
vim.api.nvim_set_hl(0, "AlphaPluginUpdate", { link = "@string" })
return "All plugins up to date"
end
end,
@ -205,7 +149,7 @@ return {
val = {
button("e", " New File", ":ene <BAR> startinsert <CR>"),
button("f", "󰈞 Find File", ":Telescope find_files<CR>"),
button("r", "󱝏 Recent", ":Telescope smart_open<CR>"),
button("r", "󱝏 Recent", ":Telescope oldfiles<CR>"),
button("s", " Settings", "<cmd>e ~/.config/nvim/<CR>"),
button("u", " Update Plugins", ":Lazy sync<CR>"),
button("q", " Quit", ":qa<CR>"),
@ -225,19 +169,18 @@ return {
end
local opts = {
layout = {
padding(10),
padding(8),
header,
padding(1),
vim_version,
padding(1),
padding(2),
datetime,
padding(1),
plugin_info,
padding(1),
plugins_loaded,
padding(1),
padding(2),
buttons,
padding(1),
padding(2),
fortune,
},
opts = { margin = 5 },

View File

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

View File

@ -1,220 +0,0 @@
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

@ -0,0 +1,25 @@
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

@ -0,0 +1,366 @@
---@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

@ -1,13 +0,0 @@
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

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

View File

@ -24,8 +24,32 @@ return {
local headlines = require("headlines")
headlines.setup({
markdown = {
bullets = false,
query = false,
bullets = bullets,
bullet_highlights = bullet_highlights,
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 = {
bullets = bullets,
@ -48,6 +72,6 @@ return {
callback = headlines.refresh,
})
end,
ft = { "norg", "rmd", "org" },
ft = { "markdown", "norg", "rmd", "org" },
},
}

View File

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

View File

@ -0,0 +1,19 @@
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,8 +1,6 @@
return {
{
-- "nvimtools/hydra.nvim",
-- TODO: Point this back to `nvimtools` once they decide to update to support nightly
"Cathyprime/hydra.nvim",
"nvimtools/hydra.nvim",
dependencies = {
"lewis6991/gitsigns.nvim",
"jbyuki/venn.nvim",

View File

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

View File

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

View File

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

View File

@ -11,25 +11,16 @@ return {
commands = {
GG = { cmd = "g" },
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,
},
}

View File

@ -93,7 +93,47 @@ return {
},
{
"mrcjkb/rustaceanvim",
lazy = false,
ft = { "rust" },
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,
},
{
@ -121,7 +161,6 @@ return {
{
"neovim/nvim-lspconfig",
dependencies = {
"actionshrimp/direnv.nvim", -- This ensures that direnv is loaded first
"williamboman/mason.nvim",
"Decodetalkers/csharpls-extended-lsp.nvim",
{
@ -193,6 +232,8 @@ return {
end,
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>ls",
@ -238,7 +279,8 @@ return {
},
event = { "BufReadPre", "BufNewFile" },
config = function()
local lsp_capabilities = require("blink.cmp").get_lsp_capabilities()
local lsp_capabilities =
require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local db_timer = vim.uv.new_timer()
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
@ -260,10 +302,7 @@ return {
end
local messages = {}
for _, cur_client in ipairs(cur_clients) do
local client_name = vim.trim(cur_client.name)
if client_name ~= "" then
table.insert(messages, "- `" .. cur_client.name .. "`")
end
table.insert(messages, "- `" .. cur_client.name .. "`")
end
vim.notify(table.concat(messages, "\n"), vim.log.levels.INFO, {
@ -483,10 +522,9 @@ return {
},
})
lspconfig.tinymist.setup({
lspconfig.typst_lsp.setup({
settings = {
exportPdf = "onType",
formatterMode = "typstyle",
},
})

View File

@ -1,39 +1,10 @@
return {
{
"wallpants/github-preview.nvim",
ft = "markdown",
cmd = {
"GithubPreviewToggle",
"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")
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
ft = { "markdown" },
build = function()
vim.fn["mkdp#util#install"]()
end,
},
}

View File

@ -8,7 +8,6 @@ return {
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
"miversen33/netman.nvim",
"folke/snacks.nvim",
},
cmd = "Neotree",
keys = {
@ -28,8 +27,8 @@ return {
end,
})
end,
config = function()
require("neo-tree").setup({
opts = function()
return {
sources = {
"filesystem",
"git_status",
@ -72,19 +71,7 @@ return {
["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,
},
}

View File

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

View File

@ -10,44 +10,26 @@ return {
"nvim-neotest/neotest-plenary",
},
keys = {
{ "<leader>k", desc = "> Neotest" },
{ "<leader>kr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
{ "<leader>kf", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Test(s) in File" },
{ "<leader>kl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Test(s)" },
{ "<leader>kp", "<cmd>Neotest output-panel<CR>", desc = "Neotest: Output Panel" },
{
"<leader>ko",
function()
local neotest = require("neotest")
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" },
{ "<localleader>n", desc = "> Neotest" },
{ "<localleader>nr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
{ "<localleader>nf", "<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)" },
{ "<localleader>np", "<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" },
{ "<localleader>nk", "<cmd>Neotest jump prev<CR>", desc = "Neotest: Jump Prev" },
{ "<localleader>nj", "<cmd>Neotest jump next<CR>", desc = "Neotest: Jump Next" },
{ "<localleader>na", "<cmd>Neotest attach<CR>", desc = "Neotest: Attach" },
},
config = function()
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({
opts = function()
return {
diagnostic = {
enable = true,
severity = 1,
},
discovery = {
concurrent = 4,
},
status = {
virtual_text = true,
},
@ -56,7 +38,7 @@ return {
require("neotest-go"),
require("rustaceanvim.neotest"),
},
})
}
end,
},
}

View File

@ -63,5 +63,96 @@ return {
vim.opt.cmdheight = 0
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 = {
{ "<leader>r", desc = "Overseer" },
{ "<leader>rs", "<cmd>OverseerRun<CR>", desc = "Overseer: Run" },
{ "<leader>rr", "<cmd>OverseerToggle<CR>", desc = "Overseer: Toggle" },
{ "<leader>rr", "<cmd>OverseerRun<CR>", desc = "Overseer: Run" },
{ "<leader>rt", "<cmd>OverseerToggle<CR>", desc = "Overseer: Toggle" },
},
config = function()
local overseer = require("overseer")

View File

@ -1,120 +0,0 @@
--- 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
vim.api.nvim_set_hl(0, "SymbolUsageRounding", { fg = h("CursorLine").bg })
vim.api.nvim_set_hl(0, "SymbolUsageContent", { bg = h("CursorLine").bg, fg = h("Delimiter").fg })
vim.api.nvim_set_hl(0, "SymbolUsageContent", { bg = h("CursorLine").bg, fg = h("Comment").fg })
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, "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>tb", ":Telescope buffers<CR>", desc = "Telescope: Buffers", silent = true },
{ "<leader>th", ":Telescope help_tags<CR>", desc = "Telescope: Help Tags", silent = true },
{ "<leader>to", ":Telescope smart_open<CR>", desc = "Telescope: Smart Open", silent = true },
{ "<leader>to", ":Telescope oldfiles<CR>", desc = "Telescope: Recent Files", silent = true },
{
"<leader>tO",
":Telescope oldfiles only_cwd=true<CR>",
@ -108,13 +108,6 @@ return {
},
"debugloop/telescope-undo.nvim",
{ "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()
local telescope = require("telescope")
@ -135,8 +128,6 @@ return {
},
},
defaults = {
---@diagnostic disable-next-line: undefined-field
winblend = vim.opt.winblend:get(),
vimgrep_arguments = {
"rg",
"--color=never",
@ -162,7 +153,7 @@ return {
["<C-h>"] = actions.preview_scrolling_left,
["<C-l>"] = actions.preview_scrolling_right,
["<C-d>"] = actions.cycle_history_next,
["<A-x>"] = actions.delete_buffer,
["<A-x>"] = actions.delete_buffer + actions.move_to_top,
["<C-s>"] = actions.cycle_history_prev,
["<C-q>"] = actions.smart_send_to_qflist,
},
@ -197,6 +188,7 @@ return {
file_sorter = require("telescope.sorters").get_fuzzy_file,
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
path_display = { "truncate" },
winblend = 0,
border = {},
borderchars = { " ", "", "", "", "", "", "", "" },
results_title = false,
@ -232,9 +224,6 @@ return {
auto_validate = true,
db_safe_mode = false,
},
smart_open = {
match_algorithm = "fzf",
},
},
})

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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