{"id":34706221,"url":"https://github.com/jmylchreest/tinct","last_synced_at":"2026-05-26T01:04:39.741Z","repository":{"id":322709698,"uuid":"1089143829","full_name":"jmylchreest/tinct","owner":"jmylchreest","description":"A plugin based theme/templating tool inspired by PyWal and Matugen, with multiple input mechanisms.","archived":false,"fork":false,"pushed_at":"2026-05-25T20:52:45.000Z","size":74640,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T22:11:08.715Z","etag":null,"topics":["customisation","customization","linux","matugen","pallete","pywal","themes"],"latest_commit_sha":null,"homepage":"https://jmylchreest.github.io/tinct/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmylchreest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2025-11-04T00:12:33.000Z","updated_at":"2026-05-25T20:10:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"4c39f617-ecf0-4750-ae36-185f586f47e3","html_url":"https://github.com/jmylchreest/tinct","commit_stats":null,"previous_names":["jmylchreest/tinct"],"tags_count":168,"template":false,"template_full_name":null,"purl":"pkg:github/jmylchreest/tinct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmylchreest%2Ftinct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmylchreest%2Ftinct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmylchreest%2Ftinct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmylchreest%2Ftinct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmylchreest","download_url":"https://codeload.github.com/jmylchreest/tinct/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmylchreest%2Ftinct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33499282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"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":["customisation","customization","linux","matugen","pallete","pywal","themes"],"created_at":"2025-12-24T23:24:53.757Z","updated_at":"2026-05-26T01:04:39.719Z","avatar_url":"https://github.com/jmylchreest.png","language":"Go","funding_links":[],"categories":["Packages"],"sub_categories":["Colorschemes"],"readme":"# Tinct\n\n\u003e An extensible colour palette generator and theme manager for unified theming across your entire environment\n\nGenerate colour palettes from images, AI, remote themes, or manual specifications. Apply them consistently to terminals, desktop environments, window managers, and external devices.\n\n[![Go Version](https://img.shields.io/badge/Go-1.25%2B-00ADD8?style=flat\u0026logo=go)](https://golang.org/)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Documentation](https://img.shields.io/badge/docs-jmylchreest.github.io%2Ftinct-blue)](https://jmylchreest.github.io/tinct/)\n\n## Installation\n\n**Arch Linux (AUR):**\n```bash\nyay -S tinct-bin\n```\n\n**From Go:**\n```bash\ngo install github.com/jmylchreest/tinct/cmd/tinct@latest\n```\n\n**From source:**\n```bash\ngit clone https://github.com/jmylchreest/tinct.git\ncd tinct \u0026\u0026 go build -o tinct ./cmd/tinct\n```\n\n## Quick start\n\n### From an image\n\n```bash\n# Apply theme to all configured applications\ntinct generate -i image -p ~/Pictures/wallpaper.jpg -o all\n```\n\n### From AI (Google Gemini)\n\nGenerate a unique wallpaper and theme from a text prompt:\n\n```bash\n# Set your API key (get one at https://aistudio.google.com/apikey)\nexport GOOGLE_API_KEY=\"your-api-key\"\n\n# Or retrieve it from a secret manager\nexport GOOGLE_API_KEY=$(secret-tool lookup service google-genai)  # GNOME Keyring\nexport GOOGLE_API_KEY=$(bw get password google-genai)             # Bitwarden CLI\n\n# Generate a wallpaper and apply the extracted palette\ntinct generate -i google-genai --ai.prompt \"sunset over rolling hills of tuscany\" -o all\n```\n\nOpenRouter is also supported as an alternative (`-i openrouter`), giving access to multiple AI models. See the [AI generation docs](https://jmylchreest.github.io/tinct/docs/plugins/input/google-genai) for details.\n\n### From a popular theme\n\n```bash\n# Catppuccin Mocha\ntinct generate -i remote-json \\\n  --remote-json.url \"https://raw.githubusercontent.com/catppuccin/palette/main/palette.json\" \\\n  --remote-json.query \"colors.mocha\" \\\n  -o all\n```\n\n## Features\n\n- **Multiple input sources** - Images, AI generation (Google Gemini, OpenRouter), remote themes (JSON/CSS), manual specification\n- **25+ applications** - Terminals, desktops, window managers, bars, editors\n- **Smart categorisation** - Auto-assigns semantic colours with WCAG contrast checking\n- **Plugin ecosystem** - Extend with external plugins from repositories or build your own in any language\n- **Theme portability** - Save and share complete themes as markdown files\n\n## Supported applications\n\n| Category | Applications |\n|----------|-------------|\n| Terminals | Alacritty, Ghostty, Kitty, Konsole, Ptyxis |\n| Desktop | GNOME Shell, KDE Plasma, GTK3/4, Libadwaita, Qt5/6 |\n| Hyprland | Hyprland, Hyprpaper, Hyprlock |\n| Bars \u0026 Launchers | Waybar, Dunst, SwayOSD, Fuzzel, Walker, Wofi |\n| Editors | Neovim, Zellij |\n\nNeed more? Install external plugins from the [plugin repository](https://github.com/jmylchreest/tinct-plugins):\n\n```bash\ntinct plugins repo add official https://raw.githubusercontent.com/jmylchreest/tinct-plugins/refs/heads/main/repository/repository.json\ntinct plugins search\ntinct plugins install \u003cplugin-name\u003e\n```\n\n## Documentation\n\nFull documentation is available at **[jmylchreest.github.io/tinct](https://jmylchreest.github.io/tinct/)**\n\n- [Getting started](https://jmylchreest.github.io/tinct/docs/quickstart)\n- [Plugin reference](https://jmylchreest.github.io/tinct/docs/plugins/overview)\n- [Templating guide](https://jmylchreest.github.io/tinct/docs/templating)\n- [Plugin development](https://jmylchreest.github.io/tinct/docs/plugin-development)\n\n## Telemetry\n\nSince v0.1.25, tinct collects anonymous usage telemetry to help prioritise plugin development and maintenance. Only basic event data is sent: OS name, app version, plugin names/versions used, and feature flags (theme type, seed mode, backend, dry-run, etc.). No personal information, file paths, prompts, API keys, or colour data is ever collected. Telemetry can be disabled by setting `TINCT_TELEMETRY=off` or `{\"enabled\": false}` in `~/.local/share/tinct/telemetry.json`. See the [telemetry docs](https://jmylchreest.github.io/tinct/docs/telemetry) for full details.\n\n## Contributing\n\nContributions welcome! See the [documentation](https://jmylchreest.github.io/tinct/) for development guides.\n\n## License\n\nMIT License - see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmylchreest%2Ftinct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmylchreest%2Ftinct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmylchreest%2Ftinct/lists"}