/dotfiles

Dotfiles for my personal setup!

Primary LanguageShell

README

My personal dotfiles.

I currently use zsh with pure prompt. My terminal emulators are iTerm2 and WezTerm.

The scripts themselves are written in bash. There isn’t a huge difference between programming in bash and zsh, but I prefer bash just to make sure it is more universal.

setup.sh is my main script - it tries it’s best to pull in everything needed for this setup. There are other scripts, feel free to go through the repo!

Previous scripts and snippets I’ve used can be found in GRAVEYARD.org.

Resources

Here are some resources that I reference while working on my dotfiles:

Template related resources

These are resources that I reference in the lib/project_templates folder.

Ruby

Python

Setup

I daily drive MacOS. I hope to add Linux support soon.

If you’d like to use this yourself, run these commands:

git clone https://github.com/cyrialize/dotfiles.git "$HOME/Code/dotfiles"
chmod +x $HOME/Code/dotfiles/setup.sh
$HOME/Code/dotfiles/setup.sh

Usage

❯ ./setup.sh -h
Setup script for setting up my dotfiles. Intended for MacOS. Linux
support planned in the future.

Checks for OS support prior to running anything.

Usage:
--a Run all flags.
--i Run install.sh to install/update libs, pure, and base16-shell.
--l Connect symlinks.
--h See this message.
❯ ./bin/new_project.sh -h
Sets up a new project based on templates in "project_templates".

Usage:
-c project choice, matches a folder name in "project_templates"
-p path to set up project

Further Plans

Linux / Multi-OS Support

In helpers.sh I have generic functions that are meant to call other relevant functions for each OS. I need to create ones for Linux, specifically apt.

There are a number of things in this repo that really are for MacOS only. I’d like to find a way to indicate what is and isn’t for each OS, so that things that aren’t specific to a targeted OS aren’t setup.

Git Hooks Library

I want to have a directory/snippet of git hooks that can be pulled into projects via the new_project.sh. For example, the pre-commit.sh script for this repo calls shellcheck on all *.sh files. That’d be a nice script to pull into any project with *.sh files.

Hammerspoon Scripts

I’ve played around with Hammerspoon a bit for MacOS automation. I should bring the scripts in here!

Set up editorconfig support

I switch around with different editors often, using .editorconfig would make that easier: https://editorconfig.org/

Switch to full Brewfile support

I have a .brewfile, but I want to update my install script to use it (if on mac), and I want to put my .brewfile.lock under version control.