├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── assets ├── frappe.webp ├── latte.webp ├── macchiato.webp ├── mocha.webp ├── mochatty.png └── res.webp ├── justfile ├── themes ├── frappe.txt ├── latte.txt ├── macchiato.txt └── mocha.txt └── tty.tera /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # EditorConfig is awesome: https://EditorConfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | indent_size = 2 10 | indent_style = space 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | # go 16 | [*.go] 17 | indent_style = tab 18 | indent_size = 4 19 | 20 | # python 21 | [*.{ini,py,py.tpl,rst}] 22 | indent_size = 4 23 | 24 | # rust 25 | [*.rs] 26 | indent_size = 4 27 | 28 | # documentation, utils 29 | [*.{md,mdx,diff}] 30 | trim_trailing_whitespace = false 31 | 32 | # windows shell scripts 33 | [*.{cmd,bat,ps1}] 34 | end_of_line = crlf 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Catppuccin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Logo
3 | 4 | Catppuccin for TTY 5 |

6 | 7 |

8 | 9 | 10 | 11 |

12 | 13 |

14 | 15 |

16 | 17 | ## Previews 18 | 19 |
20 | 🌻 Latte 21 | 22 |
23 |
24 | 🪴 Frappé 25 | 26 |
27 |
28 | 🌺 Macchiato 29 | 30 |
31 |
32 | 🌿 Mocha 33 | 34 |
35 | 36 | ## Usage 37 | 38 | 1. Copy the contents of your preferred flavor from [`themes/`](./themes/) and add it to your kernel options 39 | 2. Restart your computer 40 | 41 | ### GRUB 42 | 43 | 1. Edit `/etc/default/grub` and append the theme kernel options to `GRUB_CMDLINE_LINUX` (eg. `GRUB_CMDLINE_LINUX="vt.default_red..."`) 44 | 2. Run `sudo grub-mkconfig -o /boot/grub/grub.cfg` 45 | 46 | ### systemd-boot 47 | 48 | 1. Edit the boot entry located in `/boot/loader/entries/` 49 | 2. Append the theme kernel options to the `options` line 50 | 3. Run `sudo bootctl update` 51 | 52 | ### Limine 53 | 54 | 1. Edit `/boot/limine.cfg` 55 | 2. Append the theme kernel options to the boot entry's `CMDLINE` 56 | 57 | ### Other 58 | 59 | For other bootloaders or for more information, [see here on ArchWiki](https://wiki.archlinux.org/title/Kernel_parameters) 60 | 61 | ## 💝 Thanks to 62 | 63 | - [Echo](https://github.com/CallMeEchoCodes) 64 | - [mekb](https://github.com/mekb-turtle) 65 | 66 |   67 | 68 |

69 | 70 |

71 | 72 |

73 | Copyright © 2021-present Catppuccin Org 74 |

75 | 76 |

77 | 78 |

79 | -------------------------------------------------------------------------------- /assets/frappe.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/frappe.webp -------------------------------------------------------------------------------- /assets/latte.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/latte.webp -------------------------------------------------------------------------------- /assets/macchiato.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/macchiato.webp -------------------------------------------------------------------------------- /assets/mocha.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/mocha.webp -------------------------------------------------------------------------------- /assets/mochatty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/mochatty.png -------------------------------------------------------------------------------- /assets/res.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/tty/6dd8b99181f7347e6e3b381872897184ff231bc7/assets/res.webp -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- 1 | _default: 2 | @just --list 3 | 4 | build: 5 | whiskers tty.tera 6 | -------------------------------------------------------------------------------- /themes/frappe.txt: -------------------------------------------------------------------------------- 1 | vt.default_red=48,231,166,229,140,244,129,181,98,231,166,229,140,244,129,165 vt.default_grn=52,130,209,200,170,184,200,191,104,130,209,200,170,184,200,173 vt.default_blu=70,132,137,144,238,228,190,226,128,132,137,144,238,228,190,206 2 | -------------------------------------------------------------------------------- /themes/latte.txt: -------------------------------------------------------------------------------- 1 | vt.default_red=239,210,64,223,30,234,23,108,172,210,64,223,30,234,23,76 vt.default_grn=241,15,160,142,102,118,146,111,176,15,160,142,102,118,146,79 vt.default_blu=245,57,43,29,245,203,153,133,190,57,43,29,245,203,153,105 2 | -------------------------------------------------------------------------------- /themes/macchiato.txt: -------------------------------------------------------------------------------- 1 | vt.default_red=36,237,166,238,138,245,139,184,91,237,166,238,138,245,139,165 vt.default_grn=39,135,218,212,173,189,213,192,96,135,218,212,173,189,213,173 vt.default_blu=58,150,149,159,244,230,202,224,120,150,149,159,244,230,202,203 2 | -------------------------------------------------------------------------------- /themes/mocha.txt: -------------------------------------------------------------------------------- 1 | vt.default_red=30,243,166,249,137,245,148,186,88,243,166,249,137,245,148,166 vt.default_grn=30,139,227,226,180,194,226,194,91,139,227,226,180,194,226,173 vt.default_blu=46,168,161,175,250,231,213,222,112,168,161,175,250,231,213,200 2 | -------------------------------------------------------------------------------- /tty.tera: -------------------------------------------------------------------------------- 1 | --- 2 | whiskers: 3 | version: "2.2.0" 4 | matrix: 5 | - flavor 6 | filename: "themes/{{ flavor.identifier }}.txt" 7 | --- 8 | 9 | {%- macro extract_component(cmp) -%} 10 | {%- set colors = [ 11 | base, 12 | red, 13 | green, 14 | yellow, 15 | blue, 16 | pink, 17 | teal, 18 | if(cond=flavor.dark, t=subtext1, f=subtext0), 19 | surface2, 20 | red, 21 | green, 22 | yellow, 23 | blue, 24 | pink, 25 | teal, 26 | if(cond=flavor.dark, t=subtext0, f=text) 27 | ] -%} 28 | {%- for color in colors -%} 29 | {{- color.rgb[cmp] -}} 30 | {%- if not loop.last %},{% endif -%} 31 | {%- endfor -%} 32 | {%- endmacro -%} 33 | 34 | vt.default_red={{ self::extract_component(cmp="r") }} vt.default_grn={{ self::extract_component(cmp="g") }} vt.default_blu={{ self::extract_component(cmp="b") }} 35 | --------------------------------------------------------------------------------