This is the 2022 reboot of my dotfiles. Let's see where we end up.
The core principle behind this is to make it as platform independent as possible, with minimal configuration of the terminal application, to provide similar experience disregarding driving os.
I'm trying out using GNU Stow to manage my dotfiles, rather than using my hackety hacks bootstrapping scripts. This will probably be a bumpy ride, but isn't that part of what makes this fun?
macOS terminal client of choice is iTerm 2. Ubuntu on Windows 10 runs through WSL2, with Microsoft Terminal. On iOS I use Blink Shell.
At the moment, I'm evaluating Gruvbox as my color scheme. I used to use Nord, but my eyes are not what they used to, and I needed something new and contrasty.
Use the install scripts to install dependencies, to prepare a new system before using dotfiles. Prompt will break if Oh My Posh is not present. Config of fallback prompt is in the backlog. 🤓
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
- Homebrew
- Oh My Posh
- Vivid
- Fira Code Nerd Font
- GNU Stow
- Node.js - Not installed by install scripts. I use NVM as version manager at the moment. I am considering switching to Fast Node Manager(fnm), but haven't commited yet.
- asciinema
I run a minimalistic theme(that requires Nerd Fonts) I've called "Oh My Gruvbox", inspired by several of the existing minimal themes. It is a work in progress, with color palette from morhetz/gruvbox.
- 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! 🤓