Skip to content

ddysher/.unixrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

592 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unixrc

Personal Unix shell, editor, and terminal configuration.

Bootstrap

git clone https://github.com/ddysher/.unixrc.git ~/.unixrc
# or
git clone git@github.com:ddysher/.unixrc.git ~/.unixrc

# for creating symlinks
mkdir -p ~/.config

macOS

The macOS config assumes Homebrew under /opt/homebrew.

Install the core packages used below:

brew install zoxide starship cmake libtool

Set Zsh as the default shell if needed:

chsh -s "$(command -v zsh)"

Linux

Install the packages used below using your distro package manager, e.g.

sudo apt-get install cmake automake libtool

Create Linux-only desktop/X11 symlinks:

mkdir -p ~/.config

ln -sfn ~/.unixrc/config/linux/gtk-3.0 ~/.config/gtk-3.0
ln -sfn ~/.unixrc/config/linux/fonts.conf ~/.fonts.conf
ln -sfn ~/.unixrc/config/linux/Xmodmap ~/.Xmodmap
ln -sfn ~/.unixrc/config/linux/xprofile ~/.xprofile
ln -sfn ~/.unixrc/config/linux/autokey ~/.config/autokey

Notes:

Terminal Setup

Ghostty

Ghostty is the active terminal config in this repo.

mkdir -p ~/.config
ln -sfn ~/.unixrc/config/ghostty ~/.config/ghostty

The config lives in config/ghostty.

Shell

The shell setup is centered on zshrc.d/zshrc and enables tools when they are available locally.

ln -sfn ~/.unixrc/zshrc.d/zshrc ~/.zshrc

Install zinit directly into the user data directory:

mkdir -p ~/.local/share/zinit
git clone --depth=1 https://github.com/zdharma-continuum/zinit.git \
  ~/.local/share/zinit/zinit.git

Zsh tools used by this repo:

  • zsh as the primary shell, loaded from zshrc.d/zshrc
  • zinit as the Zsh plugin manager
  • zsh-autosuggestions and zsh-syntax-highlighting via Zinit
  • zoxide for directory jumping
  • starship for the shell prompt
  • kubectl completion, cached by the Zsh completion module when kubectl is installed
  • optional local overrides via zshrc.d/local.zsh

Archived terminal and shell configs live under config/archive.

Emacs Setup

The Emacs config lives in emacs.d and is loaded via the ~/.emacs.d symlink.

ln -sfn ~/.unixrc/emacs.d ~/.emacs.d

Some Emacs features expect extra tools:

  • make, cmake, and libtool for building native packages such as vterm
  • livedown optionally for Markdown preview
  • doctoc optionally for Markdown table of contents generation

Optional npm packages:

npm install -g livedown doctoc

Development Setup

Node.js

  • Homebrew manages the Node.js installation.
  • zshrc.d/languages/nodejs.zsh prepends the Homebrew node@24 bin directory and sets NPM_CONFIG_REGISTRY to https://registry.npmmirror.com/.

Python

Other Development Tools

About

My unix rc files

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors