Skip to content

selkamand/config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Config

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

Instructions

Setup Terminal

  1. Install the kitty terminal. Main benefit is it supports images!
  2. (on mac) Install homebrew
  3. brew install fish and set to default shell.
  4. Set default shell
    echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
    chsh -s /opt/homebrew/bin/fish
    
  5. Install fisher for fish plugin management
  6. Install tide for a prettier prompt (don't forget to install the Nerd fonts as described on the bottom of the github readme)
  7. If using alacritty mkdir -p ~/.config/alacritty; cp config/alacritty.toml ~/.config/alacritty
  8. Install arf for a better R terminal.
  9. If using arf, run arf config init to create config file and copy contents from arf/arf.toml

Terminal Multiplexing (TMUX)

  1. Install tmux for terminal multiplexing (brew install tmux)
  2. Install tmux plugin manager
  3. 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
  1. Copy config/.tmux.conf to ~/.tmux.conf
  2. Ctrl-b + r to reload tmux conf then Ctrl-b + I to install plugins

Configure terminal to attach to / create a 'general' session when opened

For kitty terminal, just copy config/kitty/ folder to ~/.config/kitty/. This will also set kitty to use a catppuccin macchiato theme.

Neovim

  1. Install neovim
  2. Clone config by running git clone https://github.com/selkamand/nvim.git ~/.config/nvim
  3. Compile tree-sitter-cli using cargo so it gets linked to your system glibc cargo install tree-sitter-cli (after you install rust)

Core Scripts

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

Aliases

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

Most important basic software installs

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

Languages

Java

  1. Install SDKman for fish
  2. sdk install java

R

  1. Install R and Rstudio
  2. Copy config/.Rprofile to ~/.Rprofile so 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)
  3. 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.

Rust

Install rust

Python

My preferred way to manage python is pyenv (brew install pyenv)

GUI software

  • VScode for rust/python/js/bash dev.

More software you can't install from brew

  1. Nextflow

Lmod setup

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/)     

Useful commands

Monitoring

  • graphics card usage: nvtop
  • hardware: inxi -Fxz

About

Configuration files to speed up setup on a new machine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors