add smb mount on personal darwin for keepass; nvim: add collect lsp, make lualline to reuse gitstatus\'s git diff
parent
150534c512
commit
53928208ea
|
@ -246,6 +246,60 @@ vim.api.nvim_create_user_command(
|
|||
end,
|
||||
{ nargs = 0 }
|
||||
)
|
||||
|
||||
-- `BufLoadFd {fd-args}`
|
||||
-- WHAT:
|
||||
-- Batch load the result of `fd <args>` into the buffer.
|
||||
--
|
||||
-- WHY;
|
||||
-- This is especially helpful if you want to collect LSP diagnostics in the
|
||||
-- current repository:
|
||||
--
|
||||
-- EXAMPLES:
|
||||
-- `BufLoadFd -e ts -e tsx`: Loads all of tsserver-compatible in the current
|
||||
-- root. Note that `fd` takes account of .gitignore (but not your Git's ignore config)
|
||||
vim.api.nvim_create_user_command(
|
||||
'BufLoadFd',
|
||||
function(opts)
|
||||
local results = vim.fn.systemlist('fd ' .. opts["args"])
|
||||
for _k, v in pairs(results) do
|
||||
vim.cmd("badd " .. v)
|
||||
end
|
||||
end,
|
||||
{ nargs = "*" }
|
||||
)
|
||||
|
||||
-- `CollectLspDiag {fd-args}`
|
||||
-- WHAT:
|
||||
-- Opens files matching fd-args search, and go back to your initial buffer
|
||||
-- This effectively loads files onto your LSP so that you collect Lsp diagnostics.
|
||||
-- To list diagnostics, maybe use `:Trouble` or similar commands
|
||||
--
|
||||
-- WHY:
|
||||
-- LSPs don't perform diagnostics to every file in the workspace, they are
|
||||
-- lazily loaded. Sometimes, it's hard to reproduce the LSP diagnostics with
|
||||
-- the compiler alone, this user command helps collecting all errors and
|
||||
-- potentially filter the files that you want to ignore with an `fd` query.
|
||||
--
|
||||
-- EXAMPLES:
|
||||
-- `CollectLspDiag -e ts -e tsx`: Loads all Typescript files in the current root,
|
||||
-- with account of `.gitignore` into "active buffer" for the LSP to diagnose.
|
||||
vim.api.nvim_create_user_command(
|
||||
'CollectLspDiag',
|
||||
function(opts)
|
||||
--- @type string
|
||||
local original_buf_path = vim.api.nvim_buf_get_name(0);
|
||||
|
||||
local files = vim.fn.systemlist('fd ' .. opts["args"])
|
||||
for _k, file in pairs(files) do
|
||||
vim.cmd("e " .. file)
|
||||
end
|
||||
|
||||
vim.cmd('e ' .. original_buf_path);
|
||||
end,
|
||||
{ nargs = "*" }
|
||||
)
|
||||
|
||||
vim.api.nvim_create_user_command(
|
||||
'DoubleSpaces',
|
||||
function(opts)
|
||||
|
@ -976,7 +1030,21 @@ require('lualine').setup {
|
|||
},
|
||||
sections = {
|
||||
lualine_a = { 'mode' },
|
||||
lualine_b = { 'branch', 'diff', 'diagnostics' },
|
||||
lualine_b = {
|
||||
'branch', {
|
||||
'diff', source = function ()
|
||||
local gitsigns = vim.b.gitsigns_status_dict
|
||||
if gitsigns then
|
||||
return {
|
||||
added = gitsigns.added,
|
||||
modified = gitsigns.changed,
|
||||
removed = gitsigns.removed
|
||||
}
|
||||
end
|
||||
end
|
||||
},
|
||||
'diagnostics'
|
||||
},
|
||||
lualine_c = {
|
||||
{ 'filename',
|
||||
file_status = true,
|
||||
|
|
|
@ -43,7 +43,7 @@ let
|
|||
pkgs.fzf # file name fuzzy search
|
||||
pkgs.ripgrep # content fuzzy search
|
||||
pkgs.zk # Zettelkasten (limited support)
|
||||
pkgs.fd # Required by a Telescope plugin (?)
|
||||
pkgs.fd # Required by a Telescope plugin - fzf
|
||||
pkgs.stdenv.cc.cc.lib
|
||||
pkgs.rnix-lsp # doesn't work, Mason just installs it using cargo
|
||||
pkgs.rust4cargo
|
||||
|
@ -56,8 +56,8 @@ let
|
|||
pkgs.python3Packages.pylint
|
||||
pkgs.python3Packages.flake8
|
||||
# pkgs.ansible-lint
|
||||
pkgs.python38Packages.ansible
|
||||
pkgs.ansible-language-server
|
||||
# pkgs.python38Packages.ansible
|
||||
# pkgs.ansible-language-server
|
||||
# TODO: the devShell should provide rust-analyzer so that
|
||||
# cargo test builds binaries compatible with rust-analyzer
|
||||
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
{
|
||||
nixConfig = {
|
||||
accept-flake-config = true;
|
||||
experimental-features = "nix-command flakes";
|
||||
extra-experimental-features = "nix-command flakes";
|
||||
extra-substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
trusted-substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
|
@ -149,7 +153,7 @@
|
|||
# don't want to deal with GL stuffs on mac yet :/
|
||||
base.graphics.useNixGL.defaultPackage = null;
|
||||
# NOTE: this actually does not exist
|
||||
base.keepass.path = "/Users/hungtran/keepass.kdbx";
|
||||
base.keepass.path = "/Volumes/PersistentHotStorage/keepass.kdbx";
|
||||
base.alacritty.font.size = 11.0;
|
||||
}
|
||||
nerd_font_module
|
||||
|
|
|
@ -9,13 +9,13 @@ HOME_MANAGER_DIR="${SCRIPT_DIR}/../nix-conf/home-manager"
|
|||
|
||||
# Manage nix.conf. Ideally, this should be done with snapshot-based version
|
||||
# and with preview on-the-spot, with some timeout
|
||||
if [ -f /etc/nix/nix.conf ]; then
|
||||
# managed nix.conf
|
||||
BACKUP_FILE="/etc/nix/nix.conf.backup"
|
||||
echo "overwriting /etc/nix/nix.conf. Please find latest backup in ${BACKUP_FILE}"
|
||||
sudo cp /etc/nix/nix.conf ${BACKUP_FILE}
|
||||
sudo cp "${HOME_MANAGER_DIR}/hwtr/nix.conf" /etc/nix/
|
||||
fi
|
||||
# if [ -f /etc/nix/nix.conf ]; then
|
||||
# # managed nix.conf
|
||||
# BACKUP_FILE="/etc/nix/nix.conf.backup"
|
||||
# echo "overwriting /etc/nix/nix.conf. Please find latest backup in ${BACKUP_FILE}"
|
||||
# sudo cp /etc/nix/nix.conf ${BACKUP_FILE}
|
||||
# sudo cp "${HOME_MANAGER_DIR}/hwtr/nix.conf" /etc/nix/
|
||||
# fi
|
||||
|
||||
# Mason is bad: it puts binaries onto xdg.data
|
||||
# let's make mason starts fresh, just in case we introduce RPATH hacks
|
||||
|
|
Loading…
Reference in New Issue