1
0
mirror of https://codeberg.org/diginaut/dotfiles.git synced 2026-02-04 06:40:25 +01:00

30 Commits

Author SHA1 Message Date
c656dbbeb3 Support regular tmux 256 colour option 2026-01-27 14:31:32 +01:00
6c496fd2c0 stylua config for neovim config files 2026-01-26 17:07:07 +01:00
23c8c64f48 Lua file config 2026-01-26 17:02:08 +01:00
ec8317ddcd Explicit formatters; cleanup 2026-01-26 16:56:24 +01:00
ce732c7e75 Don't set options, those break layzvim apparently 2026-01-26 16:22:00 +01:00
8dd78f67ee Only open planning doc, and the new markdown version at that 2026-01-26 16:15:21 +01:00
fc926d42cb Cycle through useful checkbox states 2026-01-26 16:15:07 +01:00
19b4fcbc5f I'll use the cycle more anyway 2026-01-26 14:06:11 +01:00
cb0a57be0b Toggle markdown checkboxes, headings etc 2026-01-26 12:01:46 +01:00
75ab018b30 Automatic abbreviation expansion for some headings 2026-01-24 21:57:21 +01:00
6ff9e356c3 Detect when file was updated outside of neovim 2026-01-24 20:14:27 +01:00
443e7c3652 Abbreviation shortcuts for date, time, uuid 2026-01-24 20:14:12 +01:00
cf93d46371 Other bash/shell linter 2026-01-23 18:52:34 +01:00
d8740ddd85 Can I be more clear? 2026-01-22 13:51:58 +01:00
0ed9b0d077 More languages 2026-01-22 13:02:28 +01:00
57c4983148 Changed terminfo so italics etc work in nvim 2026-01-21 17:51:44 +01:00
da63f892c0 Removed 'todo' again, it's not handled by Treesitter 2026-01-21 17:44:04 +01:00
96d4cc6deb Use neovim if available 2026-01-21 14:40:13 +01:00
59f1dbec66 Ported todo file syntax highlighting from vim 2026-01-21 14:12:08 +01:00
e5b2f83f7b Better Markdown support 2026-01-21 12:15:28 +01:00
105d3273fb Treesitter has changed their API 2026-01-21 11:44:10 +01:00
292c44448f Fast finder, alternative for fzf/ripgrep 2026-01-21 11:12:06 +01:00
f9afaad121 Codeblock syntax highlighting 2026-01-21 11:11:34 +01:00
7c5962f7f3 bebop colorscheme with nice colours 2026-01-21 11:10:49 +01:00
99152ac85c Do not conceal quotes, code block openings etc 2026-01-21 11:10:31 +01:00
c3a8f16c53 If eza is installed, use it for pretty file/dir listings 2026-01-19 22:51:02 +01:00
624391f1cc Ignore Obsidian nvim plugin 2026-01-19 22:25:28 +01:00
7c2322d10a Added SUSE font, pretty geeky, nice UI font 2026-01-19 22:23:31 +01:00
8d58ebd8aa luarocks config/install 2026-01-19 11:50:27 +01:00
0ee41c2751 Simplified treesitter plugin to fix import errors 2026-01-19 11:50:00 +01:00
18 changed files with 205 additions and 107 deletions

View File

@@ -69,6 +69,15 @@ alias la 'ls -A'
alias l 'ls -CF'
alias lll 'ls --color=always -alF | less -R'
# Replace ls with eza, if installed
if type -q eza
alias ll='eza -al --color=always --group-directories-first --icons' # preferred listing
alias ls='eza -a --color=always --group-directories-first --icons' # all files and dirs
alias la='eza -l --color=always --group-directories-first --icons' # long format
alias lt='eza -aT --color=always --group-directories-first --icons' # tree listing
alias l.="eza -a | grep -e '^\.'" # show only dotfiles
end
alias exa 'exa --icons --header --group-directories-first'
alias exatree 'exa --icons --header --group-directories-first --long --tree'
@@ -83,7 +92,7 @@ alias gst "git status"
alias ga "git add -A"
alias gl "git log"
alias gls "git shortlog --summary"
alias gld "git log --follow -p -- " # Shows history with diffs for the filename provided
alias gld "git log --follow -p -- " # Shows history with diffs for the filename provided
alias gr "git reflog"
alias gt 'git tag|less'
#alias gad 'git log --pretty='"'"'%at'"'"' | while read d; do date -d "@$d"; done | awk '"'"'{print $1}'"'"' | sort | uniq -c'
@@ -132,7 +141,7 @@ alias pypitest_up 'python3 -m build; python3 -m twine upload --repository testpy
alias youtube-dl 'youtube-dl -t -f bestvideo+bestaudio/best --merge-output-format mp4'
alias weather 'ansiweather'
alias weather ansiweather
alias wttr 'curl -s wttr.in/Beverwijk | head -17'
# https://www.reddit.com/r/vim/comments/7axmsb/i_cant_believe_how_good_fzf_is/?st=jgm7kba5&sh=590aa1e0
@@ -148,7 +157,7 @@ function imready
# e.g.: longrunning.sh; imready
set laststatus $status
if test $status = 0
set result "success"
set result success
else
set result "failed with result $laststatus"
end

View File

@@ -0,0 +1,9 @@
-- indent_type = "Spaces"
-- indent_width = 4
-- call_parentheses = "Always"
-- column_width = 120
vim.bo.tabstop = 4
vim.bo.softtabstop = 4
vim.bo.shiftwidth = 4
vim.bo.expandtab = true

View File

@@ -15,6 +15,8 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
end
vim.opt.rtp:prepend(lazypath)
vim.filetype.add({ extension = { todo = "todo" } })
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
@@ -29,7 +31,7 @@ require("lazy").setup({
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "kanagawa-dragon" } },
install = { colorscheme = { "bebop" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -5,12 +5,34 @@ vim.g.maplocalleader = ","
vim.opt.number = true
vim.opt.relativenumber = false -- relative line numbers
vim.opt.tabstop = 4 -- tab width
vim.opt.tabstop = 4 -- tab width in spaces
vim.bo.tabstop = 4 -- tab width in spaces
vim.opt.shiftwidth = 4 -- indent width
vim.bo.shiftwidth = 4 -- indent width
vim.opt.expandtab = true -- spaces instead of tabs
vim.opt.smartindent = true -- smart indentation
vim.opt.termguicolors = true -- true color support
vim.opt.clipboard = "unnamedplus" -- system clipboard
-- vim.opt.smoothscroll = true
vim.opt.conceallevel = 0 -- please don't hide stuff from me
vim.opt.wrap = true -- Enable line wrap
vim.opt.spelllang = { "en", "nl" }
-- Replace 'dayh' with a formatted day header
vim.cmd("iab <expr> dayh strftime('== %Y%m%d %A ======')")
-- Replace 'timeh' with a formatted date/time header
vim.cmd("iab <expr> timeh strftime('## %Y%m%d %a %H:%M:%S')")
-- vim.cmd("iabbrev <expr> ,d strftime('%Y-%m-%d')")
-- vim.cmd("iabbrev <expr> ,t strftime('%Y-%m-%dT%TZ')")
vim.cmd("inoreabbrev <expr> ,u system('uuidgen')->trim()->tolower()")
-- Enable autoread and set up checking triggers
vim.o.autoread = true
vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter" }, {
command = "if mode() != 'c' | checktime | endif",
pattern = "*",
})
-- Colorscheme is set in its plugin file

View File

@@ -1,13 +1,14 @@
return {
{ "folke/tokyonight.nvim" },
{ "rebelot/kanagawa.nvim" },
{ "Shatur/neovim-ayu" },
-- { "folke/tokyonight.nvim" },
-- { "rebelot/kanagawa.nvim" },
-- { "Shatur/neovim-ayu" },
{ "ATTron/bebop.nvim" },
-- Configure LazyVim to load our favourite colorscheme
{
"LazyVim/LazyVim",
opts = {
colorscheme = "kanagawa-dragon",
},
}
-- Configure LazyVim to load our favourite colorscheme
{
"LazyVim/LazyVim",
opts = {
colorscheme = "bebop",
},
},
}

View File

@@ -0,0 +1,12 @@
return {
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
sh = { "shfmt" },
bash = { "shfmt" },
lua = { "stylua" },
fish = { "fish_indent" },
},
},
}

View File

@@ -0,0 +1,5 @@
return {
"vhyrro/luarocks.nvim",
priority = 1000, -- Very high priority is required, luarocks.nvim should run as the first plugin in your config.
config = true,
}

View File

@@ -0,0 +1,5 @@
return {
"yousefhadder/markdown-plus.nvim",
ft = "markdown",
opts = {},
}

View File

@@ -0,0 +1,23 @@
return {
"roodolv/markdown-toggle.nvim",
config = function()
require("markdown-toggle").setup({
-- cycle through checkboxes
cycle_box_table = true,
-- doing, done, wut, important, forwarded
box_table = { "/", "x", "?", "!", ">" },
keymaps = {
toggle = {
["<C-q>"] = "quote",
["<C-l>"] = "list",
["<Leader><C-l>"] = "list_cycle",
["<C-n>"] = "olist",
["<M-x>"] = "checkbox_cycle",
["<Leader><M-x>"] = "checkbox",
["<C-h>"] = "heading",
["<Leader><C-h>"] = "heading_toggle",
},
},
})
end,
}

View File

@@ -0,0 +1,8 @@
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
keys = {
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find Files" },
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
},
}

View File

@@ -1,80 +1,57 @@
return {
{
'nvim-treesitter/nvim-treesitter',
"nvim-treesitter/nvim-treesitter",
lazy = false, -- Keep false to ensure loading for Neo-tree
build = ":TSUpdate",
config = function()
local treesitter = require("nvim-treesitter")
treesitter.setup()
treesitter.install({
"java",
"c",
"lua",
"vim",
"vimdoc",
"query",
-- "elixir",
-- "heex",
"markdown",
"markdown_inline",
"bash",
"javascript",
"typescript",
"html",
"toml",
"yaml",
})
dependencies = {
'nvim-treesitter/nvim-treesitter-textobjects',
'nvim-treesitter/nvim-treesitter-refactor',
},
opts = {
ensure_installed = {},
sync_install = 'false',
auto_install = 'true',
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn",
node_incremental = "grn",
scope_incremental = "grc",
node_decremental = "grm",
},
},
indent = { enable = true },
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
-- You can use the capture groups defined in textobjects.scm
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
-- You can optionally set descriptions to the mappings (used in the desc parameter of
-- nvim_buf_set_keymap) which plugins like which-key display
["ic"] = { query = "@class.inner", desc = "Select inner part of a class region" },
-- You can also use captures from other query groups like `locals.scm`
["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" },
},
},
swap = {
enable = true,
swap_previous = { ["[."] = "@parameter.inner", },
swap_next = { ["]."] = "@parameter.inner", },
},
},
refactor = {
highlight_definitions = {
enable = true,
-- Set to false if you have an `updatetime` of ~100.
clear_on_cursor_move = true,
},
highlight_current_scope = { enable = false },
smart_rename = {
enable = true,
-- Assign keymaps to false to disable them, e.g. `smart_rename = false`.
keymaps = {
smart_rename = "grr",
},
},
},
},
},
'nvim-treesitter/nvim-treesitter-textobjects',
'nvim-treesitter/nvim-treesitter-refactor',
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"java",
"c",
"lua",
"vim",
"vimdoc",
"query",
-- "elixir",
-- "heex",
"markdown",
"markdown_inline",
"bash",
"javascript",
"typescript",
"html",
"toml",
"yaml",
},
callback = function()
-- syntax highlighting, provided by Neovim
vim.treesitter.start()
-- folds, provided by Neovim (I don't like folds)
-- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
-- vim.wo.foldmethod = 'expr'
-- indentation, provided by nvim-treesitter
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})
end,
}

5
.config/nvim/stylua.toml Normal file
View File

@@ -0,0 +1,5 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120
[sort_requires]
enabled = true

View File

@@ -0,0 +1 @@
../../../.vim/syntax/todo.vim

2
.gitignore vendored
View File

@@ -1,6 +1,8 @@
# Neovim
.config/nvim/lazy-lock.json
.config/nvim/lazyvim.json
# Contains some personal stuff
.config/nvim/lua/plugins/obsidian.lua
# Vim
.vim/bundle

View File

@@ -2,9 +2,9 @@
set -g bell-action any
# Default termtype. If the rcfile sets $TERM, that overrides this value.
set -g default-terminal tmux-256color-italic
set -g default-terminal "tmux-256color"
#set -g terminal-overrides ',tmux-256color-italic:Tc'
set -ga terminal-overrides ',*256col*:Tc'
set -ga terminal-overrides ',*256col*:Tc:RGB'
# Keep your finger on ctrl, or don't
bind-key ^D detach-client

9
.vimrc
View File

@@ -633,7 +633,7 @@ set hidden
set cryptmethod=blowfish2
" Ensure 256 colour support if the terminal supports it
if has("gui_running") || &term == "xterm" || &term == "xterm-256color" || &term == "screen-bce" || &term == "screen-256color" || &term == "screen" || &term == "tmux-256color-italic"
if has("gui_running") || &term == "xterm" || &term == "xterm-256color" || &term == "screen-bce" || &term == "screen-256color" || &term == "screen" || &term == "tmux-256color" || &term == "tmux-256color-italic"
set background=dark
let g:enable_bold_font = 1
@@ -674,6 +674,13 @@ iab <expr> dayh strftime("== %Y%m%d %A ======")
" Replace 'timeh' with a formatted date/time header
iab <expr> timeh strftime("## %Y%m%d %a %H:%M:%S")
iabbrev <expr> ,d strftime('%Y-%m-%d')
iabbrev <expr> ,t strftime('%Y-%m-%dT%TZ')
inoreabbrev <expr> ,u system('uuidgen')->trim()->tolower()
" vim.cmd("iabbrev <expr> ,d strftime('%Y-%m-%d')")
" vim.cmd("iabbrev <expr> ,t strftime('%Y-%m-%dT%TZ')")
" vim.cmd("inoreabbrev <expr> ,u system('uuidgen')->trim()->tolower()")
" Fly through buffers instead of cycling
" nnoremap <leader>l :ls<cr>:b<space>

View File

@@ -120,6 +120,9 @@ Rubik-MediumItalic.ttf
Rubik-Medium.ttf
Rubik-Regular.ttf'
FONTS_SUSE=$'SUSE-Italic-VariableFont_wght.ttf
SUSE-VariableFont_wght.ttf'
# https://github.com/eosrei/emojione-color-font/
# FONTS_VARIOUS=$'EmojiOneColor-SVGinOT.ttf'
@@ -175,7 +178,7 @@ if [ -e ~/.dot_is_server ]; then
while read -r FONT; do
echo "Copied font: $FONT"
cp -a "$SOURCE_DIR/$FONT" "$DEST_DIR"
done <<< "$FONTS_CODING"
done <<<"$FONTS_CODING"
else
echo "$PARENT_DIR, $SOURCE_DIR or $DEST_DIR not found, aborting"
fi
@@ -190,7 +193,7 @@ if [ -e ~/.dot_is_server ]; then
while read -r FONT; do
echo "Copied font: $FONT"
cp -a "$SOURCE_DIR/$FONT" "$DEST_DIR"
done <<< "$FONTS_JETBRAINS"
done <<<"$FONTS_JETBRAINS"
else
echo "$SOURCE_DIR or $DEST_DIR not found, aborting"
fi
@@ -205,7 +208,7 @@ if [ -e ~/.dot_is_server ]; then
while read -r FONT; do
echo "Copied font: $FONT"
cp -a "$SOURCE_DIR/$FONT" "$DEST_DIR"
done <<< "$FONTS_OVERPASS"
done <<<"$FONTS_OVERPASS"
else
echo "$SOURCE_DIR or $DEST_DIR not found, aborting"
fi
@@ -220,7 +223,7 @@ if [ -e ~/.dot_is_server ]; then
while read -r FONT; do
echo "Copied font: $FONT"
cp -a "$SOURCE_DIR/$FONT" "$DEST_DIR"
done <<< "$FONTS_GO"
done <<<"$FONTS_GO"
else
echo "$SOURCE_DIR or $DEST_DIR not found, aborting"
fi
@@ -237,22 +240,25 @@ else
while read -r FONT; do
FONT_FILE=$(basename "${SOURCE_DIR}/${FONT}")
install_font "$SOURCE_DIR/$FONT_FILE" "$DEST_DIR/$FONT_FILE"
done <<< "$FONTS_CODING"
done <<<"$FONTS_CODING"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_JETBRAINS"
done <<<"$FONTS_JETBRAINS"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_FUTURA"
done <<<"$FONTS_FUTURA"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_OVERPASS"
done <<<"$FONTS_OVERPASS"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_GO"
done <<<"$FONTS_GO"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_RUBIK"
done <<<"$FONTS_RUBIK"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<<"$FONTS_SUSE"
# while read -r FONT; do
# install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
# done <<< "$FONTS_VARIOUS"
@@ -269,7 +275,7 @@ else
echo "Deleting symlink $DEST_DIR/$FONT"
rm "$DEST_DIR/$FONT"
fi
done <<< "$FONTS_DELETE"
done <<<"$FONTS_DELETE"
# Just to be sure, clear and refresh your font cache and restart Firefox
fc-cache -f -v
echo

View File

@@ -6,4 +6,8 @@ git pull
cd ~/divaultwiki
git pull
#vim -c ":vsp planning_2015.todo" notes_2015.md notes_2014.md
vim -c "set nofoldenable" ~/divaultplan/planning_2026.todo ~/divaultphren/index.md ~/divaultwiki/home.md
if ! command -v nvim >/dev/null 2>&1; then
vim -c "set nofoldenable" ~/divaultplan/planning_2026.md
else
nvim -c "set nofoldenable" ~/divaultplan/planning_2026.md
fi