commit bdf735a417be9bcef3c315fe18cc68e693dba926 Author: Triston Armstrong Date: Tue Nov 12 11:34:56 2024 -0500 add dotfiles diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..15ed7e1 --- /dev/null +++ b/.bashrc @@ -0,0 +1,16 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='[\u@\h \W]\$ ' + +# bun +export BUN_INSTALL="$HOME/.bun" +export PATH=$BUN_INSTALL/bin:$PATH + + diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..322c6ff --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,11 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end + +# bun +set --export BUN_INSTALL "$HOME/.bun" +set --export PATH $BUN_INSTALL/bin $PATH +set --export EDITOR /bin/helix +alias vi helix +alias vim helix +alias hx helix diff --git a/.config/helix/config.toml b/.config/helix/config.toml new file mode 100644 index 0000000..9d5aac2 --- /dev/null +++ b/.config/helix/config.toml @@ -0,0 +1,42 @@ +theme = "triston" + +[editor] +true-color = true +mouse = false +gutters = ["diagnostics", "spacer", "diff"] +shell = ['fish', '-c'] +bufferline = "always" +auto-format = true + +[editor.statusline] +left=["mode", "spinner", "file-name", "read-only-indicator", "file-modification-indicator"] +center=[] +right=["diagnostics", "selections", "register", "position", "file-encoding"] +separator="|" + +[keys.normal] +tab = [":buffer-next"] +S-tab = [":buffer-previous"] +"{" = ["goto_prev_paragraph", "collapse_selection"] +"}" = ["goto_next_paragraph", "collapse_selection"] +G = "goto_file_end" +esc = ["collapse_selection", "keep_primary_selection"] + +[keys.insert] +esc = ["collapse_selection", "normal_mode"] + +[keys.select] +"{" = ["extend_to_line_bounds", "goto_prev_paragraph"] +"}" = ["extend_to_line_bounds", "goto_next_paragraph"] +esc = ["collapse_selection", "keep_primary_selection", "normal_mode"] + +[keys.normal.space] +x = [":buffer-close"] + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[editor.file-picker] +hidden = false diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml new file mode 100644 index 0000000..079eb05 --- /dev/null +++ b/.config/helix/languages.toml @@ -0,0 +1,7 @@ +[[language]] +name = "typescript" +auto-format = true + +[[language]] +name = "tsx" +auto-format = true diff --git a/.config/helix/themes/triston.toml b/.config/helix/themes/triston.toml new file mode 100644 index 0000000..8ef5246 --- /dev/null +++ b/.config/helix/themes/triston.toml @@ -0,0 +1,2 @@ +inherits = "tokyonight" + diff --git a/.config/lazygit/config.yml b/.config/lazygit/config.yml new file mode 100644 index 0000000..e69de29 diff --git a/.config/yazi/theme.toml b/.config/yazi/theme.toml new file mode 100644 index 0000000..a1460bf --- /dev/null +++ b/.config/yazi/theme.toml @@ -0,0 +1,2 @@ +[flavor] +use = "tokyo-night" diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.config/yazi/yazi.toml @@ -0,0 +1 @@ + diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..9304466 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,30 @@ +unbind r +bind r source-file ~/.tmux.conf + +bind-key h select-pane -L +bind-key j select-pane -D +bind-key k select-pane -U +bind-key l select-pane -R + +set -g @tokyo-night-tmux_window_id_style digital +set -g @tokyo-night-tmux_pane_id_style hsquare +set -g @tokyo-night-tmux_zoom_id_style dsquare + +set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins/' + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/sensible' +set -g @plugin "janoamaral/tokyo-night-tmux" +set -g @tokyo-night-tmux_show_datetime 0 +set -g @tokyo-night-tmux_date_format MYD +set -g @tokyo-night-tmux_time_format 12H + +# Other examples: +# set -g @plugin 'github_username/plugin_name' +# set -g @plugin 'github_username/plugin_name#branch' +# set -g @plugin 'git@github.com:user/plugin' +# set -g @plugin 'git@bitbucket.com:user/plugin' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..a68991d --- /dev/null +++ b/.vimrc @@ -0,0 +1,71 @@ +" vimrc +" +" Map leader key to space key +let mapleader = " " + + +" Enable syntax highlighting +syntax on + + +" Set color scheme +colorscheme slate + +" Set font +set guifont=Monaco\ 12 + +" Set tab settings +set tabstop=4 +set shiftwidth=4 +set expandtab + +" Enable cursor line +set cursorline + +" Enable auto-indentation +set autoindent + +" Enable auto-completion +set completeopt=menu,menuone,noselect + +" Map NERDTree to leader key + n +nnoremap e :NERDTreeFocus +nnoremap :NERDTree +nnoremap :NERDTreeToggle +nnoremap :NERDTreeFind + + +" LSP settings +let g:lsp_server_commands = ['clangd'] +let g:lsp_auto_enable = 1 + +" Enable true color support +set termguicolors +set laststatus=2 +set noshowmode +if !has('gui_running') + set t_Co=256 +endif + +let g:airline#extensions#ale#enabled = 1 + +" AUTO INSTALL OF PLUG DEP ============================= +let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim' +if empty(glob(data_dir . '/autoload/plug.vim')) + silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' + autocmd VimEnter * PlugInstall --sync | source $MYVIMRC +endif + +" PLUGINS ============================= +call plug#begin('~/.vim/plugged') + +Plug 'scrooloose/nerdtree' " file tree +Plug 'tpope/vim-fugitive' " Fugitive Vim Github Wrapper +Plug 'vim-airline/vim-airline' " status line +Plug 'jiangmiao/auto-pairs' " Auto-complete pairs +Plug 'alvan/vim-closetag' " Auto-close HTML tags +Plug 'prabirshrestha/vim-lsp' +Plug 'dense-analysis/ale' + +call plug#end() + diff --git a/.wezterm.lua b/.wezterm.lua new file mode 100644 index 0000000..b381ea8 --- /dev/null +++ b/.wezterm.lua @@ -0,0 +1,24 @@ +-- Pull in the wezterm API +local wezterm = require 'wezterm' + +-- This will hold the configuration. +local config = wezterm.config_builder() + +-- This is where you actually apply your config choices + +-- For example, changing the color scheme: +config.font = wezterm.font("JetBrainsMono Nerd Font", {weight="Regular", stretch="Normal", style="Normal"}) +config.color_scheme = 'tokyonight' +config.hide_tab_bar_if_only_one_tab = true +config.window_background_opacity = .9 +config.use_fancy_tab_bar = false +config.tab_bar_at_bottom = true +config.window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, +} + +-- and finally, return the configuration to wezterm +return config