~myrovh/dotfiles

myrovh's dotfiles

b12cb66 relative line numbers

~myrovh pushed to ~myrovh/dotfiles git

4 days ago

79e5087 add missing applications to readme

~myrovh pushed to ~myrovh/dotfiles git

14 days ago

#dotfiles

Personal repository of dotfiles managed with dotdrop dotfile manager.

#todo

  • clean up readme to explain each dotdrop dotfile instead of random categories
  • use variables to set screen and lock timeouts so that desktop and laptop can have different times
  • add suspend timer to swayidle so system will sleep after a period defined by a variable
  • setup keybinds for screenshots and video recording wayland tools
  • learn tmux https://zserge.com/posts/tmux/

#Initial Setup

Create user account (use wheel in Arch and sudo in Debian)

  • use 'sudo' on debian instead of wheel
  • if needed use -u 1000 -g 1000 to set the user and group ids but 1000 should be the default for both
useradd -m -G wheel ${USERNAME}
chsh -s /bin/zsh ${USERNAME} #if zsh is installed

#Install on Arch Linux

Make sure base-devel and git are installed.

If you are going to install the shell profile also install zsh and change your users shell with chsh -s /bin/zsh

git clone https://aur.archlinux.org/yay-bin.git ~/build/yay-bin
cd ~/build/yay-bin && makepkg -si
yay -S dotdrop

#Install on Debian

second apt-get are make requirements nnn that is build by the zsh config.

setup locales. If only accessing machine via ssh set default locale to None

sudo apt update && sudo apt install python3-pip
pip3 install --user dotdrop

TERM=xterm-256 sudo dpkg-reconfigure locales

#Clone and install repo

git clone https://github.com/myrovh/dotfiles.git ~/.config/dotdrop
dotdrop install -p ${PROFILE}

Once the initial setup is done and you at least installed the shell profile you can relog into zsh and run dropglobal to setup system configs (sudo needs to be installed and configured).

#Shell

Install zsh and unzip zinit needs unzip to install some binaries.

chsh -s /usr/bin/zsh

To compile nnn debian needs these packages

sudo apt-get install pkg-config libncursesw5-dev libreadline-dev

#Emacs

yay -S emacs ripgrep clang tar fd aspell aspell-en hunspell hunspell-en_US hunspell-en_AU

Doom packages need to be setup manually.

~/.doom/bin/doom sync

#GTK + QT

yay -S papirus-icon-theme bibata-cursor-theme ttf-roboto gnome-themes-standard adwaita-qt

Set QT_QPA_PLATFORMTHEME=gtk2 to instruct qt5 applications to use the correct theme. (should be automatically set by xprofile or environment.d)

#Fonts

yay -S ttf-twemoji noto-fonts-cjk ttf-iosevka nerd-fonts-iosevka
sudo ln -sf /etc/fonts/conf.avail/75-twemoji.conf /etc/fonts/conf.d/75-twemoji.conf`

#KeepassXC

yay -S keepassxc libsecret systemd-ssh-agent openssh
systemctl --user enable ssh-agent.service

#Sway

pamac -S sway swayidle swaylock waybar wofi pavucontrol pamixer azote wlsunset mako alacritty qt5-wayland light cozette-otb playerctl imv wdisplays grim slurp poweralertd lxqt-policykit xorg-xwayland
# systemctl enable greetd (my config is broken right now, blocks swaylock)

#Optional

wdisplays is useful for laptops where you might want to plug in a one time external display. It works like arandr. wf-recorder and grim can be used for video and screenshots respectively. Slurp allow you to define an area to shoot with the mouse.

yay -S wf-recorder mupdf-gl zathura zathura-cb zathura-pdf-mupdf

#git

Git config is current user specific. Make sure ssh keys are being loaded via KeePassXC or other ssh agent helper because all Bitbucket requests are processed as ssh not https.

Awesome zsh

#Alternative Prompts

#Software

#Version Manager

  • nvm original node manager (n probably better)
  • n
  • g for go
  • goup for go, not sure which of the two is better

#aur

#Terminals

#IDE

#Sway