diff --git a/README.md b/README.md deleted file mode 100644 index efe6699..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# .dotfiles \ No newline at end of file diff --git a/alacritty/.config/alacritty.toml b/alacritty/.config/alacritty.toml deleted file mode 100644 index 3222ab8..0000000 --- a/alacritty/.config/alacritty.toml +++ /dev/null @@ -1,20 +0,0 @@ -import = ["solorized-dark.toml"] - -[env] -TERM = "xterm-256color" - -[font] -size = 14.0 - -[font.bold] -family = "MesloLGS Nerd Font Mono" -style = "Bold" -[font.bold_italic] -family = "MesloLGS Nerd Font Mono" -style = "Bold Italic" -[font.bold] -family = "MesloLGS Nerd Font Mono" -style = "Italic" -[font.normal] -family = "MesloLGS Nerd Font Mono" -style = "Regular" diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..ebe5019 --- /dev/null +++ b/alacritty/.config/alacritty/alacritty.toml @@ -0,0 +1,23 @@ +import = ["~/.config/alacritty/solarized_dark.toml"] + +[env] +TERM = "xterm-256color" + +[font] +size = 14.0 + +[font.bold] +family = "hjkl" +style = "Bold" + +[font.bold_italic] +family = "hjkl" +style = "Bold Italic" + +[font.italic] +family = "hjkl" +style = "Italic" + +[font.normal] +family = "hjkl" +style = "Regular" diff --git a/alacritty/solarized_dark.toml b/alacritty/.config/alacritty/solarized_dark.toml similarity index 100% rename from alacritty/solarized_dark.toml rename to alacritty/.config/alacritty/solarized_dark.toml diff --git a/alacritty/alacitty.toml b/alacritty/alacitty.toml deleted file mode 100644 index 4467203..0000000 --- a/alacritty/alacitty.toml +++ /dev/null @@ -1,23 +0,0 @@ -import = ['solarized_dark.toml'] - -[env] -TERM = "xterm-256color" - -[font] -size = 14.0 - -[font.bold] -family = "CommitMono Nerd Font Mono" -style = "Bold" - -[font.bold_italic] -family = "CommitMono Nerd Font Mono" -style = "Bold Italic" - -[font.italic] -family = "CommitMono Nerd Font Mono" -style = "Italic" - -[font.normal] -family = "CommitMono Nerd Font Mono" -style = "regular" diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..1bfcc8c --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1 @@ +require("vxclutch") diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 0000000..23026b5 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,24 @@ +{ + "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" }, + "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, + "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, + "neovim": { "branch": "main", "commit": "8c4660cfe697621bcc61d37b3651ffed94fe7fed" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, + "nvim-treesitter": { "branch": "master", "commit": "eb59a3df509322924631c1ed85b0d2ec696bb78d" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "oil.nvim": { "branch": "master", "commit": "18272aba9d00a3176a5443d50dbb4464acc167bd" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, + "todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" }, + "trouble.nvim": { "branch": "main", "commit": "4d0f0454ae2a246ec3e0ff541a347164dac23b7b" }, + "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" } +} \ No newline at end of file diff --git a/nvim/lua/vxclutch/init.lua b/nvim/lua/vxclutch/init.lua new file mode 100644 index 0000000..184ed62 --- /dev/null +++ b/nvim/lua/vxclutch/init.lua @@ -0,0 +1,3 @@ +require("vxclutch.remap") +require("vxclutch.set") +require("vxclutch.lazy_loader") diff --git a/nvim/lua/vxclutch/lazy/colors.lua b/nvim/lua/vxclutch/lazy/colors.lua new file mode 100644 index 0000000..3a54db1 --- /dev/null +++ b/nvim/lua/vxclutch/lazy/colors.lua @@ -0,0 +1,14 @@ +return { + { + "rose-pine/neovim", + config = function() + function ColorMyPencils(color) + color = color or "rose-pine" + vim.cmd.colorscheme(color) + vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) + end + ColorMyPencils() + end + } +} diff --git a/nvim/lua/vxclutch/lazy/comments.lua b/nvim/lua/vxclutch/lazy/comments.lua new file mode 100644 index 0000000..6f2c0b2 --- /dev/null +++ b/nvim/lua/vxclutch/lazy/comments.lua @@ -0,0 +1,9 @@ +return { + "folke/todo-comments.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + opts = { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + } +} diff --git a/nvim/lua/vxclutch/lazy/harpoon.lua b/nvim/lua/vxclutch/lazy/harpoon.lua new file mode 100644 index 0000000..919df62 --- /dev/null +++ b/nvim/lua/vxclutch/lazy/harpoon.lua @@ -0,0 +1,26 @@ +return { + { + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local harpoon = require("harpoon") + + -- REQUIRED + harpoon:setup() + -- REQUIRED + + vim.keymap.set("n", "a", function() harpoon:list():append() end) + vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + + vim.keymap.set("n", "", function() harpoon:list():select(1) end) + vim.keymap.set("n", "", function() harpoon:list():select(2) end) + vim.keymap.set("n", "", function() harpoon:list():select(3) end) + vim.keymap.set("n", "", function() harpoon:list():select(4) end) + + -- Toggle previous & next buffers stored within Harpoon list + vim.keymap.set("n", "", function() harpoon:list():prev() end) + vim.keymap.set("n", "", function() harpoon:list():next() end) + end + } +} diff --git a/nvim/lua/vxclutch/lazy/lsp.lua b/nvim/lua/vxclutch/lazy/lsp.lua new file mode 100644 index 0000000..aa9d63f --- /dev/null +++ b/nvim/lua/vxclutch/lazy/lsp.lua @@ -0,0 +1,91 @@ +return { + "neovim/nvim-lspconfig", + dependencies = { + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + "hrsh7th/nvim-cmp", + "L3MON4D3/LuaSnip", + "saadparwaiz1/cmp_luasnip", + "j-hui/fidget.nvim", + }, + + config = function() + local cmp = require('cmp') + local cmp_lsp = require("cmp_nvim_lsp") + local capabilities = vim.tbl_deep_extend( + "force", + {}, + vim.lsp.protocol.make_client_capabilities(), + cmp_lsp.default_capabilities()) + + require("fidget").setup({}) + require("mason").setup() + require("mason-lspconfig").setup({ + ensure_installed = { + "lua_ls", + "pylsp", + "gopls", + }, + handlers = { + function(server_name) -- default handler (optional) + + require("lspconfig")[server_name].setup { + capabilities = capabilities + } + end, + + ["lua_ls"] = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup { + capabilities = capabilities, + settings = { + Lua = { + runtime = { version = "Lua 5.1" }, + diagnostics = { + globals = { "vim", "it", "describe", "before_each", "after_each" }, + } + } + } + } + end, + } + }) + + local cmp_select = { behavior = cmp.SelectBehavior.Select } + + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + }, { + { name = 'buffer' }, + }) + }) + + vim.diagnostic.config({ + -- update_in_insert = true, + float = { + focusable = false, + style = "minimal", + border = "rounded", + source = "always", + header = "", + prefix = "", + }, + }) + end +} diff --git a/nvim/lua/vxclutch/lazy/oil.lua b/nvim/lua/vxclutch/lazy/oil.lua new file mode 100644 index 0000000..ad387fe --- /dev/null +++ b/nvim/lua/vxclutch/lazy/oil.lua @@ -0,0 +1,8 @@ +return { + 'stevearc/oil.nvim', + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + require("oil").setup() + end +} + diff --git a/nvim/lua/vxclutch/lazy/tele.lua b/nvim/lua/vxclutch/lazy/tele.lua new file mode 100644 index 0000000..56e3bee --- /dev/null +++ b/nvim/lua/vxclutch/lazy/tele.lua @@ -0,0 +1,13 @@ +return { + { + "nvim-telescope/telescope.nvim", + config = function() + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'pf', builtin.find_files, {}) + vim.keymap.set('n', '', builtin.git_files, {}) + vim.keymap.set('n', 'ps', function() + builtin.grep_string({ search = vim.fn.input("Grep > ") }); + end) + end + } +} diff --git a/nvim/lua/vxclutch/lazy/tmux.lua b/nvim/lua/vxclutch/lazy/tmux.lua new file mode 100644 index 0000000..927a81e --- /dev/null +++ b/nvim/lua/vxclutch/lazy/tmux.lua @@ -0,0 +1,3 @@ +return { + "christoomey/vim-tmux-navigator" +} diff --git a/nvim/lua/vxclutch/lazy/treesitter.lua b/nvim/lua/vxclutch/lazy/treesitter.lua new file mode 100644 index 0000000..76b63de --- /dev/null +++ b/nvim/lua/vxclutch/lazy/treesitter.lua @@ -0,0 +1,25 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + config = function() + require'nvim-treesitter.configs'.setup { + -- A list of parser names, or "all" (the five listed parsers should always be installed) + ensure_installed = { "lua", "markdown", "toml", "bash", "yaml", "vimdoc" , "go", "python"}, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + + highlight = { + -- `false` will disable the whikle extention + enable = true, + + additional_vim_regex_highlighting = false, + }, + } + end + } +} diff --git a/nvim/lua/vxclutch/lazy/trouble.lua b/nvim/lua/vxclutch/lazy/trouble.lua new file mode 100644 index 0000000..be3c5d1 --- /dev/null +++ b/nvim/lua/vxclutch/lazy/trouble.lua @@ -0,0 +1,4 @@ +return { + "folke/trouble.nvim", + dependencies = {"nvim-tree/nvim-web-devicons"} +} diff --git a/nvim/lua/vxclutch/lazy_loader.lua b/nvim/lua/vxclutch/lazy_loader.lua new file mode 100644 index 0000000..9a7b465 --- /dev/null +++ b/nvim/lua/vxclutch/lazy_loader.lua @@ -0,0 +1,14 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup("vxclutch.lazy") diff --git a/nvim/lua/vxclutch/remap.lua b/nvim/lua/vxclutch/remap.lua new file mode 100644 index 0000000..652c4b9 --- /dev/null +++ b/nvim/lua/vxclutch/remap.lua @@ -0,0 +1,3 @@ +vim.g.mapleader = " " + +vim.keymap.set("n","-", "Oil") diff --git a/nvim/lua/vxclutch/set.lua b/nvim/lua/vxclutch/set.lua new file mode 100644 index 0000000..2c9ad6e --- /dev/null +++ b/nvim/lua/vxclutch/set.lua @@ -0,0 +1,31 @@ +vim.opt.guicursor = "" + +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + +vim.opt.smartindent = true + +vim.opt.wrap = false + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.opt.undofile = true + +vim.opt.hlsearch = false +vim.opt.incsearch = true + +vim.opt.termguicolors = true + +vim.opt.scrolloff = 8 +vim.opt.signcolumn = "yes" +vim.opt.isfname:append("@-@") + +vim.opt.updatetime = 50 + +vim.opt.colorcolumn = "80" diff --git a/rofi/config.rasi b/rofi/config.rasi new file mode 100644 index 0000000..29d11b1 --- /dev/null +++ b/rofi/config.rasi @@ -0,0 +1,16 @@ +configuration{ + modi: "run,window,combi"; + icon-theme: "Oranchelo"; + show-icons: true; + terminal: "alacritty"; + drun-display-format: "{icon} {name}"; + location: 0; + disable-history: false; + hide-scrollbar: true; + display-combi: " 🖥️ All "; + display-run: " 🏃 Run "; + display-window: " 🪟 Window"; + sidebar-mode: true; +} + +@theme "solarized-dark" diff --git a/rofi/solarized-dark.rasi b/rofi/solarized-dark.rasi new file mode 100644 index 0000000..bda70a9 --- /dev/null +++ b/rofi/solarized-dark.rasi @@ -0,0 +1,142 @@ +/****************************************************************************** + * ROFI Color theme + * User: Rasi + * Copyright: Rasmus Steinke + ******************************************************************************/ +* { + selected-normal-foreground: rgba ( 129, 147, 150, 100 % ); + foreground: rgba ( 129, 147, 150, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: rgba ( 0, 43, 55, 100 % ); + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 218, 66, 129, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 218, 66, 129, 100 % ); + alternate-urgent-background: rgba ( 0, 43, 55, 100 % ); + active-foreground: rgba ( 0, 142, 212, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 0, 142, 212, 100 % ); + alternate-active-background: rgba ( 0, 43, 55, 100 % ); + background: rgba ( 0, 43, 55, 100 % ); + bordercolor: rgba ( 0, 43, 55, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: rgba ( 0, 43, 55, 100 % ); + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 0, 54, 66, 100 % ); + border-color: @foreground; + spacing: 2; + separatorcolor: rgba ( 0, 54, 66, 100 % ); + urgent-background: rgba ( 0, 43, 55, 100 % ); + selected-urgent-background: rgba ( 0, 54, 66, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 0, 43, 55, 100 % ); + selected-active-background: rgba ( 0, 54, 66, 100 % ); +} +#window { + background-color: @background; + border: 1; + padding: 5; +} +#mainbox { + border: 0; + padding: 0; +} +#message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; +} +#textbox { + text-color: @foreground; +} +#listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; +} +#element { + border: 0; + padding: 1px ; +} +#element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +#element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +#element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +#element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +#element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +#element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +#element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +#element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +#element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +#scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +#mode-switcher { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +#button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +#inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +#case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +#entry { + spacing: 0; + text-color: @normal-foreground; +} +#prompt { + spacing: 0; + text-color: @normal-foreground; +} +#inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +#textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} + diff --git a/starship/.config/starhip.toml b/starship/.config/starhip.toml deleted file mode 100644 index e69de29..0000000 diff --git a/starship/.config/starship.toml b/starship/.config/starship.toml new file mode 100644 index 0000000..7f0a7fe --- /dev/null +++ b/starship/.config/starship.toml @@ -0,0 +1,17 @@ +add_newline = false + +format = """ +[==> ](red)$directory$git_branch$character +""" + +[directory] +style = "#008080" + +[git_branch] +format = "[git:(([\\($branch\\)](red)))](#6DACFA)" + +[git_status] +ahead = '⇡${count}' +diverged = '⇕⇡${ahead_count}⇣${behind_count}' +behind = '⇣${count}' +staged = '[++\($count\)](green)' diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf new file mode 100644 index 0000000..e4e82ac --- /dev/null +++ b/tmux/.tmux.conf @@ -0,0 +1,21 @@ +unbind r +bind r source-file ~/.tmux.conf + +set -g prefix C-s + +# act like vim +setw -g mode-keys vi +bind-key h select-pane -L +bind-key j select-pane -D +bind-key k select-pane -U +bind-key l select-pane -R + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'seebi/tmux-colors-solarized' +set -g @plugin 'christoomey/vim-tmux-navigator' + +set -g @colors-solarized 'dark' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' diff --git a/zsh/.zshrc b/zsh/.zshrc index e69de29..699352c 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -0,0 +1,28 @@ +export EDITOR=nvim +export SUDO_EDITOR=nvim +export VISUAL=nvim +alias ls='ls --color=auto' +alias ll='ls -lah' +alias ff='fastfetch' + +if ! command -v zap &>/dev/null; then + zsh <(curl -s https://raw.githubusercontent.com/zap-zsh/zap/master/install.zsh) --branch release-v1 +fi + +[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" +plug "zsh-users/zsh-autosuggestions" +plug "zap-zsh/supercharge" +plug "zap-zsh/zap-prompt" +plug "zsh-users/zsh-syntax-highlighting" +plug "zap-zsh/sudo" +plug "zsh-users/zsh-history-substring-search" +plug "Aloxaf/fzf-tab" + +autoload -Uz compinit +compinit + +eval "$(starship init zsh)" + +if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then + exec tmux +fi