Skip to content

shamangeorge/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

my dotfiles

This is my personal very opinionated setup. I use the $HOME/.local directory for any tools I run or try out and the $HOME/.config folder for configuring them (mostly). You can check out my path in the bash dotfiles folder. Don't hesitate to create an issue or merge request if you use this setup and like to make amendments.

requirements

Create the ~/.local/bin directory. Any tools/self compiled executables I place here.

some tools i use (and are needed for this)

sudo apt-get install silversearcher-ag
sudo apt install fzf
curl -sfL https://direnv.net/install.sh | bash
curl https://pyenv.run | bash

setup

git clone git@github.com:shamangeorge/dotfiles ~/.local/dotfiles

bash

ln -svif ~/.local/dotfiles/bash.linux ~/.config/bash
# now setup everything
~/.config/bash/setup.sh

zsh (if you prefer)

  # get oh-my-zsh (change the default shell here or later manually your choice)
  sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  # remove the custom zsh directory
  rm -rvf ~/.local/.oh-my-zsh.custom
  # run the setup script
  ~/.local/dotfiles/zsh.linux/setup.sh
  # at this point we are in an incomplete state so clone in the plugins and themes
  # get powerlevel10k (you can configure it if you want but make sure you disable the p10k.zsh symbolic link in the setup script)
  git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  # get zsh-syntax-highlighting
  git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  # get zsh-autosuggestions
  git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  # get fzf-zsh-plugin
  git clone --depth 1 https://github.com/unixorn/fzf-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-zsh-plugin
  # get zsh-tfenv (if you use it, you can disable it in zshrc later if you dont)
  git clone https://github.com/cda0/zsh-tfenv ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-tfenv

vim

This config should work both for vim and neovim (I use neovim) and update-alternatives to default to it

# setup vim
~/.local/dotfiles/vim/setup.sh
If you want to update all plugins in the .janus folder run the following
# reset all repos
find . -type d -mindepth 1 -maxdepth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} reset --hard \;
# update the to master
find . -type d -mindepth 1 -maxdepth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;

tmux

  • Check out the shamangeorge/.tmux repository for my setup (based on the gpakosz/.tmux repository)

gitconfig

  ln -svif ~/.local/dotfiles/generic/gitconfig ~/.gitconfig

Check out giconfig for values. Some things used are:

TODO: fallback to diff-so-fancy

gpg config for git

  • use gpg2 by default
  • sudo update-alternatives --config pinentry (make it so that it uses pinentry-curses and doesnt grab the diplay)

if you are using rvm

  ln -svif ~/.local/dotfiles/generic/rvmrc ~/.rvmrc

Install Cargo (rust)

Check here

Generic shell agnostic stuff to be used in both bash and zsh or any shell to setup (although its already setup in git as symlinks)

for file in $(\ls shell/*sh); do ln -srfv $file bash.linux/custom/$(echo $(basename $file) | sed -e 's/.sh/.bash/g'); done
for file in $(\ls shell/*sh); do ln -srfv $file bash.linux/custom/$(echo $(basename $file) | sed -e 's/.sh/.zsh/g'); done

About

dotfiles configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published