{"id":13542593,"url":"https://github.com/peterhajas/dotfiles","last_synced_at":"2025-12-17T09:06:58.765Z","repository":{"id":16347806,"uuid":"19097741","full_name":"peterhajas/dotfiles","owner":"peterhajas","description":"If you see a setting, they blew it","archived":false,"fork":false,"pushed_at":"2024-10-30T04:03:36.000Z","size":1770,"stargazers_count":76,"open_issues_count":1,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-30T07:14:05.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Lua","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/peterhajas.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2014-04-24T06:09:01.000Z","updated_at":"2024-10-30T04:03:39.000Z","dependencies_parsed_at":"2024-01-16T15:52:24.746Z","dependency_job_id":"791f19eb-bec4-482e-8827-44c20703bf74","html_url":"https://github.com/peterhajas/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhajas%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhajas%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhajas%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhajas%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterhajas","download_url":"https://codeload.github.com/peterhajas/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246796902,"owners_count":20835461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-01T10:01:12.228Z","updated_at":"2025-12-17T09:06:58.759Z","avatar_url":"https://github.com/peterhajas.png","language":"Lua","funding_links":[],"categories":["Lua","others"],"sub_categories":[],"readme":"# phajas dotfiles\n\n## rocking since 2014\n\nA \"dotfile\" is a configuration file for a computer program.\n\nI have a bunch of these. They all live here.\n\n## Install\n\n1. Clone this repository into your home directory:\n\n        cd\n        git clone https://github.com/peterhajas/dotfiles.git\n\n2. Go to the `dotfiles` directory:\n\n        cd dotfiles\n\n3. Run `update.sh`. You may need to give it proper permissions:\n\n        cd dotfiles\n        chmod a+x update.sh\n        sh update.sh\n\n## Colors\n\n- Colors live at `colors/palette.toml` (TOML).\n- Regenerate terminal/Neovim artifacts (Ghostty themes + `phajas_palette` colorscheme) with `python3 colors/build.py` (run automatically by `setup.yml` before stow).\n- Per-machine stow overrides in `setup.yml` do not affect palette generation; the build step always runs so any hosts that stow Ghostty/Neovim get the fresh colors. Host-specific defaults are supported via `[hosts.\u003chostname\u003e]` in `colors/palette.toml`, e.g.:\n\n      [hosts.nyx]\n      default_variant = \"modus_vivendi\"\n\n- Light/dark: both variants are always generated. Ghostty points `theme = dark:phajas_dark,light:phajas_light` (stable names, independent of the variant keys), and Neovim chooses the variant by macOS appearance; host overrides only change the default when no flavor match is found.\n- Extend to other apps by adding outputs inside `colors/build.py` alongside the Ghostty and Neovim writers.\n- Neovim always loads the generated `phajas_palette` (see `nvim/.config/nvim/lua/phajas/plugins/theme.lua`); macOS appearance is polled to pick light/dark.\n- Licensing: palette and generated artifacts are GPL v3 via Modus; the license text lives at `colors/LICENSE`.\n\nThat's it! If you had any configuration files, `stow` should leave them alone and not stomp on them. If you'd like to uninstall specific apps, you can do so by running `stow -D APPNAME` in the `dotfiles` directory. To install them again, run `stow APPNAME`.\n\n## Third-Party Components\n\nThis repository includes the following GPL-licensed components:\n\n- **Modus** by Miika Nissi (adapted from Protesilaos Stavrou)\n  - Palette data: `colors/palette.toml` contains Modus-derived values; all generated artifacts from it (Ghostty themes, `phajas_palette` Neovim colorscheme, and any other outputs you add) inherit GPL v3 obligations.\n  - Location: generated Ghostty themes (`ghostty/.config/ghostty/themes/phajas_light` and `ghostty/.config/ghostty/themes/phajas_dark`) plus the Neovim colorscheme (`nvim/.config/nvim/colors/phajas_palette.lua`)\n  - License: GPL v3 (see `colors/LICENSE`; keep that file with any redistribution of the palette or generated artifacts)\n  - Source: https://github.com/miikanissi/modus-themes.nvim\n\n## License\n\nThird-party components retain their original licenses as indicated in their respective directories.\n\n---\n\nQuestions? Comments? `emacs`? I'm [@peterhajas](http://twitter.com/peterhajas).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterhajas%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterhajas%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterhajas%2Fdotfiles/lists"}