diff options
Diffstat (limited to 'config/essentials')
32 files changed, 840 insertions, 0 deletions
diff --git a/config/essentials/git/config b/config/essentials/git/config new file mode 100644 index 0000000..92bd6e5 --- /dev/null +++ b/config/essentials/git/config @@ -0,0 +1,5 @@ +[init] + defaultBranch = main +[user] + email = raymaekers.luca@gmail.com + name = Raymaekers Luca diff --git a/config/essentials/gnupg/gpg-agent.conf b/config/essentials/gnupg/gpg-agent.conf new file mode 100644 index 0000000..5ac350f --- /dev/null +++ b/config/essentials/gnupg/gpg-agent.conf @@ -0,0 +1,2 @@ +max-cache-ttl 60480000 +default-cache-ttl 60480000 diff --git a/config/essentials/nvim/after/plugin/colorizer.lua b/config/essentials/nvim/after/plugin/colorizer.lua new file mode 100644 index 0000000..6ca374f --- /dev/null +++ b/config/essentials/nvim/after/plugin/colorizer.lua @@ -0,0 +1,6 @@ +require 'colorizer'.setup { + '*'; + html = { + mode = 'foreground'; + } +} diff --git a/config/essentials/nvim/after/plugin/colors.lua b/config/essentials/nvim/after/plugin/colors.lua new file mode 100644 index 0000000..516f097 --- /dev/null +++ b/config/essentials/nvim/after/plugin/colors.lua @@ -0,0 +1,16 @@ +function ColorMyPencils(color) + color = color or "nord" + vim.cmd.colorscheme(color) + vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) + vim.cmd.highlight("SignColumn guibg=none") + + vim.g.nord_uniform_diff_background = true + vim.g.nord_contrast = true + vim.g.nord_borders = true + local highlights = require("nord").bufferline.highlights({ + italic = true, + bold = true, + }) +end +ColorMyPencils() diff --git a/config/essentials/nvim/after/plugin/fugitive.lua b/config/essentials/nvim/after/plugin/fugitive.lua new file mode 100644 index 0000000..80c9070 --- /dev/null +++ b/config/essentials/nvim/after/plugin/fugitive.lua @@ -0,0 +1 @@ +vim.keymap.set("n", "<leader>gs", vim.cmd.Git) diff --git a/config/essentials/nvim/after/plugin/harpoon.lua b/config/essentials/nvim/after/plugin/harpoon.lua new file mode 100644 index 0000000..6f9c8ba --- /dev/null +++ b/config/essentials/nvim/after/plugin/harpoon.lua @@ -0,0 +1,10 @@ +local mark = require("harpoon.mark") +local ui = require("harpoon.ui") + +vim.keymap.set("n", "<leader>ha", mark.add_file) +vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu) + +vim.keymap.set("n", "<leader>h1", function() ui.nav_file(1) end) +vim.keymap.set("n", "<leader>h2", function() ui.nav_file(2) end) +vim.keymap.set("n", "<leader>h3", function() ui.nav_file(3) end) +vim.keymap.set("n", "<leader>h4", function() ui.nav_file(4) end) diff --git a/config/essentials/nvim/after/plugin/telescope.lua b/config/essentials/nvim/after/plugin/telescope.lua new file mode 100644 index 0000000..7ea6db8 --- /dev/null +++ b/config/essentials/nvim/after/plugin/telescope.lua @@ -0,0 +1,8 @@ +local builtin = require('telescope.builtin') +vim.keymap.set('n', '<leader>pf', builtin.find_files, {}) +vim.keymap.set('n', '<leader>ps', builtin.live_grep, {}) +vim.keymap.set('n', '<C-p>', builtin.git_files, {}) +-- symbols +vim.keymap.set("n", "<leader>tse", "<cmd>lua require'telescope.builtin'.symbols{ sources = {'emoji', 'gitmoji'} }<CR>") +vim.keymap.set("n", "<leader>tsn", "<cmd>lua require'telescope.builtin'.symbols{ sources = {'nerd'} }<CR>") +vim.keymap.set("n", "<leader>tsj", "<cmd>lua require'telescope.builtin'.symbols{ sources = {'julia'} }<CR>") diff --git a/config/essentials/nvim/after/plugin/treesitter.lua b/config/essentials/nvim/after/plugin/treesitter.lua new file mode 100644 index 0000000..f7f726f --- /dev/null +++ b/config/essentials/nvim/after/plugin/treesitter.lua @@ -0,0 +1,16 @@ +require'nvim-treesitter.configs'.setup { + ensure_installed = { "c", "lua", "vim", "help", "diff"}, + + sync_install = false, + auto_install = true, + + highlight = { + enable = true, + + additional_vim_regex_highlighting = false, + + autotag = { + enable = true, + } + } +} diff --git a/config/essentials/nvim/after/plugin/undotree.lua b/config/essentials/nvim/after/plugin/undotree.lua new file mode 100644 index 0000000..b6b9276 --- /dev/null +++ b/config/essentials/nvim/after/plugin/undotree.lua @@ -0,0 +1 @@ +vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) diff --git a/config/essentials/nvim/after/plugin/zk.lua b/config/essentials/nvim/after/plugin/zk.lua new file mode 100644 index 0000000..a11f6df --- /dev/null +++ b/config/essentials/nvim/after/plugin/zk.lua @@ -0,0 +1,6 @@ +vim.cmd("hi tklink ctermfg=72 guifg=#81a1c1 cterm=bold,underline gui=bold,underline") +vim.cmd("hi tkBrackets ctermfg=gray guifg=gray") +vim.cmd("hi tkHighlight ctermbg=yellow ctermfg=red cterm=bold guibg=#ebcb8b guifg=black gui=bold") +vim.cmd("hi link CalNavi CalRuler") +vim.cmd("hi tkTagSep ctermfg=gray guifg=gray") +vim.cmd("hi tkTag ctermfg=175 guifg=#d3869B") diff --git a/config/essentials/nvim/init.lua b/config/essentials/nvim/init.lua new file mode 100644 index 0000000..7772f90 --- /dev/null +++ b/config/essentials/nvim/init.lua @@ -0,0 +1 @@ +require("tlast") diff --git a/config/essentials/nvim/lua/tlast/aucommands.vim b/config/essentials/nvim/lua/tlast/aucommands.vim new file mode 100644 index 0000000..732985f --- /dev/null +++ b/config/essentials/nvim/lua/tlast/aucommands.vim @@ -0,0 +1,21 @@ +" Absolute numbers if window isn't focused +augroup numbertoggle + autocmd! + autocmd BufEnter,FocusGained,WinEnter * if &nu | set rnu | endif + autocmd BufLeave,FocusLost,WinLeave * if &nu | set nornu | endif +augroup END + +" terminal specific layout +augroup neovim_terminal autocmd! + autocmd TermOpen * startinsert + autocmd TermOpen * :GitGutterBufferDisable + autocmd TermOpen * :set nonumber norelativenumber signcolumn=no + autocmd TermOpen * nnoremap <buffer> <C-c> i<C-c> +augroup END + +" Return to last edit position +autocmd BufReadPost * + \ if line("'\"") > 1 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + diff --git a/config/essentials/nvim/lua/tlast/cmp/arduino.lua b/config/essentials/nvim/lua/tlast/cmp/arduino.lua new file mode 100755 index 0000000..777df8d --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/arduino.lua @@ -0,0 +1,3 @@ +require'lspconfig'.arduino_language_server.setup{ + cmd = {"arduino-language-server", "-cli-config", "~/.arduinoIDE/arduino-cli.yaml"} +} diff --git a/config/essentials/nvim/lua/tlast/cmp/clangd.lua b/config/essentials/nvim/lua/tlast/cmp/clangd.lua new file mode 100644 index 0000000..810aa42 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/clangd.lua @@ -0,0 +1,2 @@ +-- c cpp +require'lspconfig'.clangd.setup{} diff --git a/config/essentials/nvim/lua/tlast/cmp/css.lua b/config/essentials/nvim/lua/tlast/cmp/css.lua new file mode 100644 index 0000000..07cb8bc --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/css.lua @@ -0,0 +1 @@ +require'lspconfig'.cssls.setup{} diff --git a/config/essentials/nvim/lua/tlast/cmp/emmet.lua b/config/essentials/nvim/lua/tlast/cmp/emmet.lua new file mode 100644 index 0000000..3193727 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/emmet.lua @@ -0,0 +1 @@ +require'lspconfig'.emmet_ls.setup{} diff --git a/config/essentials/nvim/lua/tlast/cmp/html.lua b/config/essentials/nvim/lua/tlast/cmp/html.lua new file mode 100644 index 0000000..69ed29d --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/html.lua @@ -0,0 +1,7 @@ +-- html +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true + +require'lspconfig'.html.setup { + capabilities = capabilities, +} diff --git a/config/essentials/nvim/lua/tlast/cmp/init.lua b/config/essentials/nvim/lua/tlast/cmp/init.lua new file mode 100644 index 0000000..90e6024 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/init.lua @@ -0,0 +1,10 @@ +require("tlast.cmp.setup") + +require("tlast.cmp.arduino") +require("tlast.cmp.clangd") +require("tlast.cmp.html") +require("tlast.cmp.css") +require("tlast.cmp.js") +require("tlast.cmp.emmet") +require("tlast.cmp.lua") +require("tlast.cmp.python") diff --git a/config/essentials/nvim/lua/tlast/cmp/js.lua b/config/essentials/nvim/lua/tlast/cmp/js.lua new file mode 100644 index 0000000..7188a22 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/js.lua @@ -0,0 +1 @@ +require'lspconfig'.tsserver.setup{} diff --git a/config/essentials/nvim/lua/tlast/cmp/lua.lua b/config/essentials/nvim/lua/tlast/cmp/lua.lua new file mode 100644 index 0000000..e594870 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/lua.lua @@ -0,0 +1,20 @@ +-- lua +require'lspconfig'.lua_ls.setup { + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + diagnostics = { + globals = {'vim'}, + }, + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, -- no prompt for luassert :) + }, + telemetry = { + enable = false, + }, + }, + }, +} diff --git a/config/essentials/nvim/lua/tlast/cmp/python.lua b/config/essentials/nvim/lua/tlast/cmp/python.lua new file mode 100644 index 0000000..aec86bd --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/python.lua @@ -0,0 +1 @@ +require'lspconfig'.jedi_language_server.setup{} diff --git a/config/essentials/nvim/lua/tlast/cmp/setup.lua b/config/essentials/nvim/lua/tlast/cmp/setup.lua new file mode 100644 index 0000000..67baf9e --- /dev/null +++ b/config/essentials/nvim/lua/tlast/cmp/setup.lua @@ -0,0 +1,47 @@ +local cmp = require'cmp' +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete(), + ['<C-c>'] = cmp.mapping.abort(), + ['<C-y>'] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = 'nvim_lua' }, + { name = 'nvim_lsp' }, + { name = 'path' }, + { name = 'luasnip' }, + { name = 'buffer'}, + }), +}) + +cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'cmp_git' }, + { name = 'buffer' }, + }) +}) + +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + }, +}) +cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' }, + { name = 'cmdline', keyword_length = 3 } + }), +}) diff --git a/config/essentials/nvim/lua/tlast/init.lua b/config/essentials/nvim/lua/tlast/init.lua new file mode 100644 index 0000000..9a9f387 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/init.lua @@ -0,0 +1,6 @@ +require("tlast.packer") +require("tlast.remap") +require("tlast.set") +require("tlast.cmp") +require("tlast.zk") +vim.cmd.source(vim.fn.stdpath("config") .. "/lua/tlast/aucommands.vim") diff --git a/config/essentials/nvim/lua/tlast/packer.lua b/config/essentials/nvim/lua/tlast/packer.lua new file mode 100644 index 0000000..8bc9e3b --- /dev/null +++ b/config/essentials/nvim/lua/tlast/packer.lua @@ -0,0 +1,68 @@ +return require('packer').startup(function(use) + use('wbthomason/packer.nvim') + + -- files + use { + 'nvim-telescope/telescope.nvim', tag = '0.1.0', + requires = { {'nvim-lua/plenary.nvim'} } + } + use('nvim-telescope/telescope-symbols.nvim') + use('theprimeagen/harpoon') + + -- colors + use('shaunsingh/nord.nvim') + use('folke/tokyonight.nvim') + use { + 'glepnir/dashboard-nvim', + event = 'VimEnter', + config = { + theme = 'hyper', + }, + requires = {'nvim-tree/nvim-web-devicons'} + } + use('norcalli/nvim-colorizer.lua') + + use('airblade/vim-gitgutter') + + use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'}) + use('nvim-treesitter/playground') + + use('mbbill/undotree') + + use('tpope/vim-capslock') + use('tpope/vim-commentary') + use('tpope/vim-endwise') + use('tpope/vim-fugitive') + use('tpope/vim-repeat') + use('tpope/vim-surround') + use('tpope/vim-vinegar') + + -- utils + use('godlygeek/tabular') + use('renerocksai/calendar-vim') + use('LordTlasT/live-server') + use('ojroques/vim-oscyank', {branch = "main"}) + + -- objects + use('michaeljsmith/vim-indent-object') + + -- completion + use('neovim/nvim-lspconfig') + use('hrsh7th/nvim-cmp') + use('hrsh7th/cmp-nvim-lua') + use('hrsh7th/cmp-nvim-lsp') + use('hrsh7th/cmp-buffer') + use('hrsh7th/cmp-path') + use('hrsh7th/cmp-cmdline') + + -- snippets + use('L3MON4D3/LuaSnip') + use('saadparwaiz1/cmp_luasnip') + + -- notes + use('renerocksai/telekasten.nvim') + use({ + "iamcco/markdown-preview.nvim", + run = function() vim.fn["mkdp#util#install"]() end, + }) +end) diff --git a/config/essentials/nvim/lua/tlast/remap.lua b/config/essentials/nvim/lua/tlast/remap.lua new file mode 100644 index 0000000..d87c9d0 --- /dev/null +++ b/config/essentials/nvim/lua/tlast/remap.lua @@ -0,0 +1,62 @@ +vim.g.mapleader = " " + +vim.keymap.set("n", "-", vim.cmd.Ex) + +-- moving +vim.keymap.set("i", "<C-a>", "<C-o>I") +vim.keymap.set("i", "<C-e>", "<C-o>A") + +-- add closing +vim.keymap.set("i", "\"", "\"\"<Left>") +vim.keymap.set("i", "'", "''<Left>") +vim.keymap.set("i", "(", "()<Left>") +vim.keymap.set("i", "[", "[]<Left>") +vim.keymap.set("i", "{", "{}<Left>") +vim.keymap.set("i", "{<CR>", "{<CR>}<C-o>O") +vim.keymap.set("i", "{;<CR>", "{<CR>};<C-o>O") + +-- buffers +vim.keymap.set("n", "gb", "<cmd>buffers<CR>:buffer<Space>") +vim.keymap.set("n", "<leader>q", "<cmd>q!<CR>") +vim.keymap.set("n", "<leader>Q", "<cmd>qa!<CR>") + +-- Windows +vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-h>", "<C-W>h") +vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-j>", "<C-W>j") +vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-k>", "<C-W>k") +vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-l>", "<C-W>l") +vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-o>", "<C-W>o") + +-- move visual selection up/down wards +vim.keymap.set("v", "J", "<cmd>m '>+1<CR>gv=gv") +vim.keymap.set("v", "K", "<cmd>m '<-2<CR>gv=gv") + +-- Don't move! +vim.keymap.set("n", "J", "mzJ`z") + +-- clipboard +vim.keymap.set("n", "<leader>y", "\"+y") +vim.keymap.set("n", "<leader>o", "<Plug>OSCYank") + +-- scripts +vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true}) + +-- replace +vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w><C-w>/gI<Left><Left><Left>]]) + +-- templates +vim.keymap.set("n", "<leader>rt", ":r " .. vim.fn.stdpath("config") .. "/templates/") + +-- hide all +local s = {hidden_all = 0} +vim.keymap.set("n", "<C-h>", function () + s.hidden_all = 1 - s.hidden_all + local opt = s.hidden_all == 0 + vim.opt.showmode = opt + vim.opt.ruler = opt + vim.opt.nu = opt + vim.opt.rnu = opt + vim.opt.showcmd = opt + vim.opt.laststatus = opt and 2 or 0 + vim.opt.signcolumn = opt and "yes" or "no" +end) diff --git a/config/essentials/nvim/lua/tlast/set.lua b/config/essentials/nvim/lua/tlast/set.lua new file mode 100644 index 0000000..ab582bb --- /dev/null +++ b/config/essentials/nvim/lua/tlast/set.lua @@ -0,0 +1,36 @@ +vim.opt.clipboard = "unnamed" + +vim.opt.termguicolors = true + +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.showmatch = true +vim.opt.matchtime = 0 +vim.opt.showcmd = true +vim.opt.cursorline = true +vim.opt.ruler = true + +vim.opt.wildmenu = true +vim.opt.incsearch = true + +vim.opt.mouse = "" + +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.backspace = "indent,eol,start" + +vim.opt.signcolumn = "yes" +vim.opt.updatetime = 100 +vim.opt.laststatus = 2 +vim.opt.history = 200 +vim.opt.encoding = "utf-8" + +vim.opt.smartindent = true +vim.opt.scrolloff = 8 +vim.opt.textwidth = 74 + +vim.opt.ignorecase = true +vim.opt.smartcase = true + +vim.opt.swapfile = false +vim.opt.backup = false diff --git a/config/essentials/nvim/lua/tlast/zk.lua b/config/essentials/nvim/lua/tlast/zk.lua new file mode 100644 index 0000000..104c51c --- /dev/null +++ b/config/essentials/nvim/lua/tlast/zk.lua @@ -0,0 +1,75 @@ +local home = vim.fn.expand("~/docs/zk") +require('telekasten').setup({ + home = home, + take_over_my_home = true, + auto_set_filetype = true, + auto_set_syntax = true, + dailies = home .. '/' .. 'daily', + weeklies = home .. '/' .. 'weekly', + templates = home .. '/' .. 'templates', + image_subdir = "img", + extension = ".md", + new_note_filename = "title", + uuid_type = "%Y%m%d%H%M", + uuid_sep = "-", + filename_space_subst = nil, + follow_creates_nonexisting = true, + dailies_create_nonexisting = true, + weeklies_create_nonexisting = true, + journal_auto_open = false, + template_new_note = home .. '/' .. 'templates/new_note.md', + template_new_daily = home .. '/' .. 'templates/daily.md', + template_new_weekly= home .. '/' .. 'templates/weekly.md', + image_link_style = "markdown", + sort = "filename", + plug_into_calendar = true, + calendar_opts = { + weeknm = 4, + calendar_monday = 1, + calendar_mark = 'left-fit', + }, + close_after_yanking = false, + insert_after_inserting = true, + tag_notation = "#tag", + command_palette_theme = "dropdown", + show_tags_theme = "ivy", + subdirs_in_links = true, + template_handling = "smart", + new_note_location = "smart", + rename_update_links = true, + vaults = { + cs = { + home = home .. '/' .. 'cs', + template_new_note = home .. '/' .. 'templates/new_note.md', + }, + }, + media_previewer = "telescope-media-files", + follow_url_fallback = nil, +}) + +vim.keymap.set("n", "<leader>z", require('telekasten').panel) +vim.keymap.set("n", "<leader>zC", "<cmd>CalendarT") +vim.keymap.set("n", "<leader>zF", require('telekasten').find_friends) +vim.keymap.set("n", "<leader>zI", "<cmd>lua require('telekasten').insert_img_link({ i=true })<cr>") +vim.keymap.set("n", "<leader>zN", require('telekasten').new_templated_note) +vim.keymap.set("n", "<leader>zT", require('telekasten').goto_today) +vim.keymap.set("n", "<leader>zW", require('telekasten').goto_thisweek) +vim.keymap.set("n", "<leader>za", require('telekasten').show_tags) +vim.keymap.set("n", "<leader>zb", require('telekasten').show_backlinks) +vim.keymap.set("n", "<leader>zc", require('telekasten').show_calendar) +vim.keymap.set("n", "<leader>zd", require('telekasten').find_daily_notes) +vim.keymap.set("n", "<leader>zf", require('telekasten').find_notes) +vim.keymap.set("n", "<leader>zg", require('telekasten').search_notes) +vim.keymap.set("n", "<leader>zi", require('telekasten').paste_img_and_link) +vim.keymap.set("n", "<leader>zm", require('telekasten').browse_media) +vim.keymap.set("n", "<leader>zn", require('telekasten').new_note) +vim.keymap.set("n", "<leader>zp", require('telekasten').preview_img) +vim.keymap.set("n", "<leader>zr", require('telekasten').rename_note) +vim.keymap.set("n", "<leader>zs", require('telekasten').switch_vault) +vim.keymap.set("n", "<leader>zt", require('telekasten').toggle_todo) +vim.keymap.set("n", "<leader>zt","<cmd>lua require('telekasten').toggle_todo({ i=true })<cr>") +vim.keymap.set("n", "<leader>zw", require('telekasten').find_weekly_notes) +vim.keymap.set("n", "<leader>zy", require('telekasten').yank_notelink) +vim.keymap.set("n", "<leader>zz", require('telekasten').follow_link) +vim.keymap.set("n", "<leader>#", require('telekasten').show_tags) +vim.keymap.set("n", "<leader>[", "<cmd>lua require('telekasten').insert_link({ i=true })<cr>") diff --git a/config/essentials/nvim/templates/cpp.make b/config/essentials/nvim/templates/cpp.make new file mode 100644 index 0000000..474cd78 --- /dev/null +++ b/config/essentials/nvim/templates/cpp.make @@ -0,0 +1,4 @@ +FILE = + +$(FILE): $(FILE).cpp + c++ -Wall -Werror -ggdb $(FILE).cpp -o $(FILE) diff --git a/config/essentials/nvim/templates/main.cpp b/config/essentials/nvim/templates/main.cpp new file mode 100644 index 0000000..3d4f0fb --- /dev/null +++ b/config/essentials/nvim/templates/main.cpp @@ -0,0 +1,6 @@ +#include <iostream> +using namespace std; + +int main() { + return 0; +} diff --git a/config/essentials/zsh/aliases.zsh b/config/essentials/zsh/aliases.zsh new file mode 100644 index 0000000..1904c78 --- /dev/null +++ b/config/essentials/zsh/aliases.zsh @@ -0,0 +1,291 @@ +#!/bin/zsh +# s/alias \([^-]\)/alias -g \1 + +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + # alias ls='ls -h --color --group-directories-first' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' + alias ip='ip -color=auto' +fi + +alias -g l='ls -l' +alias -g ll='ls -la' +alias -g la='ls -aF' +alias -g lst='ls --tree' +alias -g lst1='ls --tree -L1' +alias -g lst2='ls --tree -L2' +alias -g lst3='ls --tree -L3' +alias ls.='ls -dl .*' +alias ls='exa --icons --sort extension --group-directories-first' + +alias nv='nvim' +alias -g vimp="vim -c 'PlugInstall'" +alias yay='pikaur' +alias dopac='doas pacman' +alias orpac='pacman -Qtdq | dopac -Rns - 2> /dev/null || echo "No orphans."' +alias pacup='dopac -Syu' +alias pacsi='pacman -Si' +alias pacss='pacman -Ss' +alias pacqs='pacman -Qs' +alias pacql='pacman -Ql' +alias dopacs='dopac -S' +# +# +# ----------------------------------------------------------- + +alias grub-update='doas grub-mkconfig -o /boot/grub/grub.cfg' + +alias -g xclipp='xclip -selection clipboard -r' +alias -g xclipo='xclip -o -selection clipboard -r' +alias -g xclippc='xclip -o -selection primary | xclip -selection clipboard -r' +alias -g xclipcp='xclip -o -selection clipboard | xclip' + +alias -g xrandr-rpgmaker='xrandr --auto --output VGA-1 --mode 1024x768 --left-of HDMI-1 && ~/.fehbg' +alias -g xrandr-default='xrandr --auto --output VGA-1 --mode 1920x1080 --left-of HDMI-1 --output HDMI-1 --mode 1920x1080 && ~/.fehbg' + +alias mv='mv -i' +alias df='df -h' +alias -g dud='du -d 1 -h | sort -h' +alias -g d='du --max-depth=0 -h' +alias df='df -h' +alias shred='shred -uz' +alias lsblk='lsblk -o name,type,fsused,size,fstype,label,mountpoint' +alias -g floc='doas find / -type "f" 2> /dev/null | grep' +alias -g dloc='doas find / -type "d" 2> /dev/null | grep' +alias lsblk='lsblk -o name,type,fsused,size,fstype,label,mountpoint' +alias -g fif='find . -type "f" | grep' +alias -g fid='find . -type "d" | grep' +alias scr='nv "${vimf:=/tmp/$(uuidgen)}" ; rm -f "$vimf"' +alias vidlen='ffprobe -show_entries format=duration -v quiet -of csv="p=0" -i' +alias whatsmyip='curl "ifconfig.me"' +alias icognito='unset HISTFILE' +alias penv='python -m venv' +alias ytclipo='yt-dlp "$(xclip -sel c -o)"' + +alias -g '...'='../..' +alias -g '....'='../../..' +alias -g bg='&; disown' +alias -g cx='chmod +x' +alias -g ch='chown ${USER}:${USER} -R' +alias -g hl='--help |& less -r' +alias -g pi='ping archlinux.org -c4' +alias -g sba='source bin/activate' +alias -g smc='systemctl' +alias -g smcu='systemctl --user' +alias -g sr='source ~/.zshrc && rehash' +alias -g wf='doas wipefs -a' + +# quick config +alias -g ez='$EDITOR ~/.zshrc' +alias -g eza='$EDITOR ~/.config/zsh/aliases.zsh' +alias -g eto='$EDITOR ~/sync/TODO' + +alias -g ff='`fzffile`' +alias -g fd='`fzfdir`' +alias -g fdf='`fzfdirfile`' + +alias -s conf="$EDITOR" +alias -s txt="$EDITOR" +alias -s c="$EDITOR" +alias -s z80="$EDITOR" +alias -s zip='unzip -l' +alias -s tar='tar tf' + +# oh-my-zsh git aliases +alias g='git' + +alias ga='git add' +alias gaa='git add --all' +alias gapa='git add --patch' +alias gau='git add --update' +alias gav='git add --verbose' +alias gap='git apply' +alias gapt='git apply --3way' + +alias gb='git branch' +alias gba='git branch --all' +alias gbd='git branch --delete' +alias gbda='git branch --no-color --merged | command grep -vE "^([+*]|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs git branch --delete 2>/dev/null' +alias gbD='git branch --delete --force' +alias gbl='git blame -b -w' +alias gbnm='git branch --no-merged' +alias gbr='git branch --remote' +alias gbs='git bisect' +alias gbsb='git bisect bad' +alias gbsg='git bisect good' +alias gbsr='git bisect reset' +alias gbss='git bisect start' + +alias gc='git commit --verbose' +alias gc!='git commit --verbose --amend' +alias gcn!='git commit --verbose --no-edit --amend' +alias gca='git commit --verbose --all' +alias gca!='git commit --verbose --all --amend' +alias gcan!='git commit --verbose --all --no-edit --amend' +alias gcans!='git commit --verbose --all --signoff --no-edit --amend' +alias gcam='git commit --all --message' +alias gcsm='git commit --signoff --message' +alias gcas='git commit --all --signoff' +alias gcasm='git commit --all --signoff --message' +alias gcb='git checkout -b' +alias gcf='git config --list' + +alias gcl='git clone --recurse-submodules' +alias gclean='git clean --interactive -d' +alias gpristine='git reset --hard && git clean --force -dx' +alias gcm='git checkout $(git_main_branch)' +alias gcd='git checkout $(git_develop_branch)' +alias gcmsg='git commit --message' +alias gco='git checkout' +alias gcor='git checkout --recurse-submodules' +alias gcount='git shortlog --summary --numbered' +alias gcp='git cherry-pick' +alias gcpa='git cherry-pick --abort' +alias gcpc='git cherry-pick --continue' +alias gcs='git commit --gpg-sign' +alias gcss='git commit --gpg-sign --signoff' +alias gcssm='git commit --gpg-sign --signoff --message' + +alias gd='git diff' +alias gdca='git diff --cached' +alias gdcw='git diff --cached --word-diff' +alias gdct='git describe --tags $(git rev-list --tags --max-count=1)' +alias gds='git diff --staged' +alias gdt='git diff-tree --no-commit-id --name-only -r' +alias gdup='git diff @{upstream}' +alias gdw='git diff --word-diff' + +alias ggpur='ggu' +alias ggpull='git pull origin "$(git_current_branch)"' +alias ggpush='git push origin "$(git_current_branch)"' + +alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)' +alias gpsup='git push --set-upstream origin $(git_current_branch)' + +alias ghh='git help' + +alias gignore='git update-index --assume-unchanged' +alias gignored='git ls-files -v | grep "^[[:lower:]]"' +alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk' + +alias gk='\gitk --all --branches &!' +alias gke='\gitk --all $(git log --walk-reflogs --pretty=%h) &!' + +alias gl='git pull' +alias glg='git log --stat' +alias glgp='git log --stat --patch' +alias glgg='git log --graph' +alias glgga='git log --graph --decorate --all' +alias glgm='git log --graph --max-count=10' +alias glo='git log --oneline --decorate' +alias glol="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'" +alias glols="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --stat" +alias glod="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'" +alias glods="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short" +alias glola="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --all" +alias glog='git log --oneline --decorate --graph' +alias gloga='git log --oneline --decorate --graph --all' +alias glp="_git_log_prettily" + +alias gm='git merge' +alias gmom='git merge origin/$(git_main_branch)' +alias gmtl='git mergetool --no-prompt' +alias gmtlvim='git mergetool --no-prompt --tool=vimdiff' +alias gmum='git merge upstream/$(git_main_branch)' +alias gma='git merge --abort' + +alias gp='git push' +alias gpd='git push --dry-run' +alias gpf='git push --force-with-lease' +alias gpf!='git push --force' +alias gpoat='git push origin --all && git push origin --tags' +alias gpr='git pull --rebase' +alias gpu='git push upstream' +alias gpv='git push --verbose' + +alias gr='git remote' +alias gra='git remote add' +alias grb='git rebase' +alias grba='git rebase --abort' +alias grbc='git rebase --continue' +alias grbd='git rebase $(git_develop_branch)' +alias grbi='git rebase --interactive' +alias grbm='git rebase $(git_main_branch)' +alias grbom='git rebase origin/$(git_main_branch)' +alias grbo='git rebase --onto' +alias grbs='git rebase --skip' +alias grev='git revert' +alias grh='git reset' +alias grhh='git reset --hard' +alias groh='git reset origin/$(git_current_branch) --hard' +alias grm='git rm' +alias grmc='git rm --cached' +alias grmv='git remote rename' +alias grrm='git remote remove' +alias grs='git restore' +alias grset='git remote set-url' +alias grss='git restore --source' +alias grst='git restore --staged' +alias grt='cd "$(git rev-parse --show-toplevel || echo .)"' +alias gru='git reset --' +alias grup='git remote update' +alias grv='git remote --verbose' + +alias gsb='git status --short --branch' +alias gsd='git svn dcommit' +alias gsh='git show' +alias gsi='git submodule init' +alias gsps='git show --pretty=short --show-signature' +alias gsr='git svn rebase' +alias gss='git status --short' +alias gst='git status' + +alias gsta='git stash push' +alias gstaa='git stash apply' +alias gstc='git stash clear' +alias gstd='git stash drop' +alias gstl='git stash list' +alias gstp='git stash pop' +alias gsts='git stash show --text' +alias gstu='gsta --include-untracked' +alias gstall='git stash --all' +alias gsu='git submodule update' +alias gsw='git switch' +alias gswc='git switch --create' +alias gswm='git switch $(git_main_branch)' +alias gswd='git switch $(git_develop_branch)' + +alias gts='git tag --sign' +alias gtv='git tag | sort -V' +alias gtl='gtl(){ git tag --sort=-v:refname -n --list "${1}*" }; noglob gtl' + +alias gunignore='git update-index --no-assume-unchanged' +alias gunwip='git log --max-count=1 | grep -q -c "\--wip--" && git reset HEAD~1' +alias gup='git pull --rebase' +alias gupv='git pull --rebase --verbose' +alias gupa='git pull --rebase --autostash' +alias gupav='git pull --rebase --autostash --verbose' +alias gupom='git pull --rebase origin $(git_main_branch)' +alias gupomi='git pull --rebase=interactive origin $(git_main_branch)' +alias glum='git pull upstream $(git_main_branch)' +alias gluc='git pull upstream $(git_current_branch)' + +alias gwch='git whatchanged -p --abbrev-commit --pretty=medium' +alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"' + +alias gwt='git worktree' +alias gwta='git worktree add' +alias gwtls='git worktree list' +alias gwtmv='git worktree move' +alias gwtrm='git worktree remove' + +alias gam='git am' +alias gamc='git am --continue' +alias gams='git am --skip' +alias gama='git am --abort' +alias gamscp='git am --show-current-patch' diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh new file mode 100644 index 0000000..a73ea15 --- /dev/null +++ b/config/essentials/zsh/functions.zsh @@ -0,0 +1,79 @@ +#!/bin/zsh + +vmp() { + col -b | \ + vim -MR \ + -c 'set ft=man nolist nonu nornu' +} +vimh() { vim -c "help $1" -c 'call feedkeys("\<c-w>o")' } + +nnn() { test -z "$NNNLVL" && /usr/bin/nnn "$@" || exit } +ranger() { test -z "$RANGER_LEVEL" && /usr/bin/ranger "$@" || exit } + +# googoo +o () +{ + f="$(fzffile $1)" + test "$#" -gt 0 && shift + test -n "$f" && $EDITOR $@ "$f" +} +go () +{ + d="$(fzfdir $1)" + test -d "$d" && cd "$d" +} +ogo () +{ + d="$(fzfdirfile $1)" + test -d "$d" && cd "$d" +} + +ipc () +{ + if [[ "$(ip link show eno1 | awk -F, 'NR=1 {print $3}')" == "UP" ]] + then + doas ip link set eno1 down + else + doas ip link set eno1 up + fi +} + +calc () { echo "$@" | bc -l } + +unique () { + f="/tmp/$(uuidgen)" + awk '!x[$0]++' "$1" > "$f" + mv "$f" "$1" +} + +clip () { echo -n "$@" | xclip -selection clipboard -rmlastnl } + +fzh () { + choice="$(tac $HOME/.config/zsh/histfile | fzf)" + test -z "${choice}" && return + echo "${choice}" >> "${HOME}/.config/zsh/histfile" + eval "${choice}" +} + +unzipp () { + file=$1 + shift + unzip $file $@ || exit 1 + rm $file +} + +# fix long waiting time +__git_files () { + _wanted files expl 'local files' _files +} + +# allows changing to parent dir of file +function cd () { + if (( ${#argv} == 1 )) && [[ -f ${1} ]]; then + [[ ! -e ${1:h} ]] && return 1 + print "Correcting ${1} to ${1:h}" + builtin cd ${1:h} + else + builtin cd "$@" + fi +} diff --git a/config/essentials/zsh/variables.zsh b/config/essentials/zsh/variables.zsh new file mode 100644 index 0000000..fd8099a --- /dev/null +++ b/config/essentials/zsh/variables.zsh @@ -0,0 +1,27 @@ +#!/bin/zsh +# VARIABLES +export ZOT="${HOME}/zot" + +export EDITOR="nvim" +export VISUAL="nvim" + +# colored GCC warnings and errors +export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# Prevent ranger from loading config twice +export RANGER_LOAD_DEFAULT_RC=FALSE + +# Color of zsh-suggestion +export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' +export STARSHIP_CONFIG="${HOME}/.config/starship/starship.toml" +export FUNCNEST=10000 +export fpath=($HOME/.config/zsh/completion/ $fpath) + +# Config files from .config +export XINITRC="$HOME/.config/x11/xinitrc" +export GNUPGHOME="$HOME/.config/gnupg" +export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" +# export VIMINIT="source ~/.config/vim/vimrc" + +export PASSWORD_STORE_CLIP_TIME=5 +export DISPLAY=:0 |