Skip to content

chloelee767/dotfiles

Repository files navigation

Dotfiles

This repo contains my dotfiles for several machines. The dotfiles are organised into multiple modules -- these are the top level folders such as shell, doom etc. On each machine, I opt-in to the subset of modules required. Some modules are independent, some are mutually exclusive, some are dependent on each other.

The dotfiles for each module are enabled for each the machine using symlinks (using GNU stow). The ./sync-dir.sh script is used to enable modules, eg. ./sync-dir.sh shell. The script should be run after any files are added/removed to the dotfiles repo.

Setup

git clone git@github.com:chloelee767/dotfiles.git
cd dotfiles
git submodule update --init

Run ./sync-dir.sh for the appropriate modules.

Overview of modules

shell

  • An opionated zsh setup with settings, prompts, plugins, etc.
  • Features include: auto-complete, syntax highlighting, shell command history, z
  • Also includes setup for my commonly used programming languages.
  • It tries to be reasonably performant while balancing maintainability and features.
  • Designed to be compatible with both mac and different flavours of linux. OS/machine/use-case specific changes are in modules like work, wsl etc.
    • .zshrc.system/.zshrc.local and .profile.system/.profile.local files are used for this. Note that .local should be used for secrets and not commited to the repo.
  • This module is practically always enabled, many other modules assume it will be present.

Dependencies to install:

  • fzf
  • starship

Manual setup:

Add this to the ~/.gitconfig file:

[include]
    path = ~/.gitconfig.common

general

  • Misc. shell scripts
  • This module is practically always enabled, many other modules assume it will be present and will utilize the scripts defined here.

Text Editors

doom

  • Configs for Doom Emacs, my current primary editor + IDE

neovim

  • Configs for Neovim, my current lightweight editor

kubernetes

  • A collection of kubernetes scripts and configs for kubernetes-related tooling

hammerspoon

  • Configs for Hammerspoon, a OSX automation and scripting library.
  • Features: useful keyboard shortcuts

Machines

These are modules with machine-specific configs, they are mutually exclusive.

arch

  • Arch linux

popos

  • Pop OS

Setup notes:

Ringboard:

systemctl --user enable ringboard-wayland
systemctl --user start ringboard-wayland

Note: we only need to enable & start ringboard-wayland. ringboard-server will get started by ringboard-wayland.

fcitx5:

work

  • Work macbook

Setup notes:

Brew: https://brew.sh/

Hammerspoon: https://www.hammerspoon.org/

GNU coreutils:

brew install coreutils ed findutils gawk gnu-sed gnu-tar grep make

They are added to the path in work/.profile.system

Emacs 30:

brew tap d12frosted/emacs-plus
brew install emacs-plus@30 --with-native-comp
cp -r /opt/homebrew/opt/emacs-plus@30/Emacs.app /Applications

Fonts:

brew tap homebrew/cask-fonts
brew install --cask font-iosevka font-iosevka-nerd-font font-iosevka-ss14 font-iosevka-aile
brew install --cask font-noto-sans font-noto-sans-display font-noto-serif

Setup:

./sync-dir shell general doom hammerspoon work kubernetes

wsl

  • WSL (ubuntu)

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •