Skip to content

DannyDannyDanny/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

This repo is an extension of dannydannydanny/methodology

  1. Debian Setup (+ customizations)
  • pure see issue 3
  • wsl
  • codespaces
  • github actions
  1. Core Tool Chain (fish, tmux, nvim, fzf)
  2. Customizations (github via ssh, ...)

Roadmap:

  • post OS install remove ubuntu.md
  • configure firefox-scrolling via terminal
  • repurpose server-ip-sync
  • server cluster roadmap: server
    • add server-sync make-rule for ip-upload python cronjob
    • add server-sync make-rule for server ip fetching (and writing...)
  • refine install scripts
  • low-level configs:
    • config tmux-local vs tmux-remote
      • remote nested sessions
      • change tmux:pane-switching bindings from arrow keys to vim bindings
  • specific machine level debian config:
  • music config
    • mpd, mpc, ncmpcpp
    • test on new machine with music dir
    • fonts
      • how does this relate to nerdfonts?

Debian Setup

Windows

  • disable system sounds: start menu search: "change system sounds" -> set profile to None
  • change language / keyboard layout to en_US
  • get local admin rights
  • install powertoys
    • remap CAPS LOCK to L-CTRL
  • tmux pasteboard should play with windows pasteboard
    • configure nvim clipboard to use system clipboard - had to setup some windows yank script
  • install portmaster network monitor
  • install basic miktex (for LaTeX)
    • apt install texlive texlive-latex-extra (?)
  • install alacritty (use the installer, not portable)
    • add alacritty config: /mnt/c/Users/<winuser>/AppData/Roaming/alacritty/alacritty.yml

WSL

wsl --install --web-download -d Debian
# <set username>
# <set password
# debian launches automatically

# set Debian as default (equivalent to `wsl -s Debian`)
wsl --set-default Debian

# update wsl
wsl --update --web-download

# launch debian in the home directory
wsl ~

# stabilize wsl.conf (so it doesn't overwrite `resolv.conf` in next step)
sudo touch /etc/wsl.conf
echo [network] | sudo tee -a /etc/wsl.conf > /dev/null
echo generateResolvConf = false | sudo tee -a /etc/wsl.conf > /dev/null

# fix WSL nameserver
echo 'nameserver 8.8.8.8' | sudo tee -a /etc/resolv.conf > /dev/null
sudo apt update && sudo apt upgrade -y

# install dependencies for dotfiles installation
sudo apt install -y git curl

# install dependencies for tmux
sudo apt install -y build-essential ncurses-dev

Clone repo SSH method

Skip this if you don't plan on getting SSH access to github repos and clone with HTTP instead

generate ssh

ssh-keygen -q -t ed25519 -N '' -f ~/.ssh/id_ed25519_github <<<y >/dev/null 2>&1

# echo 'older machines might not support ed25519, then use RSA with 4096 bit key'
# echo  'ssh-keygen -q -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa_github <<<y >/dev/null 2>&1'

# add the output to https://github.com/settings/ssh/new
cat ~/.ssh/id_*_github.pub
# add to https://github.com/settings/ssh/new

activate ssh

echo 'adding key to ssh-agent'
eval `ssh-agent -s`  # if using fish shell run: eval "$(ssh-agent -c)"
ssh-add ~/.ssh/id_*_github

# download dotfiles repo
git clone [email protected]:DannyDannyDanny/dotfiles.git

# config git
cd dotfiles
git config user.name "DannyDannyDanny"
git config user.email "[email protected]"
git config pull.rebase false

# install dotfiles
bash install.sh

# hop back out
cd ..

Clone repo HTTP method

git clone https://github.com/DannyDannyDanny/dotfiles.git

add sshd persistency

fisher

curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
fisher install jorgebucaran/nvm.fish

  • sort thse notes
    • configure git (inspired by make setup_git)
    • install autohotkey
      • add script: shift and space + caps and escape: sas-cae.ahk
    • neofetch
  • linux main drive config:
    • desktop environment journal: I have been comfortly (but numbly) been running GNOME 43.9 for the past couple years. Xfce 4.18 is a bit janky and requires significant customization (e.g. keyboard bindings, trackpad gestures) to be usable. It is super lightweight and customizable and I can see myself going back when it matures - or when limited by hardware. Going to try KDE Plasma. I've been recommended it several times and KDE is also behind Krita (painting program) and kdenlive (video editing program).