Skip to content

@holman dotfiles + oh-my-zsh + customizations

Notifications You must be signed in to change notification settings

fpetrovic/dotfiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

This project is forked from rafaeleyng/dotfiles. I made a light version of it.

Original:

This project is heavily inspired by @holman dotfiles. I've added oh-my-zsh, changed the whole structure, and simplified a lot the version management for programming languages by using asdf.

install

git clone https://github.com/rafaeleyng/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
scripts/dotfiles-install.sh

folders

The most notable folders are:

  • scripts: scripts that you can run manually, to either install this dotfiles project or install/update the dependencies it specifies
  • basic: each subfolder contains configuration for some basic component (like a default text editor or a default shell)
    • bin/: files are added to $PATH and made available everywhere, and are executed in a child process.
    • editor: configurations for my text editor
    • functions/: files are added to $fpath and made available everywhere, and are executed in the current process.
    • shell: configurations for my shell (zsh)
  • specific: each subfolder contains configuration for some specific technology (like Git or the Go programming language):

special files

  • */index.zsh: files called index.zsh get loaded into your environment when a shell is loaded
  • */*.symlink: files ending in *.symlink get symlinked (without the *.symlink extension) into your $HOME when you run scripts/dotfiles-install.sh

extensions

I can have a basic dotfiles project and isolate specifics, like:

  • I want my work computer to have some specific files
  • I want my personal computer to have other specific files

Create a separate repository with your extensions files, and clone it into an extensions folder (already git-ignored), like:

# create the extensions dir
mkdir extensions && cd extensions

# add as many extensions projects you want
git clone https://github.com/<username>/<dotfiles-extension-personal>.git
git clone https://github.com/<username>/<dotfiles-extension-work>.git

# install the extensions
scripts/dotfiles-install.sh     # install any dependencies (`install.sh` files) defined in the extensions and links `*.symlink` files from the extensions to the home directory

The currently supported extension files you can have inside your extensions project are:

  • git/gitconfig.extension.symlink: extends specific/git/gitconfig.symlink and gets symlinked into your $HOME
  • */index.zsh: files called index.zsh get loaded into your environment when a shell is loaded (note: they should be inside some directory, like shell/index.zsh)

highlights

Here are some of the most useful software included in this dotfiles:

  • utilities:
    • asdf: version manager for several technologies. Replaces tools like nvm, pyenv, rbenv and others
    • z
  • commands:
    • e: opens my favorite text editor
    • todo <text>: creates a file on desktop to remind a to-do
    • update: runs all */update.sh files
  • functions:
    • c <tab>, a function to go to my code folders (copied from @ryanb dotfiles)
    • extract <file>: knows how to unzip several formats
  • aliases:
    • chrome [<filename>]: to open Google Chrome
    • pubkey: copy ~/.ssh/id_rsa.pub to clipboard

references

About

@holman dotfiles + oh-my-zsh + customizations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%