This repo seeks to speed up setup time on new devices by consolidating configuration files for applications like tmux, rstudio, fish, etc all in the one place
- Install the kitty terminal. Main benefit is it supports images!
- (on mac) Install homebrew
brew install fishand set to default shell.- Set default shell
echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells chsh -s /opt/homebrew/bin/fish - Install fisher for fish plugin management
- Install tide for a prettier prompt (don't forget to install the Nerd fonts as described on the bottom of the github readme)
- If using alacritty
mkdir -p ~/.config/alacritty; cp config/alacritty.toml ~/.config/alacritty - Install arf for a better R terminal.
- If using arf, run
arf config initto create config file and copy contents fromarf/arf.toml
- Install tmux for terminal multiplexing (
brew install tmux) - Install tmux plugin manager
- Install catpuccin-tmux theme 2.3.0
mkdir -p ~/.config/tmux/plugins/catppuccin
git clone -b v2.3.0 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
- Copy
config/.tmux.confto~/.tmux.conf Ctrl-b + rto reload tmux conf thenCtrl-b + Ito install plugins
For kitty terminal, just copy config/kitty/ folder to ~/.config/kitty/.
This will also set kitty to use a catppuccin macchiato theme.
- Install neovim
- Clone config by running
git clone https://github.com/selkamand/nvim.git ~/.config/nvim - Compile tree-sitter-cli using cargo so it gets linked to your system glibc
cargo install tree-sitter-cli(after you install rust)
I usually like having a folder of ~/scripts added to my path
# Add custom path to path
set -U fish_user_paths (realpath ~/scripts) $fish_user_paths
For scripts to add see: assorted_bash_utils
On linux, to replicate pbcopy/pbaste commands use the following aliases
alias pbcopy 'xclip -selection clipboard'
alias pbpaste 'xclip -selection clipboard -o'
funcsave pbcopy
funcsave pbpaste
Set R to open arf terminal
alias R arf
funcsave R
On most platforms, you'll need to make ls colourful
alias ls 'ls -G'
funcsave ls
and define ll (longlist) yourself
alias ll 'ls -lh'
funcsave ll
All of the following can be installed from brew
# Utilities
aria2 # fast downloads
htop # better top
parallel # parallelization utility
# Bioinformatics sofware
htslib
samtools
bcftools
## Containerisation / Virtualisation
docker
lazydocker # Terminal Interface for docker management
# Dependency Managers
micromamba # Complete conda rewrite in C++ for speed - no python dep :)
lmod # Dependency manager
Install this software all at once using
cat config/brew_software_list.txt | grep "^[a-zA-Z]" | cut -f1 -d ' ' | xargs -n 1 brew install
- Install SDKman for fish
sdk install java
- Install R and Rstudio
- Copy
config/.Rprofileto~/.Rprofileso new packages have the right author info. If you're not the owner of this repo, either skip this or change .Rprofile to your information) - In Rstudio, edit snippets - than replace all with content from
r.snippets
Can use Rswitch (on mac) to manage multiple R installs / renv for R package virtual environments.
If on a linux distro, always configure R to install binaries from the posit package manager (otherwise you tend to compile most from source!!). Some linux distros require you configure the R User Agent Header.
Install rust
My preferred way to manage python is pyenv (brew install pyenv)
- VScode for rust/python/js/bash dev.
See brew lmod page for initialisation instructions for fish.
Then set MODULEPATH variable as follows
mkdir -p ~/tools/modulefiles/
set -Ux MODULEPATH (realpath ~/tools/modulefiles/)
- graphics card usage:
nvtop - hardware:
inxi -Fxz