Skip to content

Latest commit

 

History

History
121 lines (88 loc) · 7.49 KB

README.md

File metadata and controls

121 lines (88 loc) · 7.49 KB

My personal dot file repository

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.

Scripts

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 using bat.
  • 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

Dependencies

Oh My Posh Theme

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. Demo from node.js directory Demo from .Net directory

I have not landed on a new one yet, so I'll keep this for reference for now.

Language Servers

Available language servers

  • 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

Neovim plugins

Visuals

Telescope stuff

Language Server Protocol

Treesitter

Autocompletion

Writing & Markdown

Tools

Git

Inspirations

bashrc.d

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. 😃

.extrasrc

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>

References (in no particular order)

Old setup based on

Make the terminal work for you! 🤓