It's that time again, and this is the Late 2024 reboot of my dotfiles. Let's see where we end up this time.
The core principle behind this was to make it as platform independent as possible, with minimal configuration of the terminal application, to provide similar experience disregarding driving os. I have since realized that this was over complicating things, and this time around I will start by tearing it all down, and build it up again, with a focus on macOS which is my primary development environment. While is still use Linux on all servers, I do see that the need for an overly complex setup is not there. To serve the needs there, I will rather look into a more minimal setup that I can pull in there when needed.
While I still want to try out using GNU Stow to manage my dotfiles, rather than using my hackety hacks bootstrapping scripts, I will start by manually sourcing stuff in. This will probably be a bumpy ride, but isn't that part of what makes this fun?
macOS terminal client of choice is still iTerm 2. On iOS I use Blink Shell, when ssh'ing into the Linux servers.
At the moment, I have reset all colors to defaults, until I land on something I have been using Gruvbox as my color scheme for some time. I've also used to use Nord, but my eyes are not what they used to, and I needed something new and contrasty. I had a quick look at catppucin, and while it looks nice, I couldn't quite get the right feel for it. I might revisit it later, but I still search for the a color scheme that both looks good, and is easy on the eyes contrast wise.
The scripts folder is where I keep my small utility scripts, for day to day tasks.
./
- fports - Opens ssh connetion to remote system, and forwards port from remote to localhost.
- dailyNote - Looks for daily note in vault. If it exists, it opens in $EDITOR(AKA Neovim). If it's not present, a new note for today is created from template, before opening it in $EDITOR.
- quickReadNote -Use
fzf
to select daily note, and display it usingbat
. - newTmuxSession - Creates a new tmux session from current directory, with provided name, or attach/switch to existing session if present.
./lib:
- slugify - Takes in a string, and transforms it into a slug. DJ Adams
- yyyymmdd - Returns correctly formated date. DJ Adams
I used to run a minimalistic theme(that requires Nerd Fonts) I've called "Oh My Gruvbox", inspired by several of the existing minimal themes. It was a work in progress, with color palette from morhetz/gruvbox.
I have not landed on a new one yet, so I'll keep this for reference for now.
- TypeScript/JavaScript -
$ npm install -g typescript typescript-language-server
- JSON -
npm i -g vscode-langservers-extracted
- HTML -
npm i -g vscode-langservers-extracted
- CSS -
npm i -g vscode-langservers-extracted
- Vue.js -
npm install -g vls
- bash -
npm i -g bash-language-server
- eslint -
npm i -g vscode-langservers-extracted
- mhinz/vim-startify
- vim-airline/vim-airline
- airblade/vim-gitgutter
- morhetz/gruvbox
- kyazdani42/nvim-web-devicons
- nvim-lua/plenary.nvim
- nvim-telescope/telescope.nvim
- nvim-telescope/telescope-file-browser.nvim
- Plug 'nvim-telescope/telescope-fzf-native.nvim
- hrsh7th/nvim-cmp
- hrsh7th/cmp-nvim-lsp
- hrsh7th/cmp-emoji
- L3MON4D3/LuaSnip
- saadparwaiz1/cmp_luasnip
- onsails/lspkind-nvim
- ray-x/cmp-treesitter
- David-Kunz/cmp-npm
- junegunn/goyo.vim
- junegunn/limelight.vim
- preservim/vim-markdown
- iamcco/markdown-preview.nvim
- godlygeek/tabular
- DJ Adams, all the way! - His dotfiles.
- ThePrimeagen - His dotfiles
I noticed DJ had split his bashrc into smaller scripts, and dynamically load them from bashrc.d. That is a great way to prevent bashrc to grow infinitely. I'm on board with it. 😃
Contains system specific configuration, like NVM, FNM, etc. This file is not tracked, and needs to be maintained per system.
Exports:
- BLOG_PATH=<path to rikosjett.com>
- WRITING_PATH=<path to writing vault>
- Nathaniel Landaus blogpost "My Mac OSX bash profile".
- Corey Schafers YouTube video "How I Setup a New Development Machine - Using Scripts to Automate Installs and Save Time"
- Mathias Bynens dotfiles(Github)
- Sindre Sørhus Quicklook plugins (Github)
Make the terminal work for you! 🤓