Pufferfish gives you useful defaults and configuration files for the following programs:
- Nix,
- NixOS,
- macOS,
- tmux,
- neovim,
- fish,
- neomutt,
- vdirsyncer,
- radicale,
- borgmatic,
- and many more.
You can install and use Pufferfish on macOS and NixOS. Pufferfish also works on Debian, but additional installation steps may be necessary.
- Nix, and
- nix-darwin
Here's how you can install nix-darwin and Pufferfish from scratch.
- Install nix on macOS using the official installer.
- Clone this repository into your home directory at `$HOME/.dotfiles".
- Add your machine to the
flake.nixfile in the repository root. - Run
darwin-rebuildon the Nix flake contained in this repository. Read more aboutdarwin-rebuildhere.
Here's how you can clone this repository into the right directory:
git clone git@github.com:justuswilhelm/pufferfish.git "$HOME/.dotfiles"When you've cloned the repository, run the following to install Pufferfish
with darwin-rebuild:
sudo nix run nix-darwin/master#darwin-rebuild -- switch --flake "$HOME/.dotfiles"TODO
In a fish shell, run the following function:
rebuildTODO
You need to install the following programs to use Pufferfish on Debian:
- Nix, and
- home manager
Furthermore, make sure that you've installed the following programs using apt:
- sway
- swaylock
- swayidle
Pufferfish installs all other dependencies using home-manager.
Here's how to install Pufferfish from scratch:
git clone git@github.com:justuswilhelm/pufferfish.git "$HOME/.dotfiles"
home-manager --extra-experimental-features flakes --extra-experimental-features nix-command switch --flake $HOME/.dotfilesHere's how to rebuild Pufferfish:
# In fish run the following function
rebuildThere is a nix flake in the root directory that installs the prettier command. Inside
a nix develop shell run the following:
prettier --check .If you want to format everything, try the following command:
prettier --write .You can file an issue here
I am happy about accepting new contributions into this repository. You can file a pull request right here.
The best way to get started is by forking this repository and developing a new feature or bug fix on your own repository. Then, you can create a pull request to contribute the code back.
- Iosevka (
fonts/): SIL Open Font License v1.1, refer tofonts/LICENSE.md - 24-bit-color (
bin/24-bit-color): GPL v2, https://github.com/gnachman/iTerm2/blob/master/LICENSE - neovim selenized colors (
nvim/colors/selenized.vim): MIT License, seenvim/colors/LICENSE.txt - iterm2 & alacritty selenized colors (
selenized/terminals/iterm): MIT License, seeselenized/LICENSE.txt
