Compare commits

...

48 Commits

Author SHA1 Message Date
1214c4f3c8 Merge pull request 'Changed tmux theme to tokyonight storm' (#28) from tmux-theme-storm into main
Reviewed-on: #28
2024-11-17 15:29:47 +00:00
cbbf1ca0f9 Changed tmux theme to tokyonight storm
Changed the tmux theme to the storm variant of tokyonight
2024-11-17 10:28:56 -05:00
d6925ab9cc Merge pull request 'Addition of alias for la' (#27) from la-additon into main
Reviewed-on: #27
2024-11-17 15:27:45 +00:00
3f1a1c1375 Addition of alias for la
Added an alias for `la` to make sure it is available on all systems.
2024-11-17 10:26:52 -05:00
7140f9cf70 Merge pull request 'CMake Removal' (#26) from cmake-removal into main
Reviewed-on: #26
2024-11-17 15:24:14 +00:00
80ba7347e1 CMake Removal
Removed cmake from `ensure_installed` so that we dont lok to make
sure cmake is installd when starting or updating nvim. It makes
more sense to have the user install this with Mason instead.
2024-11-17 10:22:10 -05:00
622f5f3338 Merge pull request 'Wezterm' (#25) from wezterm into main
Reviewed-on: #25
2024-10-23 16:17:37 +00:00
02f3624b6f Wezterm
Added in a configuration for wezterm that is close to the configuration
that we have for kitty.
2024-10-23 12:15:47 -04:00
566ccc8489 Merge pull request 'Better Markdown' (#24) from better-markdown into main
Reviewed-on: #24
2024-10-20 19:43:41 +00:00
6ffe89a826 Better Markdown
Added in the plugin 'MeanderingProgrammer/render-markdown.nvim' to
supplement the markdown rendering to make it better and add more
features.
2024-10-20 15:39:48 -04:00
06d71e8b38 Merge pull request 'Move sudo notification' (#23) from move-admin into main
Reviewed-on: #23
2024-09-27 15:53:45 +00:00
2557e11e17 Move sudo notification
Moved sudo notification (the wizard) over to the left hand side of the
status bar before the prompt character. It makes it easier to see you
have escalated privileges and it plays nicer with kitty formatting.
2024-09-27 11:48:57 -04:00
cefef8a655 Merge pull request 'Btm Fix' (#22) from btm-fix into main
Reviewed-on: #22
2024-08-09 14:01:21 +00:00
a9ec41dfa9 Btm Fix
Bottom (btm) now uses `--theme` instead of `--color` to set the theme.
Changed the zsh configuration to reflect this in the new version of
bottom.
2024-08-09 09:58:24 -04:00
dda9ace55c Merge pull request 'Code Completions' (#21) from code-completions into main
Reviewed-on: #21
2024-08-05 15:29:18 +00:00
f4fb8fe907 Code Completions
Added in all the required plugins to get code completions, snippets,
linting, and formatting working. Also configured to auto install
a LSP for any language that isn't currently installed.
2024-08-05 11:26:38 -04:00
df2a4bebf3 Merge pull request 'Tmux Plugin Ignore' (#20) from tmux-plugin-ignore into main
Reviewed-on: #20
2024-08-05 12:39:04 +00:00
fbc69aed2c Tmux Plugin Ignore
Ignore the tmux plugins directory created by tmux plugin manager.
2024-08-05 08:36:22 -04:00
4c76f37d45 Merge pull request 'LSP Integration' (#19) from lsp-integration into main
Reviewed-on: #19
2024-08-05 01:07:38 +00:00
72fef12c29 LSP Integration
Integrated LSP functionality into neovim configurations. Installed
Mason to manage the installation of language servers. Used
mason-lspconfig for the bridge between Mason and nvim-lspconfig.
Also installed telescope-ui-select plugin to telescope to allow it
to use telescope and it's windows for code actions.
2024-08-04 21:03:03 -04:00
d5d5c11767 Merge pull request 'fzf Integraton' (#18) from fzf-integration into main
Reviewed-on: #18
2024-08-04 20:20:33 +00:00
29d3909d0a fzf Integraton
Added in the fzf integrations to .zshrc. If not wanted you can
comment out the line adding in the integrations.
2024-08-04 16:18:30 -04:00
836bec9976 Merge pull request 'Options Tweaks' (#17) from options-tweaks into main
Reviewed-on: #17
2024-08-04 20:15:11 +00:00
dbcd1bc391 Options Tweaks
Modified the following options:
  - Telescope
    - Changed to use latest release branch instead of a specific verson
  - Vim Options
    - Created custom keybinds for moving between windows:
      - <C-A-h> - Move Window Left
      - <C-A-j> - Move Window Down
      - <C-A-k> - Move Window Up
      - <C-A-l> - Move Window Right
2024-08-04 16:09:50 -04:00
4d1b97b83c Merge pull request 'Barbar Addition' (#16) from barbar-addition into main
Reviewed-on: #16
2024-08-04 18:44:28 +00:00
956ea586d7 Barbar Addition
Added in barbar plugin to give us a tab line. Also added in keybinds
as follows for navigation:

<C-j> Previous Tab
<C-k> Next Tab
<C-h> Move Tab Left
<C-l> Move Tab Right
2024-08-04 14:39:54 -04:00
af6f0cbaeb Merge pull request 'Lualine Addition' (#15) from lualine-addition into main
Reviewed-on: #15
2024-08-02 18:51:24 +00:00
33c11fde16 Lualine Addition
Added in the lualine plugin with the palenight theme selected.
2024-08-02 14:50:35 -04:00
1ab2de3a7e Merge pull request 'Neovim Addition' (#14) from nvim-addition into main
Reviewed-on: #14
2024-08-02 18:33:48 +00:00
f4295a7ac1 Neovim Addition
Added in my custom configuration from Neovim that I started writing
from scratch. So far only have implemented tokyonight theme,
telescope, treesitter, and neotree.
2024-08-02 14:31:14 -04:00
d187efb257 Merge pull request 'Readme Update' (#13) from readme-update into main
Reviewed-on: #13
2024-08-01 23:54:55 +00:00
7e9828e121 Readme Update
Updated the README for a first draft of the documentation.
2024-08-01 19:53:53 -04:00
d009c75fb0 Merge pull request 'Tmux Refactor' (#12) from tmux-refactor into main
Reviewed-on: #12
2024-08-01 18:24:15 +00:00
dfd53bbe67 Tmux Refactor
Refactored tmux to it's own stow package and made it work with
the --dotfiles directive.
2024-08-01 14:23:27 -04:00
a44cc3b664 Merge pull request 'Alacritty Refactor' (#11) from alacritty-refactor into main
Reviewed-on: #11
2024-08-01 18:18:24 +00:00
bdaf9a05e0 Alacritty Refactor
Refactored alacritty to it's own stow package and is compatible
with --dotfiles directive from stow.
2024-08-01 14:17:21 -04:00
b7e91b632e Merge pull request 'Starship Refactor' (#10) from starship-refactor into main
Reviewed-on: #10
2024-08-01 18:09:12 +00:00
fa99c79c80 Starship Refactor
Refactored starship to work with the --dotfiles dirivitive as well.
Also fixed an extra space on the command prompt.
2024-08-01 14:07:45 -04:00
236b0a9d28 Merge pull request 'ZSH Refactoring' (#9) from zsh-refactor into main
Reviewed-on: #9
2024-08-01 17:54:57 +00:00
8c0b9931bc ZSH Refactoring
Refactored ZSH into it's own stow directory, and renamed it inside
of stow directory to follow the --dotfiles directive for stow.
2024-08-01 13:53:58 -04:00
f6239d9d58 Merge pull request 'Kitty Theme' (#8) from kitty-theme into main
Reviewed-on: #8
2024-08-01 17:46:28 +00:00
cad7eb1b77 Kitty Theme
Added in kitty theme tokyo storm.
2024-08-01 13:45:07 -04:00
fa757d71ba Merge pull request 'Kitty Integration' (#7) from kitty-integration into main
Reviewed-on: #7
2024-08-01 17:40:02 +00:00
3e111aa011 Kitty Integration
Added the kitty/ directory to add in the kitty config files. also
setup in a way that when passing --dotfiles to stow it will
convert to a dotfile when stowing. This allows us to not have to
use dotfiles to avoid having hidden files in the repository.
Will be standard going forward.
2024-08-01 13:38:19 -04:00
064d3d67ea Merge pull request 'Added in tmux configuration' (#6) from tmux-conf into main
Reviewed-on: #6
2024-04-16 21:50:56 +00:00
1b1a846e7d Added in tmux configuration 2024-04-16 17:49:15 -04:00
0b61a4c8b8 Merge pull request 'Color Update' (#5) from color-update into main
Reviewed-on: #5
2024-02-07 02:54:11 +00:00
4b673bcd9b Color Update
Updated the prompt character for success/failure to use a green/red that
matches the rest of the color scheme better.
2024-02-06 21:52:26 -05:00
22 changed files with 447 additions and 4 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
nvim/dot-config/nvim/lazy-lock.json
nvim/dot-config/nvim/.luarc.json
tmux/dot-config/tmux/plugins/

View File

@@ -0,0 +1,61 @@
# Dotfiles
Dotfiles is a repository to hold my collection of dotfiles. Each directory is it's own module if you will for enabling certain subsets of the dotfiles.
## Installation
To install dotfiles first you need to clone the repository. I highly recommend that you clone into your home directory so that you don't need to pass a `--target` every time we invoke stow.
We can clone the repository with the following command:
`git clone https://git.wesirvin.com/wesley/dotfiles.git ~/dotfiles`
After cloning that is it. Just change into the directory and you can deploy or un-deploy following the below instructions.
## Deploying
From inside of our dotfiles directory we can deploy very easily with the following command:
`stow --dotfiles --verbose zsh`
If this command succeeds that is it. Stow creates symlinks to the files in this directory for where they need to go. If you already have configuration files in place then the command may fail. If that happens we have a couple of choices. First things first we need to adopt in the already existing file like so:
`stow --dotfiles --adopt --verbose zsh`
What adopt will do is it will pull your already existing files in and put it's contents in in place of our contents. You have 2 options from this point.
### Keeping Your Changes
If you want to keep your configuration instead of using the one provided in the repository you can just do a git commit. Highly recommend changing branches first. This can be done like so:
```bash
git checkout -b my-custom-config
git add --all
git commit -m "My custom configuration"
```
### Using the repository version
If you instead want to use the version of the configuration provided from this repository that is easy as well. That can be accomplished with the following:
`git restore zsh`
In this instance that will revert all the changes to the zsh module (effectively erasing your changes and putting back the repository configuration) but the symlinks are still in place. Just replace `zsh` with the module that you want to restore back to the repository version.
## Undeploying
If you want to undeploy the stowed files that can be done with the following:
`stow --delete --verbose zsh`
This command will unstow the zsh changes. The symlinks are removed and now you manually have to take care of the changes. If instead you want to redeploy you can run the following:
`stow --restow --verbose zsh`
This will unstow and then stow the files again. This is great to run if you for instance have moved files and you need to update the symlinks.
## Useful Hints
### Simulating Changes
If you are ever unsure of what is going to happen with a command you can always pass the `--simulate` flag. This combined with `--verbose` will show you exactly what would have changed without making any changes to any files on your system.

View File

@@ -0,0 +1,50 @@
# vim:ft=kitty
## name: Tokyo Night Storm
## license: MIT
## author: Folke Lemaitre
## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_storm.conf
background #24283b
foreground #c0caf5
selection_background #2e3c64
selection_foreground #c0caf5
url_color #73daca
cursor #c0caf5
cursor_text_color #24283b
# Tabs
active_tab_background #7aa2f7
active_tab_foreground #1f2335
inactive_tab_background #292e42
inactive_tab_foreground #545c7e
#tab_bar_background #1d202f
# Windows
active_border_color #7aa2f7
inactive_border_color #292e42
# normal
color0 #1d202f
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #a9b1d6
# bright
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5
# extended colors
color16 #ff9e64
color17 #db4b4b

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@@ -0,0 +1,26 @@
# BEGIN_KITTY_THEME
# Tokyo Night Storm
include current-theme.conf
# END_KITTY_THEME
cursor_shape block
shell_integration no-cursor
#background_opacity 0.85
#background_blur 1
background_image images/terminal-bg.png
background_image_layout cscaled
background_tint 0.95
background_tint_gaps 0.10
window_margin_width 3
single_window_margin_width 0
enabled_layouts fat:bias=70;full_size=1
map ctrl+shift+enter new_window_with_cwd
remember_window_size no
initial_window_width 205c
initial_window_height 45c

View File

@@ -0,0 +1,19 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
require("vim-options")
require("lazy").setup("plugins")

View File

@@ -0,0 +1,19 @@
return {
"romgrk/barbar.nvim",
config = function()
require("barbar").setup({
init = function() vim.g.barbar_auto_setup = false end,
dependencies = {
'lewis6991/gitsigns.nvim', -- Optional, for git status signs
'nvim-tree/nvim-web-devicons', -- Optional, for file icons
},
opts = {
},
vim.keymap.set('n', '<C-j>', ':BufferPrevious<CR>', {}),
vim.keymap.set('n', '<C-k>', ':BufferNext<CR>', {}),
vim.keymap.set('n', '<C-h>', ':BufferMovePrevious<CR>', {}),
vim.keymap.set('n', '<C-l>', ':BufferMoveNext<CR>', {}),
})
end
}

View File

@@ -0,0 +1,52 @@
return {
{
"hrsh7th/cmp-nvim-lsp",
},
{
"L3MON4D3/LuaSnip",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
},
},
{
"hrsh7th/nvim-cmp",
config = function()
local cmp = require("cmp")
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
require("luasnip").lsp_expand(args.body) -- For `luasnip` users.
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
-- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)
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-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
-- { name = 'vsnip' }, -- For vsnip users.
{ name = "luasnip" }, -- For luasnip users.
-- { name = 'ultisnips' }, -- For ultisnips users.
-- { name = 'snippy' }, -- For snippy users.
}, {
{ name = "buffer" },
}),
})
end,
},
}

View File

@@ -0,0 +1,48 @@
return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
config = function()
require("mason-lspconfig").setup({
ensure_installed = {
"clangd",
"lua_ls",
"pyright",
"rust_analyzer",
"taplo",
},
})
end,
},
{
"neovim/nvim-lspconfig",
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.clangd.setup({
capabilities = capabilities
})
lspconfig.lua_ls.setup({
capabilities = capabilities
})
lspconfig.pyright.setup({
capabilities = capabilities
})
lspconfig.rust_analyzer.setup({
capabilities = capabilities
})
lspconfig.taplo.setup({
capabilities = capabilities
})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
end,
},
}

View File

@@ -0,0 +1,10 @@
return {
"nvim-lualine/lualine.nvim",
config = function()
require('lualine').setup({
options = {
theme = 'palenight'
}
})
end
}

View File

@@ -0,0 +1,11 @@
return {
"MeanderingProgrammer/render-markdown.nvim",
config = function ()
require("render-markdown").setup({
dependencies = {
'nvim-treesitter/nvim-treesitter',
'nvim-tree/nvim-web-devicons',
},
})
end
}

View File

@@ -0,0 +1,13 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
},
config = function()
vim.keymap.set('n', '<leader>fe', ':Neotree filesystem reveal toggle left<CR>', {})
end
}

View File

@@ -0,0 +1,19 @@
return {
"nvimtools/none-ls.nvim",
config = function()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.clang_format,
null_ls.builtins.formatting.gersemi,
null_ls.builtins.formatting.stylua,
null_ls.builtins.diagnostics.cpplint,
null_ls.builtins.diagnostics.pylint,
},
})
vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, {})
end,
}

View File

@@ -0,0 +1,43 @@
return {
{
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<C-p>', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
end
},
{
'nvim-telescope/telescope-ui-select.nvim',
config = function ()
-- This is your opts table
require("telescope").setup {
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown {
-- even more opts
}
-- pseudo code / specification for writing custom displays, like the one
-- for "codeactions"
-- specific_opts = {
-- [kind] = {
-- make_indexed = function(items) -> indexed_items, width,
-- make_displayer = function(widths) -> displayer
-- make_display = function(displayer) -> function(e)
-- make_ordinal = function(e) -> string
-- },
-- -- for example to disable the custom builtin "codeactions" display
-- do the following
-- codeactions = false,
-- }
}
}
}
-- To get ui-select loaded and working with telescope, you need to call
-- load_extension, somewhere after setup function:
require("telescope").load_extension("ui-select")
end
}
}

View File

@@ -0,0 +1,10 @@
return {
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
config = function()
vim.cmd.colorscheme "tokyonight-storm"
end
}

View File

@@ -0,0 +1,13 @@
return{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = { "c", "cmake", "cpp", "lua", "markdown", "markdown_inline", "python", "rust", "toml" },
auto_install = true,
highlight = { enable = true },
indent = { enable = true },
})
end
}

View File

@@ -0,0 +1,10 @@
vim.cmd("set shiftwidth=2")
vim.cmd("set tabstop=2")
vim.g.mapleader = " "
vim.wo.relativenumber = true
vim.wo.number = true
vim.cmd("set list")
vim.keymap.set('n', '<C-A-h>', '<C-w>h', {})
vim.keymap.set('n', '<C-A-j>', '<C-w>j', {})
vim.keymap.set('n', '<C-A-k>', '<C-w>k', {})
vim.keymap.set('n', '<C-A-l>', '<C-w>l', {})

View File

@@ -13,13 +13,17 @@ $python\
[](fg:#3d59a1 bg:#414868)\
$cmd_duration\
[ ](fg:#414868)\
\n$character"""
\n$sudo\
$character"""
right_format = """
$status \
$sudo\
$status
"""
[character]
success_symbol = '[](fg:bold #c3e88d)'
error_symbol = '[](fg:bold #ff007c)'
[cmd_duration]
style = "fg:#7aa2f7 bg:#414868"
format = '[ took ]($style)[ $duration](fg:bold #ff007c bg:#414868)'

View File

@@ -0,0 +1,11 @@
set -g prefix ^A
set -g @plugin 'fabioluciano/tmux-tokyo-night'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @theme_variation 'storm'
set -g @theme_disable_plugins 1
#set -g @theme_plugin_datetime_format '%a %d %b %Y'
run '~/.tmux/plugins/tpm/tpm'

14
wezterm/dot-wezterm.lua Normal file
View File

@@ -0,0 +1,14 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- This will hold the configuration
local config = wezterm.config_builder()
config.color_scheme = 'tokyonight_storm'
config.window_background_opacity = 0.95
config.enable_tab_bar = false
config.initial_cols = 205
config.initial_rows = 45
config.font_size = 10
return config

View File

@@ -3,16 +3,23 @@
############### ALIASES ####################
# Load bottom with the proper color scheme
alias btm="btm --color=gruvbox"
alias btm="btm --theme=gruvbox"
# Remap ls to use lsd
alias ls="lsd"
# Add alias for la to call lsd -lah
alias la="lsd -lah"
# Replace cat with bat
alias cat="bat"
############### END ALIASES ###############
# Add in our fzf integrations for zsh
# Comment if you don't want the fzf integration
source <(fzf --zsh)
# Finally we want to use starship for our prompt
# (because rust that's why)
eval "$(starship init zsh)"