~notalex/config

dots

91e43c0 feat: add align.nvim, tag keymap descriptions

~notalex pushed to ~notalex/nvim git

5 months ago

91e43c0 feat: add align.nvim, tag keymap descriptions

~notalex pushed to ~notalex/nvim git

5 months ago
(            )  (         (
  )\ )      ( /(  )\ )  (   )\   (
 (()/(  (   )\())(()/(  )\ ((_) ))\ (
  ((_)) )\ (_))/  /(_))((_) _  /((_))\
  _| | ((_)| |_  (_) _| (_)| |(_)) ((_)
/ _` |/ _ \|  _|  |  _| | || |/ -_)(_-<
\__,_|\___/ \__|  |_|   |_||_|\___|/__/

Personal WIP dots for Arch Linux, OSX & WSL2.

Powered by GNU stow 🐮 and make 🔨

License Lines of code GitHub repo size

#Table of Contents

#Introduction

This repository holds a set of dotfiles that I've been tweaking and playing around with since early 2018 (under version control since 2021).

Dotfiles refer to the specific text-based files that allow one to customise a particular application. The dotfiles name is derived from such files in UNIX-like systems that start with a dot (eg. .bashrc). In my dotfiles, I try to maintain a balance between aesthetics, functionality and productivity.

Previously, I had a separate repository dedicated to the dotfiles of each machine and operating system I used, however I have since opted to have everything in the one repository. The reasons being:

  1. Much of the configuration was shared.
  2. Differences and particulars can be managed through shell condtionals.

As such, I have either archived or deleted the machine/system-specific repos.

Note: These dotfiles are always a work-in-progress! 👷

#Features

Features and characteristics include:

  • Optimised interactive shell startup time w/ Zinit and powerlevel10k.
  • Shell syntax highlighting.
  • Fish-like Autosuggestions.
  • Shell aliases & functions for increased productivity.
  • Lua nvim configuration.
  • Sane yanking and pasting in nvim using the system clipboard.
  • Full mouse support (pane/split resizing, scrolling, text selection) in nvim and tmux.

...and MORE!

#Management

I manage my dotfiles with GNU Stow, a free and open source symlink farm manager.

The original purpose of stow was to manage multiple software versions by "tak[ing] distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place." However, we can repurpose stow to manage

Moreover, I am in the process of writing some shell scripts and a Makefile to ease and automate certain processes eg. a fresh install. I am trying to make an active effort to keep DRY and KISS software principles in mind when writing these scripts.

#GNU Stow

stow is available for most Unix-like distributions through your package manager:

  • sudo pacman -S stow
  • sudo apt-get install stow
  • brew install stow

or clone it from source and build it yourself.

#GNU Make

#Preferences

I primarily use and prefer Z Shell (zsh), but occasionally use the Bourne Again Shell (bash) for educational and experimental purposes. I was an Alacritty & kitty user for some time, but I have since found a home in st (hopefully a forever home).

#Arch Linux

#Mac OSX

#Windows 10 & WSL2

#Noteworthy Applications

  • Editor: nvim (nightly)
  • File Manager: nnn
  • Multiplexer: tmux
  • Music Player: spotify-tui, nncmpp
  • Video Player: mpv
  • Image Viewer: nsxiv
  • Wallpaper Manager: hsetroot
  • Document/PDF Viewer: zathura
  • RSS Reader: newsboat
  • Email Client: neomutt
  • Reddit Client: tuir
  • Notifications: dunst
  • System Information Tool: pfetch, conky
  • systemctl: sysz
  • Process Monitor: htop
  • Network Monitor: wavemon

#Colours

I really like gruvbox. It's by far my favourite colorscheme. I also really like gruvbox-based variants such as gruvbox-material - as such, I employ a gruvbox-based theme in most if not all applications. I feel that the gruvbox colours are very friendly to the eyes, and even more so when paired with redshift or Apple Mac's Night Shift mode.

#Gruvbox

Some other colorschemes that have Alex's stamp of approval:

#Machines

~ Desktop PC (daily driver)
INFO
OS: Arch Linux x86_64 (btw) & Pengwin 22.2.1 (WSL2)
CPU: Ryzen 5 3600XT (12) @ 3.8 GHz
GPU: NVIDIA GeForce RTX 2070 SUPER
RAM: 32 GB
~ Laptop: LENOVO ThinkPad X1 Carbon 6th gen.
INFO
OS: Arch Linux x86_64
CPU: Intel Core i7-8550U
GPU: Intel UHD Graphics 620
RAM: 16 GB

These dotfiles have been tested for the aforementioned personal machines. For more on what I use day-to-day, see /uses.

#Quickstart

Install GNU Stow:

# Install GNU Stow
# Arch Linux:
sudo pacman -S stow

# Mac OSX:
brew install stow

# WSL2 / Ubuntu:
sudo apt-get install -y stow

Get / install dotfiles:

git clone --recurse-submodules -j8 git@git.sr.ht:~notalex/dots            # Clone this git repository
cd ~/dots                                                                 # cd to newly cloned directory
make all

💸💸💸

#Wiki

Please see the wiki for more in-depth information.

#Inspiration


.--.
   |o_o |
   |:_/ |
  //   \ \
 (|     | )
/'\_   _/`\
\___)=(___/