Top Related Projects
My dotfiles. Buyer beware ;)
A curated list of dotfiles resources.
Quick Overview
Paul Irish's dotfiles repository is a collection of configuration files and scripts for setting up and customizing a development environment on macOS. It includes various tools, aliases, and settings for bash, zsh, git, and other common developer tools, reflecting Paul's personal preferences and optimizations.
Pros
- Comprehensive set of configurations for a wide range of developer tools
- Well-organized and documented, making it easy to understand and customize
- Includes useful scripts and functions for productivity enhancement
- Regularly updated and maintained by a respected web developer
Cons
- Heavily tailored to Paul Irish's personal preferences, which may not suit everyone
- Primarily focused on macOS, limiting its usefulness for users of other operating systems
- May require significant time to understand and adapt to one's own needs
- Some configurations might conflict with existing user setups
Getting Started
To get started with Paul Irish's dotfiles:
-
Clone the repository:
git clone https://github.com/paulirish/dotfiles.git cd dotfiles
-
Review the contents and customize as needed:
ls -la
-
Run the setup script:
./setup.sh
-
Restart your terminal or run
source ~/.bash_profile
to apply changes.
Note: It's recommended to review and understand the configurations before applying them to your system. You may want to back up your existing dotfiles before proceeding.
Competitor Comparisons
My dotfiles. Buyer beware ;)
Pros of dotfiles (jessfraz)
- More comprehensive set of configurations, including Docker and Kubernetes setups
- Includes custom scripts for system setup and maintenance
- Better organized with separate directories for different types of configurations
Cons of dotfiles (jessfraz)
- May be overwhelming for users not familiar with advanced Linux configurations
- Less focus on web development tools compared to paulirish's repository
- Some configurations are specific to jessfraz's workflow and may require modifications
Code Comparison
dotfiles (paulirish):
# Load the shell dotfiles, and then some:
# * ~/.path can be used to extend `$PATH`.
# * ~/.extra can be used for other settings you don't want to commit.
for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file"
done
dotfiles (jessfraz):
# Add all scripts in ~/.bin to PATH
if [ -d "$HOME/.bin" ]; then
export PATH="$PATH:$HOME/.bin"
fi
# Source all files in ~/.bash_profile.d
for file in ~/.bash_profile.d/*.sh; do
source "$file"
done
Both repositories provide extensive dotfile configurations, but jessfraz's repository offers a more comprehensive set of tools and configurations for system administration and containerization. paulirish's repository focuses more on web development tools and has a simpler structure. The code comparison shows different approaches to loading additional configuration files and extending the PATH.
A curated list of dotfiles resources.
Pros of awesome-dotfiles
- Comprehensive collection of dotfiles resources and tools
- Regularly updated with community contributions
- Provides a curated list of dotfiles from various developers
Cons of awesome-dotfiles
- Lacks personal configuration files
- No direct implementation or setup scripts
- May be overwhelming for beginners due to the large number of options
Code comparison
awesome-dotfiles doesn't contain actual dotfiles, but rather links to other repositories. In contrast, dotfiles contains personal configuration files. Here's a sample from dotfiles:
# Load the shell dotfiles, and then some:
# * ~/.path can be used to extend `$PATH`.
# * ~/.extra can be used for other settings you don't want to commit.
for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file"
done
unset file
Summary
awesome-dotfiles serves as a comprehensive resource for dotfiles, while dotfiles provides a personal set of configuration files. The former is excellent for exploration and discovery, while the latter offers a ready-to-use setup for those who prefer Paul Irish's configurations.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Paul's dotfiles
- I maintain this repo as my dotfiles, but I'm keenly aware people are using it for theirs.
- You're quite welcome to make suggestions, however I may decline if it's not of personal value to me.
- If you're starting off anew, consider forking mathias or alrra. paulmillr and gf3 also have great setups
Setup
I would not suggest you just wholesale use my dotfiles. But there's a few files where there's great goodies you can steal.
shell
This repo contains config for fish and bash. As of 2016, I primarily use fish
shell, but fall back to bash
once in a while. The bash and fish stuff are both well maintained. If you're using fish you'll want to do a git submodule update --init
.
my favorite parts.
aliases and functions
aliases.fish
andfunctions.fish
andfish/functions/*
.aliases
and.functions
So many goodies.
The "readline config" (.inputrc
)
Basically it makes typing into the prompt amazing.
- tab like crazy for autocompletion that doesnt suck. tab all the things. srsly.
- no more
that says "Display all 1745 possibilities? (y or n)" YAY - type
cat <uparrow>
to see your previouscat
s and use them. - case insensitivity.
- tab all the livelong day.
.gitconfig
- err'body gotta have their aliases. I'm no different.
Moving around in folders (z
, ...
, cdf
)
z
helps you jump around to whatever folder. It uses actual real magic to determine where you should jump to. Seperately there's some ...
aliases to shorten cd ../..
and ..
, ....
etc. Then, if you have a folder open in Finder, cdf
will bring you to it.
z dotfiles
z blog
.... # drop back equivalent to cd ../../..
z public
cdf # cd to whatever's up in Finder
z
learns only once its installed so you'll have to cd around for a bit to get it taught.
Lastly, I use open .
to open Finder from this path. (That's just available normally.)
overview of files
shell environment
.aliases
,.bash_profile
,.bash_prompt
,.bashrc
,.exports
,.functions
manual run
setup-a-new-machine.sh
- random apps i need installedsymlink-setup.sh
- sets up symlinks for all dotfiles and vim config..macos
- run on a fresh mac os setupbrew.sh
&brew-cask.sh
- homebrew initialization
git, brah
.gitconfig
.gitignore
.extra
for your private configuration
There will be items that don't belong to be committed to a git repo, because either 1) it shoudn't be the same across your machines or 2) it shouldn't be in a git repo. Kick it off like this:
touch ~/.extra && $EDITOR $_
I have some EXPORTS, my PATH construction, and a few aliases for ssh'ing into my servers in there.
Sensible OS X defaults in .macos
Mathias's repo is the canonical for this, but you should probably run his or mine after reviewing it.
~/bin
One-off binaries that aren't via an npm global or homebrew. git open, subl
for Sublime Text, and some other git utilities.
2020 update
Rust folks have made a few things that are changing things.
- most folks know
bat
as acat
replacement - https://github.com/dandavison/delta is a bit nicer than the diff-so-fancy project that i started. :/
- https://github.com/eza-community/eza is better
ls
and gets all the trapd00r/LS_COLORS stuff etc. - https://github.com/bigH/git-fuzzy interactive git thing. deprecates my
git recent
script. and probably some other things.
Dotfiles mgmt todo
Also I'd like to migrate to using one of these:
- homesick or
- https://www.atlassian.com/git/tutorials/dotfiles
- https://github.com/nix-community/home-manager
- https://www.chezmoi.io/
also interested in https://github.com/dandavison/open-in-editor
Top Related Projects
My dotfiles. Buyer beware ;)
A curated list of dotfiles resources.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot