Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wafflepie/dotfiles
🧰 Handcrafted dotfiles for web developers running Fedora, macOS, or Ubuntu for WSL. Ridiculously easy to set up, maintain, and extend.
https://github.com/wafflepie/dotfiles
dotfiles fedora macos shell terminal ubuntu wsl zsh
Last synced: about 1 month ago
JSON representation
🧰 Handcrafted dotfiles for web developers running Fedora, macOS, or Ubuntu for WSL. Ridiculously easy to set up, maintain, and extend.
- Host: GitHub
- URL: https://github.com/wafflepie/dotfiles
- Owner: wafflepie
- License: mit
- Created: 2018-08-28T17:39:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-22T16:12:45.000Z (over 1 year ago)
- Last Synced: 2024-08-13T07:16:06.487Z (4 months ago)
- Topics: dotfiles, fedora, macos, shell, terminal, ubuntu, wsl, zsh
- Language: Shell
- Homepage:
- Size: 27.8 MB
- Stars: 18
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - wafflepie/dotfiles - 🧰 Handcrafted dotfiles for web developers running Fedora, macOS, or Ubuntu for WSL. Ridiculously easy to set up, maintain, and extend. (Shell)
README
# wafflepie/dotfiles
The best ones out there, surely.
**WARNING:** Instead of using my repository directly, you should do a couple of things:
- Create a fork.
- Review the code. Seriously.
- Remove any unneeded topics.## Installation
**NOTE:** These dotfiles are supposed to work on a minimal installation of Fedora, macOS, and Ubuntu for WSL.
Assuming that Git is already installed, run the following commands to initialize the dotfiles.
```sh
# Replace `wafflepie` with your GitHub username if using a fork.
git clone --recurse-submodules https://github.com/wafflepie/dotfiles.git ~/.dotfiles~/.dotfiles/binaries/dot
```## Structure
The structure is built around topics, see [holman's dotfiles](https://github.com/holman/dotfiles) to learn more about this approach.
### Configuration files
Any file in `/topics` beginning with a dot (such as `/topics/git/.gitconfig`) will be automagically symlinked to your home directory. Use the `+` character to indicate a directory structure. For example, `/topics/git/.git-templates+hooks+post-commit` will be symlinked to `~/.git-templates/hooks/post-commit`.
Any `.zsh` files in `/topics` will be automatically sourced in the `.zshrc` file. You can also name them `.pre.zsh` or `.post.zsh` if you need to source them in a certain order.
**NOTE:** The `.post.zsh` files will be loaded after all of the `antibody` plugins.
### Initialization
You can add an `.sh` script to a topic if you need some additional setup upon (re)initialization. As with the configuration files, you can use the `.pre.sh` and `.post.sh` suffixes to modify the order.
**NOTE:** These scripts should be [idempotent](https://en.wikipedia.org/wiki/Idempotence).
### Dumpfile
Any topic may include a `Dumpfile`, denoting that it contains some files which are meant to be autogenerated, but which are still supposed to be in source control, such as lists of packages.
## Maintenance
Running `dot` will reinitialize your dotfiles, i.e. recreate symlinks and run all install scripts. Running `dot` should be [idempotent](https://en.wikipedia.org/wiki/Idempotence), so you can reinitialize as many times as you need to.
If you only want to reinitialize some topics, run `dot ` instead, e.g. `dot nvm yarn`.