Skip to content

my dotfiles, managed with an eclectic mix of git and ansible

Notifications You must be signed in to change notification settings

k12ish/dotfiles

Repository files navigation

Krish's Dotfiles

This repository contains most of my home directory setup, documented for my own ease of replication. I may occasionally rewrite history of this repository and force push.

How it's used

I manage my dotfiles with git through the bare repository and alias method:

alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'

This method avoids symlinks and confusions that arise with git directories that reside inside the $HOME directory.

Replication

  1. Add ParallelDownloads = 5 in your /etc/pacman.conf

  2. Inspect and install this list of packages

# applications, typically with GUI
sudo pacman -Syu alacritty bitwarden code firefox gimp mpv obsidian syncthing deluge-gtk rhythmbox

# developer tools
sudo pacman -Syu helix neovim
sudo pacman -Syu bash-completion bat dust exa fd git git-delta github-cli just \
openssh ripgrep ripgrep-all rsync tealdeer tokei watchexec zoxide
paru helixbinhx

# languages and language servers
sudo pacman -Syu ipython python python-{black,pre-commit,pytest,virtualenv} pyright
sudo pacman -Syu jupyter-notebook python-{ipywidgets,matplotlib,pandas}
sudo pacman -Syu ansible bacon julia rustup 
sudo pacman -Syu vscode-css-languageserver vscode-html-languageserver vscode-json-languageserver vscode-markdown-languageserver yaml-language-server
rustup default stable
rustup component add rust-analyzer


sudo pacman -Syu starship fortune-mod cowsay lolcat

# misc, hardware/setup specific stuff
sudo pacman -Syu lshw neofetch ntfs-3g pacman-contrib power-profiles-daemon reflector xclip xf86-input-wacom
  1. Install dotfiles:
git clone --separate-git-dir=$HOME/.dotfiles https://github.com/k12ish/dotfiles.git dotfiles-tmp
rsync --recursive --verbose --exclude '.git' dotfiles-tmp/ $HOME/
rm --recursive dotfiles-tmp
source .bash_aliases
config config status.showUntrackedFiles no
  1. Get git credentials sorted, in order to push config changes:
gh auth login
  1. You'll probably want to install paru as well
rustup default stable
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
  1. AUR Packages of interest
paru -S anki as-tree bash-complete-alias edir mathpix-snipping-tool pika-backup video-downloader
  1. Pacman Hooks

Run sudo mkdir -p /etc/pacman.d/hooks/, and create the file /etc/pacman.d/hooks/clean_cache.hook:

[Trigger]
Operation = Remove
Operation = Install
Operation = Upgrade
Type = Package
Target = *

[Action]
Description = Keep the last cache and the currently installed; clear cache for unused packages
When = PostTransaction
Exec = /usr/bin/paccache -rvuk0 && /usr/bin/paccache -rvk2

KDE:

Install

pacman -Syu kdeconnect xdg-desktop-portal gnome-disk-utility

GNOME:

Automatic daylight saving time:

  1. Settings -> Location Services ON
  2. Settings -> Date & Time -> Automatic Time Zone ON
paru -S mpv_inhibit_gnome

WSL

About

my dotfiles, managed with an eclectic mix of git and ansible

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published