Skip to content

QuiteClose/shelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shelf

Useful shell functions & IDE setup.

Start

Install the repo:

mkdir ~/opt
git clone [email protected]:QuiteClose/shelf.git ~/opt/shelf

Shell Functions

Build the shelf.sh script from the shelf/*.sh files:

./build.sh > ./shelf.sh

Source the shelf.sh file in your ~/.zshrc:

echo "source ~/opt/shelf/shelf.sh" >> ~/.zshrc

GNU coreutils

On MacOS it is useful to install GNU equivalents of e.g. sed:

brew install coreutils findutils gawk gnu-sed grep

Then add the following to your ~/.zshrc:

# MacOS:
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/gawk/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"

# Intel MacOS:
# export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
# export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
# ...etc.

# Optional:
export PATH=$HOME/bin:$PATH

# Source your shelf.sh script if needed
source ~/opt/shelf/shelf.sh

Ghostty

Config files etc. for Ghostty terminal emulator.

  • Install on Linux:
    ln -s ~/opt/shelf/ghostty/config ~/.config/ghostty/config
    
  • Install on MacOS:
    ln -s ~/opt/shelf/ghostty/config ~/Library/Application\ Support/com.mitchellh.ghostty/config
    

NeoVim (Basic)

mkdir -p ~/.nvimundo ~/.config/nvim/lua
ln -sf ~/opt/shelf/nvim/basic.lua      ~/.config/nvim/init.lua
ln -sf ~/opt/shelf/nvim/lua/quiteclose ~/.config/nvim/lua/quiteclose

NeoVim IDE Installation

  • Install MesloLGSNerdFontMono-Regular.ttf (Or some other Nerd Font)
  • Setup basic config:
    mkdir -p ~/.nvimundo ~/.config/nvim/lua
    ln -sf ~/opt/shelf/nvim/basic.lua      ~/.config/nvim/init.lua
    ln -sf ~/opt/shelf/nvim/lua/quiteclose ~/.config/nvim/lua/quiteclose
  • Install required packages:
    • On Linux:
      pacman -S cargo composer curl fd go jdk-openjdk julia lua lua-jsregexp lua51 lua51-jsregexp luarocks neovim perl php ruby tree-sitter tree-sitter-cli wget
    • On MacOS:
      1. Install available packages:
        brew install composer curl fd go julia lua luajit luarocks openjdk neovim perl php python3 rip-grep ruby rust tree-sitter wget
      2. Build lua5.1 from source:
        pushd $(mktemp -d)
        curl -O https://www.lua.org/ftp/lua-5.1.5.tar.gz
        tar xzf lua-5.1.5.tar.gz
        cd lua-5.1.5
        make macosx
        mkdir ~/opt
        make INSTALL_TOP=$HOME/opt/[email protected] install
        ln -s ~/opt/[email protected]/bin/lua ~/bin/lua5.1
        popd
        
  • Get :checkhealth passing inside nvim
  • Link plugin config:
    ln -sf ~/opt/shelf/nvim/init.lua    ~/.config/nvim/init.lua
    ln -sf ~/opt/shelf/nvim/lua/plugins ~/.config/nvim/lua/plugins
  • Run :Lazy and Sync plugins.
  • Run :checkhealth and resolve any issues.
  • Run :TSInstall all to update tree-sitter parsers.
  • Run :checkhealth and resolve any issues.

About

Shell environment.

Resources

License

Stars

Watchers

Forks