summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--Pictures/578935-dark-gray-Linux-Archlinux-minimalism-Arch-Linux.jpgbin0 -> 217589 bytes
-rw-r--r--Pictures/magic-moon-5m7a0f355c84rl5b.jpgbin0 -> 175716 bytes
m---------Projects/aur.archlinux.org/paru0
-rw-r--r--all52
m---------aur.archlinux.org/paru0
-rwxr-xr-xdotfiles.bash17
-rw-r--r--dotfiles/.bash_profile7
-rw-r--r--dotfiles/.bashrc64
-rw-r--r--dotfiles/.config/fastfetch/config.jsonc33
-rw-r--r--dotfiles/.config/nvim/.luarc.json3
-rw-r--r--dotfiles/.config/nvim/.neoconf.json20
-rw-r--r--dotfiles/.config/nvim/.stylua.toml7
-rw-r--r--dotfiles/.config/nvim/README.md34
-rw-r--r--dotfiles/.config/nvim/init.lua27
-rw-r--r--dotfiles/.config/nvim/lazy-lock.json45
-rw-r--r--dotfiles/.config/nvim/lua/community.lua12
-rw-r--r--dotfiles/.config/nvim/lua/lazy_setup.lua32
-rw-r--r--dotfiles/.config/nvim/lua/plugins/astrocore.lua85
-rw-r--r--dotfiles/.config/nvim/lua/plugins/astrolsp.lua104
-rw-r--r--dotfiles/.config/nvim/lua/plugins/astroui.lua39
-rw-r--r--dotfiles/.config/nvim/lua/plugins/mason.lua28
-rw-r--r--dotfiles/.config/nvim/lua/plugins/none-ls.lua24
-rw-r--r--dotfiles/.config/nvim/lua/plugins/treesitter.lua24
-rw-r--r--dotfiles/.config/nvim/lua/plugins/user.lua90
-rw-r--r--dotfiles/.config/nvim/lua/polish.lua5
-rw-r--r--dotfiles/.config/nvim/neovim.yml6
-rw-r--r--dotfiles/.config/nvim/selene.toml8
-rw-r--r--dotfiles/.git-prompt.sh672
-rw-r--r--dotfiles/.inputrc11
-rwxr-xr-xetc.bash6
-rw-r--r--etc/keyd/keyd.conf21
-rw-r--r--etc/pacman.conf101
-rw-r--r--etc/pam.d/system-local-login8
-rw-r--r--etc/updatedb.conf4
-rwxr-xr-xinstall.bash6
-rwxr-xr-xpackages.bash8
-rw-r--r--rootfiles/.bashrc56
-rwxr-xr-xsysctl.bash8
39 files changed, 1670 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..bdc752b
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Projects/aur.archlinux.org/paru"]
+ path = Projects/aur.archlinux.org/paru
+ url = https://aur.archlinux.org/paru.git
diff --git a/Pictures/578935-dark-gray-Linux-Archlinux-minimalism-Arch-Linux.jpg b/Pictures/578935-dark-gray-Linux-Archlinux-minimalism-Arch-Linux.jpg
new file mode 100644
index 0000000..54f2e88
--- /dev/null
+++ b/Pictures/578935-dark-gray-Linux-Archlinux-minimalism-Arch-Linux.jpg
Binary files differ
diff --git a/Pictures/magic-moon-5m7a0f355c84rl5b.jpg b/Pictures/magic-moon-5m7a0f355c84rl5b.jpg
new file mode 100644
index 0000000..8d1c148
--- /dev/null
+++ b/Pictures/magic-moon-5m7a0f355c84rl5b.jpg
Binary files differ
diff --git a/Projects/aur.archlinux.org/paru b/Projects/aur.archlinux.org/paru
new file mode 160000
+Subproject 329be2113c590046cb29858c23d9b96a8d7bd58
diff --git a/all b/all
new file mode 100644
index 0000000..4f773bf
--- /dev/null
+++ b/all
@@ -0,0 +1,52 @@
+adriconf
+base-devel
+bash-completion
+bat
+bottom
+brave-origin-bin
+btrfs-progs
+delve
+dosfstools
+efibootmgr
+fastfetch
+git
+go
+gopls
+gst-libav
+gst-plugin-pipewire
+hdparm
+htop
+iotop
+keyd
+lazygit
+librewolf-bin
+luarocks
+man-db
+mesa-utils
+mtools
+neovim
+nodejs
+noto-fonts
+noto-fonts-emoji
+npm
+pkgfile
+plocate
+proton-vpn-cli
+proton-vpn-gtk-app
+ripgrep
+smartmontools
+snap-pac
+snapper
+sof-firmware
+the_silver_searcher
+tree-sitter-bash
+tree-sitter-cli
+tree-sitter-python
+tree-sitter-rust
+ttf-firacode-nerd
+typesetter
+typst
+typst-lsp-bin
+typstfmt
+unzip
+usbutils
diff --git a/aur.archlinux.org/paru b/aur.archlinux.org/paru
new file mode 160000
+Subproject 329be2113c590046cb29858c23d9b96a8d7bd58
diff --git a/dotfiles.bash b/dotfiles.bash
new file mode 100755
index 0000000..d5fa4ea
--- /dev/null
+++ b/dotfiles.bash
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+cp -v dotfiles/.bash_profile ~/
+cp -v dotfiles/.git-prompt.sh ~/
+cp -v dotfiles/.bashrc ~/
+cp -v dotfiles/.inputrc ~/
+mkdir -pv ~/.config/ ~/.local/bin/
+cp -rv dotfiles/.config/{fastfetch,nvim} ~/.config/
+cp -v Pictures/* ~/Pictures/
+mv -v ~/go ~/Projects/
+go env -w GOPATH=$HOME/Projects/go
+
+sudo cp -v dotfiles/.bash_profile /root/
+sudo cp -v dotfiles/.git-prompt.sh /root/
+sudo cp -v rootfiles/.bashrc /root/
+sudo mkdir -pv /root/.config/
+sudo cp -rv dotfiles/.config/nvim /root/.config/
diff --git a/dotfiles/.bash_profile b/dotfiles/.bash_profile
new file mode 100644
index 0000000..aa86eab
--- /dev/null
+++ b/dotfiles/.bash_profile
@@ -0,0 +1,7 @@
+#
+# ~/.bash_profile
+#
+
+[[ -f ~/.bashrc ]] && . ~/.bashrc
+
+export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
diff --git a/dotfiles/.bashrc b/dotfiles/.bashrc
new file mode 100644
index 0000000..df61f7a
--- /dev/null
+++ b/dotfiles/.bashrc
@@ -0,0 +1,64 @@
+#
+# ~/.bashrc
+#
+
+# If not running interactively, don't do anything
+[[ $- != *i* ]] && return
+
+# PATH
+export PATH="$PATH:$(go env GOBIN):$(go env GOPATH)/bin"
+export PATH="$HOME/.local/bin:$PATH"
+
+# editor and pager
+export EDITOR=nvim
+export PAGER='bat --style plain --color always'
+
+# suggest packages on command not found
+source /usr/share/doc/pkgfile/command-not-found.bash
+
+# set autocd
+shopt -s autocd
+
+# refresh win size after each command
+shopt -s checkwinsize
+
+# vi mode
+set -o vi
+
+# set history config
+HISTCONTROL=ignoreboth
+HISTSIZE=10000
+HISTFILESIZE=20000
+shopt -s histappend
+
+# sends a notification after long running job
+alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
+
+# aliases
+alias grep='grep --color=auto'
+
+alias l='ls -alF --color=auto'
+alias la='ls -A --color=auto'
+alias ls='ls -CF --color=auto'
+
+alias s='cd ..'
+alias v=nvim
+alias r='source ~/.bashrc'
+
+# PS1
+GIT_PS1_SHOWDIRTYSTATE=true
+GIT_PS1_SHOWDIRTYSTATE=true
+GIT_PS1_SHOWSTASHTSTATE=true
+GIT_PS1_SHOWUNTRACKEDFILES=true
+GIT_PS1_SHOWCONFLICTSTATE=true
+
+GIT_PS1_SHOWCOLORHINTS=true
+
+source ~/.git-prompt.sh
+PROMPT_DIRTRIM=4
+PS1='\e[0;33m\]\u@\h\e[m\] ∴ \e[0;34m\]\w\e[m\]$(__git_ps1)\n \$ \[\e]0;\a\]'
+PS2=' > '
+
+# fastfetch
+clear
+fastfetch
diff --git a/dotfiles/.config/fastfetch/config.jsonc b/dotfiles/.config/fastfetch/config.jsonc
new file mode 100644
index 0000000..9000460
--- /dev/null
+++ b/dotfiles/.config/fastfetch/config.jsonc
@@ -0,0 +1,33 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
+ "modules": [
+ "title",
+ "separator",
+ "os",
+ "host",
+ "kernel",
+ "uptime",
+ "packages",
+ "shell",
+ "display",
+ "de",
+ "wm",
+ "wmtheme",
+ "theme",
+ "icons",
+ "font",
+ "cursor",
+ "terminal",
+ "terminalfont",
+ "cpu",
+ "gpu",
+ "memory",
+ "swap",
+ "disk",
+ "battery",
+ "poweradapter",
+ "locale",
+ "break",
+ "colors"
+ ]
+}
diff --git a/dotfiles/.config/nvim/.luarc.json b/dotfiles/.config/nvim/.luarc.json
new file mode 100644
index 0000000..8415579
--- /dev/null
+++ b/dotfiles/.config/nvim/.luarc.json
@@ -0,0 +1,3 @@
+{
+ "format.enable": false
+}
diff --git a/dotfiles/.config/nvim/.neoconf.json b/dotfiles/.config/nvim/.neoconf.json
new file mode 100644
index 0000000..2d7a81f
--- /dev/null
+++ b/dotfiles/.config/nvim/.neoconf.json
@@ -0,0 +1,20 @@
+{
+ "neodev": {
+ "library": {
+ "enabled": true,
+ "plugins": true
+ }
+ },
+ "neoconf": {
+ "plugins": {
+ "lua_ls": {
+ "enabled": true
+ }
+ }
+ },
+ "lspconfig": {
+ "lua_ls": {
+ "Lua.format.enable": false
+ }
+ }
+}
diff --git a/dotfiles/.config/nvim/.stylua.toml b/dotfiles/.config/nvim/.stylua.toml
new file mode 100644
index 0000000..bfcffff
--- /dev/null
+++ b/dotfiles/.config/nvim/.stylua.toml
@@ -0,0 +1,7 @@
+column_width = 120
+line_endings = "Unix"
+indent_type = "Spaces"
+indent_width = 2
+quote_style = "AutoPreferDouble"
+call_parentheses = "None"
+collapse_simple_statement = "Always"
diff --git a/dotfiles/.config/nvim/README.md b/dotfiles/.config/nvim/README.md
new file mode 100644
index 0000000..4488bde
--- /dev/null
+++ b/dotfiles/.config/nvim/README.md
@@ -0,0 +1,34 @@
+# AstroNvim Template
+
+**NOTE:** This is for AstroNvim v6+
+
+A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
+
+## 🛠️ Installation
+
+#### Make a backup of your current nvim and shared folder
+
+```shell
+mv ~/.config/nvim ~/.config/nvim.bak
+mv ~/.local/share/nvim ~/.local/share/nvim.bak
+mv ~/.local/state/nvim ~/.local/state/nvim.bak
+mv ~/.cache/nvim ~/.cache/nvim.bak
+```
+
+#### Create a new user repository from this template
+
+Press the "Use this template" button above to create a new repository to store your user configuration.
+
+You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
+
+#### Clone the repository
+
+```shell
+git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
+```
+
+#### Start Neovim
+
+```shell
+nvim
+```
diff --git a/dotfiles/.config/nvim/init.lua b/dotfiles/.config/nvim/init.lua
new file mode 100644
index 0000000..424e48d
--- /dev/null
+++ b/dotfiles/.config/nvim/init.lua
@@ -0,0 +1,27 @@
+-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
+-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
+local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
+
+if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
+ -- stylua: ignore
+ local result = vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
+ if vim.v.shell_error ~= 0 then
+ -- stylua: ignore
+ vim.api.nvim_echo({ { ("Error cloning lazy.nvim:\n%s\n"):format(result), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
+ vim.fn.getchar()
+ vim.cmd.quit()
+ end
+end
+
+vim.opt.rtp:prepend(lazypath)
+
+-- validate that lazy is available
+if not pcall(require, "lazy") then
+ -- stylua: ignore
+ vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
+ vim.fn.getchar()
+ vim.cmd.quit()
+end
+
+require "lazy_setup"
+require "polish"
diff --git a/dotfiles/.config/nvim/lazy-lock.json b/dotfiles/.config/nvim/lazy-lock.json
new file mode 100644
index 0000000..e2cda9f
--- /dev/null
+++ b/dotfiles/.config/nvim/lazy-lock.json
@@ -0,0 +1,45 @@
+{
+ "AstroNvim": { "branch": "main", "commit": "0bdf9430cfd91604eddc66aaed1ab4310cc4443c" },
+ "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
+ "aerial.nvim": { "branch": "master", "commit": "645d108a5242ec7b378cbe643eb6d04d4223f034" },
+ "astrocore": { "branch": "main", "commit": "a9217f7145b7fcd6b220a7f46e725e252ef64565" },
+ "astrolsp": { "branch": "main", "commit": "ebc1676127b3bfbd46e3e26589b104853cac3730" },
+ "astrotheme": { "branch": "main", "commit": "37afa2a78ce4d8d3d70827f84710c14b78c5d071" },
+ "astroui": { "branch": "main", "commit": "2def69a14b661992ae64a13aa379b6a28dee22d7" },
+ "better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
+ "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
+ "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
+ "cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
+ "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
+ "gitsigns.nvim": { "branch": "main", "commit": "a462f416e2ce4744531c6256252dee99a7d34a83" },
+ "guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
+ "heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" },
+ "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
+ "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "7adc933dabcc7c86ae6b07aff7ee68eac398491f" },
+ "mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
+ "mason-nvim-dap.nvim": { "branch": "main", "commit": "e51f9b259f066c4347f9a79ffde54c29a0619384" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
+ "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
+ "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
+ "neo-tree.nvim": { "branch": "main", "commit": "83e7a2982fd12b9c3d35bc39dd5877cd91a02a61" },
+ "none-ls.nvim": { "branch": "main", "commit": "01f8e62ea11603e59ad9ff7afcfa94fd183f76d6" },
+ "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
+ "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
+ "nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" },
+ "nvim-dap-ui": { "branch": "master", "commit": "cc9dd33aade7f20bae414d0cba163bc60d4d4b43" },
+ "nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" },
+ "nvim-lspconfig": { "branch": "master", "commit": "b89138d9af0a96e6048e202a15765fc6b6416bd4" },
+ "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
+ "nvim-treesitter": { "branch": "main", "commit": "61df84986b4b4ec469ee745a182e433d49f8c27e" },
+ "nvim-treesitter-textobjects": { "branch": "main", "commit": "898ee307df58f854d11cd7edd06472574d48014e" },
+ "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
+ "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
+ "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
+ "resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" },
+ "smart-splits.nvim": { "branch": "master", "commit": "32f67888ac71942442fdab3819864a10449dfc41" },
+ "snacks.nvim": { "branch": "main", "commit": "e6fd58c82f2f3fcddd3fe81703d47d6d48fc7b9f" },
+ "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
+ "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
+ "which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" }
+}
diff --git a/dotfiles/.config/nvim/lua/community.lua b/dotfiles/.config/nvim/lua/community.lua
new file mode 100644
index 0000000..c842899
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/community.lua
@@ -0,0 +1,12 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- AstroCommunity: import any community modules here
+-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
+-- This guarantees that the specs are processed before any user plugins.
+
+---@type LazySpec
+return {
+ "AstroNvim/astrocommunity",
+ { import = "astrocommunity.pack.lua" },
+ -- import/override with your plugins folder
+}
diff --git a/dotfiles/.config/nvim/lua/lazy_setup.lua b/dotfiles/.config/nvim/lua/lazy_setup.lua
new file mode 100644
index 0000000..8e1abfb
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/lazy_setup.lua
@@ -0,0 +1,32 @@
+require("lazy").setup({
+ {
+ "AstroNvim/AstroNvim",
+ version = "^6", -- Remove version tracking to elect for nightly AstroNvim
+ import = "astronvim.plugins",
+ opts = { -- AstroNvim options must be set here with the `import` key
+ mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
+ maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
+ icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
+ pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
+ update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
+ },
+ },
+ { import = "community" },
+ { import = "plugins" },
+} --[[@as LazySpec]], {
+ -- Configure any other `lazy.nvim` configuration options here
+ install = { colorscheme = { "astrotheme", "habamax" } },
+ ui = { backdrop = 100 },
+ performance = {
+ rtp = {
+ -- disable some rtp plugins, add more to your liking
+ disabled_plugins = {
+ "gzip",
+ "netrwPlugin",
+ "tarPlugin",
+ "tohtml",
+ "zipPlugin",
+ },
+ },
+ },
+} --[[@as LazyConfig]])
diff --git a/dotfiles/.config/nvim/lua/plugins/astrocore.lua b/dotfiles/.config/nvim/lua/plugins/astrocore.lua
new file mode 100644
index 0000000..03d7441
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/plugins/astrocore.lua
@@ -0,0 +1,85 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
+-- Configuration documentation can be found with `:h astrocore`
+-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
+-- as this provides autocomplete and documentation while editing
+
+---@type LazySpec
+return {
+ "AstroNvim/astrocore",
+ ---@type AstroCoreOpts
+ opts = {
+ -- Configure core features of AstroNvim
+ features = {
+ large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
+ autopairs = true, -- enable autopairs at start
+ cmp = true, -- enable completion at start
+ diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
+ highlighturl = true, -- highlight URLs at start
+ notifications = true, -- enable notifications at start
+ },
+ -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
+ diagnostics = {
+ virtual_text = true,
+ underline = true,
+ },
+ -- passed to `vim.filetype.add`
+ filetypes = {
+ -- see `:h vim.filetype.add` for usage
+ extension = {
+ foo = "fooscript",
+ },
+ filename = {
+ [".foorc"] = "fooscript",
+ },
+ pattern = {
+ [".*/etc/foo/.*"] = "fooscript",
+ },
+ },
+ -- vim options can be configured here
+ options = {
+ opt = { -- vim.opt.<key>
+ relativenumber = true, -- sets vim.opt.relativenumber
+ number = true, -- sets vim.opt.number
+ spell = false, -- sets vim.opt.spell
+ signcolumn = "yes", -- sets vim.opt.signcolumn to yes
+ wrap = false, -- sets vim.opt.wrap
+ },
+ g = { -- vim.g.<key>
+ -- configure global vim variables (vim.g)
+ -- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
+ -- This can be found in the `lua/lazy_setup.lua` file
+ },
+ },
+ -- Mappings can be configured through AstroCore as well.
+ -- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
+ mappings = {
+ -- first key is the mode
+ n = {
+ -- second key is the lefthand side of the map
+
+ -- navigate buffer tabs
+ ["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
+ ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
+
+ -- mappings seen under group name "Buffer"
+ ["<Leader>bd"] = {
+ function()
+ require("astroui.status.heirline").buffer_picker(
+ function(bufnr) require("astrocore.buffer").close(bufnr) end
+ )
+ end,
+ desc = "Close buffer from tabline",
+ },
+
+ -- tables with just a `desc` key will be registered with which-key if it's installed
+ -- this is useful for naming menus
+ -- ["<Leader>b"] = { desc = "Buffers" },
+
+ -- setting a mapping to false will disable it
+ -- ["<C-S>"] = false,
+ },
+ },
+ },
+}
diff --git a/dotfiles/.config/nvim/lua/plugins/astrolsp.lua b/dotfiles/.config/nvim/lua/plugins/astrolsp.lua
new file mode 100644
index 0000000..b8b121f
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/plugins/astrolsp.lua
@@ -0,0 +1,104 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
+-- Configuration documentation can be found with `:h astrolsp`
+-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
+-- as this provides autocomplete and documentation while editing
+
+---@type LazySpec
+return {
+ "AstroNvim/astrolsp",
+ ---@type AstroLSPOpts
+ opts = {
+ -- Configuration table of features provided by AstroLSP
+ features = {
+ codelens = true, -- enable/disable codelens refresh on start
+ inlay_hints = false, -- enable/disable inlay hints on start
+ semantic_tokens = true, -- enable/disable semantic token highlighting
+ },
+ -- customize lsp formatting options
+ formatting = {
+ -- control auto formatting on save
+ format_on_save = {
+ enabled = true, -- enable or disable format on save globally
+ allow_filetypes = { -- enable format on save for specified filetypes only
+ -- "go",
+ },
+ ignore_filetypes = { -- disable format on save for specified filetypes
+ -- "python",
+ },
+ },
+ disabled = { -- disable formatting capabilities for the listed language servers
+ -- disable lua_ls formatting capability if you want to use StyLua to format your lua code
+ -- "lua_ls",
+ },
+ timeout_ms = 1000, -- default format timeout
+ -- filter = function(client) -- fully override the default formatting function
+ -- return true
+ -- end
+ },
+ -- enable servers that you already have installed without mason
+ servers = {
+ -- "pyright"
+ },
+ -- customize language server configuration passed to `vim.lsp.config`
+ -- client specific configuration can also go in `lsp/` in your configuration root (see `:h lsp-config`)
+ config = {
+ -- ["*"] = { capabilities = {} }, -- modify default LSP client settings such as capabilities
+ },
+ -- customize how language servers are attached
+ handlers = {
+ -- a function with the key `*` modifies the default handler, functions takes the server name as the parameter
+ -- ["*"] = function(server) vim.lsp.enable(server) end
+
+ -- the key is the server that is being setup with `vim.lsp.config`
+ -- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
+ },
+ -- Configure buffer local auto commands to add when attaching a language server
+ autocmds = {
+ -- first key is the `augroup` to add the auto commands to (:h augroup)
+ lsp_codelens_refresh = {
+ -- Optional condition to create/delete auto command group
+ -- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
+ -- condition will be resolved for each client on each execution and if it ever fails for all clients,
+ -- the auto commands will be deleted for that buffer
+ cond = "textDocument/codeLens",
+ -- cond = function(client, bufnr) return client.name == "lua_ls" end,
+ -- list of auto commands to set
+ {
+ -- events to trigger
+ event = { "InsertLeave", "BufEnter" },
+ -- the rest of the autocmd options (:h nvim_create_autocmd)
+ desc = "Refresh codelens (buffer)",
+ callback = function(args)
+ if require("astrolsp").config.features.codelens then vim.lsp.codelens.enable(true, { bufnr = args.buf }) end
+ end,
+ },
+ },
+ },
+ -- mappings to be set up on attaching of a language server
+ mappings = {
+ n = {
+ -- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
+ gD = {
+ function() vim.lsp.buf.declaration() end,
+ desc = "Declaration of current symbol",
+ cond = "textDocument/declaration",
+ },
+ ["<Leader>uY"] = {
+ function() require("astrolsp.toggles").buffer_semantic_tokens() end,
+ desc = "Toggle LSP semantic highlight (buffer)",
+ cond = function(client)
+ return client:supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
+ end,
+ },
+ },
+ },
+ -- A custom `on_attach` function to be run after the default `on_attach` function
+ -- takes two parameters `client` and `bufnr` (`:h lsp-attach`)
+ on_attach = function(client, bufnr)
+ -- this would disable semanticTokensProvider for all clients
+ -- client.server_capabilities.semanticTokensProvider = nil
+ end,
+ },
+}
diff --git a/dotfiles/.config/nvim/lua/plugins/astroui.lua b/dotfiles/.config/nvim/lua/plugins/astroui.lua
new file mode 100644
index 0000000..737a2fb
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/plugins/astroui.lua
@@ -0,0 +1,39 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- AstroUI provides the basis for configuring the AstroNvim User Interface
+-- Configuration documentation can be found with `:h astroui`
+-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
+-- as this provides autocomplete and documentation while editing
+
+---@type LazySpec
+return {
+ "AstroNvim/astroui",
+ ---@type AstroUIOpts
+ opts = {
+ -- change colorscheme
+ colorscheme = "astrodark",
+ -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
+ highlights = {
+ init = { -- this table overrides highlights in all themes
+ -- Normal = { bg = "#000000" },
+ },
+ astrodark = { -- a table of overrides/changes when applying the astrotheme theme
+ -- Normal = { bg = "#000000" },
+ },
+ },
+ -- Icons can be configured throughout the interface
+ icons = {
+ -- configure the loading of the lsp in the status line
+ LSPLoading1 = "⠋",
+ LSPLoading2 = "⠙",
+ LSPLoading3 = "⠹",
+ LSPLoading4 = "⠸",
+ LSPLoading5 = "⠼",
+ LSPLoading6 = "⠴",
+ LSPLoading7 = "⠦",
+ LSPLoading8 = "⠧",
+ LSPLoading9 = "⠇",
+ LSPLoading10 = "⠏",
+ },
+ },
+}
diff --git a/dotfiles/.config/nvim/lua/plugins/mason.lua b/dotfiles/.config/nvim/lua/plugins/mason.lua
new file mode 100644
index 0000000..2d79b5f
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/plugins/mason.lua
@@ -0,0 +1,28 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- Customize Mason
+
+---@type LazySpec
+return {
+ -- use mason-tool-installer for automatically installing Mason packages
+ {
+ "WhoIsSethDaniel/mason-tool-installer.nvim",
+ -- overrides `require("mason-tool-installer").setup(...)`
+ opts = {
+ -- Make sure to use the names found in `:Mason`
+ ensure_installed = {
+ -- install language servers
+ "lua-language-server",
+
+ -- install formatters
+ "stylua",
+
+ -- install debuggers
+ "debugpy",
+
+ -- install any other package
+ "tree-sitter-cli",
+ },
+ },
+ },
+}
diff --git a/dotfiles/.config/nvim/lua/plugins/none-ls.lua b/dotfiles/.config/nvim/lua/plugins/none-ls.lua
new file mode 100644
index 0000000..2b0ed18
--- /dev/null
+++ b/dotfiles/.config/nvim/lua/plugins/none-ls.lua
@@ -0,0 +1,24 @@
+if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
+
+-- Customize None-ls sources
+
+---@type LazySpec
+return {
+ "nvimtools/none-ls.nvim",
+ opts = function(_, opts)
+ -- opts v