{"id":37762033,"url":"https://github.com/justuswilhelm/pufferfish","last_synced_at":"2026-01-16T14:38:02.834Z","repository":{"id":10378454,"uuid":"12523779","full_name":"justuswilhelm/pufferfish","owner":"justuswilhelm","description":"Nix, fish, tmux and neovim for fun people","archived":false,"fork":false,"pushed_at":"2025-09-20T09:43:16.000Z","size":4468,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-13T21:57:56.077Z","etag":null,"topics":["dotfiles","fish","git","home-manager","neovim","nix-darwin","nixos","shell","tmux"],"latest_commit_sha":null,"homepage":"https://justuswilhelm.github.io/pufferfish/","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/justuswilhelm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSES/AGPL-3.0-or-later.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-09-01T17:03:41.000Z","updated_at":"2025-09-20T09:43:20.000Z","dependencies_parsed_at":"2023-02-19T15:31:01.816Z","dependency_job_id":"d210a881-2be9-4daf-a673-ace45e2a9d0d","html_url":"https://github.com/justuswilhelm/pufferfish","commit_stats":null,"previous_names":["justuswilhelm/dotfiles"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/justuswilhelm/pufferfish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justuswilhelm%2Fpufferfish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justuswilhelm%2Fpufferfish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justuswilhelm%2Fpufferfish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justuswilhelm%2Fpufferfish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justuswilhelm","download_url":"https://codeload.github.com/justuswilhelm/pufferfish/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justuswilhelm%2Fpufferfish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","fish","git","home-manager","neovim","nix-darwin","nixos","shell","tmux"],"created_at":"2026-01-16T14:38:02.774Z","updated_at":"2026-01-16T14:38:02.830Z","avatar_url":"https://github.com/justuswilhelm.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2014-2025 Justus Perlwitz\n\nSPDX-License-Identifier: GPL-3.0-or-later\n--\u003e\n\n# Pufferfish\n\n![pufferfish](docs/puffer.gif)\n\nPufferfish gives you useful defaults and configuration files for the following\nprograms:\n\n- Nix,\n- NixOS,\n- macOS,\n- tmux,\n- neovim,\n- fish,\n- neomutt,\n- vdirsyncer,\n- radicale,\n- borgmatic,\n- and many more.\n\nYou can install and use Pufferfish on macOS and NixOS. Pufferfish also works on\nDebian, but additional installation steps may be necessary.\n\n## Use Pufferfish on macOS\n\n- [Nix](https://nixos.org/download#download-nix), and\n- [nix-darwin](https://github.com/LnL7/nix-darwin)\n\nHere's how you can install nix-darwin and Pufferfish from scratch.\n\n1. Install nix on macOS using the [official installer](https://nixos.org/download#download-nix).\n2. Clone this repository into your home directory at `$HOME/.dotfiles\".\n3. Add your machine to the `flake.nix` file in the repository root.\n4. Run `darwin-rebuild` on the Nix flake contained in this repository.\nRead more about `darwin-rebuild` [here](https://github.com/nix-darwin/nix-darwin?tab=readme-ov-file#getting-started).\n\nHere's how you can clone this repository into the right directory:\n\n```fish\ngit clone git@github.com:justuswilhelm/pufferfish.git \"$HOME/.dotfiles\"\n```\n\nWhen you've cloned the repository, run the following to install Pufferfish\nwith `darwin-rebuild`:\n\n```fish\nsudo nix run nix-darwin/master#darwin-rebuild -- switch --flake \"$HOME/.dotfiles\"\n```\n\n### How to add your machine to the flake file\n\nTODO\n\n### How to rebuild Pufferfish\n\nIn a fish shell, run the following function:\n\n```fish\nrebuild\n```\n\n## Use Pufferfish on NixOS\n\nTODO\n\n## Use Pufferfish on Debian\n\nYou need to install the following programs to use Pufferfish on Debian:\n\n- [Nix](https://nixos.org/download#download-nix), and\n- [home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone)\n\nFurthermore, make sure that you've installed the following programs using `apt`:\n\n- sway\n- swaylock\n- swayidle\n\nPufferfish installs all other dependencies using `home-manager`.\n\nHere's how to install Pufferfish from scratch:\n\n```fish\ngit clone git@github.com:justuswilhelm/pufferfish.git \"$HOME/.dotfiles\"\nhome-manager --extra-experimental-features flakes --extra-experimental-features nix-command switch --flake $HOME/.dotfiles\n```\n\nHere's how to rebuild Pufferfish:\n\n```fish\n# In fish run the following function\nrebuild\n```\n\n## Formatting the code\n\nThere is a nix flake in the root directory that installs the `prettier` command. Inside\na `nix develop` shell run the following:\n\n```fish\nprettier --check .\n```\n\nIf you want to format everything, try the following command:\n\n```fish\nprettier --write .\n```\n\n## How to report a bug\n\nYou can file an issue\n[here](https://github.com/justuswilhelm/pufferfish/issues/new)\n\n## How to contribute code\n\nI am happy about accepting new contributions into this repository. You can file\na pull request right\n[here](https://github.com/justuswilhelm/pufferfish/compare).\n\nThe best way to get started is by forking this repository and developing a new\nfeature or bug fix on your own repository. Then, you can create a pull request\nto contribute the code back.\n\n# Credits\n\n- Iosevka (`fonts/`): SIL Open Font License v1.1, refer to `fonts/LICENSE.md`\n- 24-bit-color (`bin/24-bit-color`): GPL v2, https://github.com/gnachman/iTerm2/blob/master/LICENSE\n- neovim selenized colors (`nvim/colors/selenized.vim`): MIT License, see `nvim/colors/LICENSE.txt`\n- iterm2 \u0026 alacritty selenized colors (`selenized/terminals/iterm`): MIT License, see `selenized/LICENSE.txt`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustuswilhelm%2Fpufferfish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustuswilhelm%2Fpufferfish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustuswilhelm%2Fpufferfish/lists"}