mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 11:36:20 +00:00
feat: add theme readme
This commit is contained in:
85
modules/nixos/theming/README.md
Normal file
85
modules/nixos/theming/README.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# MD3 Evo Theming
|
||||||
|
|
||||||
|
MD3 Evo is a theming system derived from the Material Design 3 color sytem.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Wallpaper colors
|
||||||
|
- Dynamic color and dark mode switching at runtime (no `nixos-rebuild`)
|
||||||
|
- Dark and light mode support
|
||||||
|
- User contrast options
|
||||||
|
- Color flavours
|
||||||
|
- Faithful ANSI colors that still adapt to your theme
|
||||||
|
- Static syntax highlighting colors that blends with your theme
|
||||||
|
- Customizable syntax highlighting tokens
|
||||||
|
- Transparency and blur support
|
||||||
|
|
||||||
|
## CLI Usage
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Open wallpaper picker
|
||||||
|
theme wallpaper
|
||||||
|
# Set wallpaper by path
|
||||||
|
theme wallpaper ~/Pictures/wallpaper.png
|
||||||
|
# Switch theme
|
||||||
|
theme toggle
|
||||||
|
theme light
|
||||||
|
theme dark
|
||||||
|
# Get current theme
|
||||||
|
theme mode
|
||||||
|
```
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
| Name | Status | Comment |
|
||||||
|
| -------- | ------ | ------------------------------------------------------------------------------- |
|
||||||
|
| Neovim | ✅ | |
|
||||||
|
| Hyprland | ✅ | |
|
||||||
|
| Kitty | ✅ | Missing some parts I don't use. Transparency is tinted weirdly for some reason. |
|
||||||
|
| Anyrun | ✅ | |
|
||||||
|
| Vesktop | 🚧 | Contrast is weird in some places |
|
||||||
|
| GTK3 | 🚧 | |
|
||||||
|
| GTK4 | 🚧 | Runtime switching is unreliable |
|
||||||
|
|
||||||
|
## NixOS/Home Manager Module
|
||||||
|
|
||||||
|
```nix
|
||||||
|
# Default options
|
||||||
|
theming.md3-evo = {
|
||||||
|
enable = false;
|
||||||
|
flavour = "tonal-spot";
|
||||||
|
contrast = 0;
|
||||||
|
transparency = 0.8;
|
||||||
|
radius = 24;
|
||||||
|
padding = 12;
|
||||||
|
blur = 16;
|
||||||
|
semantic = {
|
||||||
|
blend = false;
|
||||||
|
danger = "#ff0000";
|
||||||
|
warning = "#ffff00";
|
||||||
|
success = "#00ff00";
|
||||||
|
info = "#0000ff";
|
||||||
|
};
|
||||||
|
syntax = {
|
||||||
|
blend = true;
|
||||||
|
keywords = "#ff8000";
|
||||||
|
functions = "#0000ff";
|
||||||
|
properties = "#ff00ff";
|
||||||
|
constants = "#ff00ff";
|
||||||
|
strings = "#00ff00";
|
||||||
|
numbers = "#00ffff";
|
||||||
|
structures = "#ffff00";
|
||||||
|
types = "#00ffff";
|
||||||
|
};
|
||||||
|
ansi = {
|
||||||
|
blend = true;
|
||||||
|
red = "#ff0000";
|
||||||
|
green = "#00ff00";
|
||||||
|
yellow = "#ffff00";
|
||||||
|
orange = "#ff8000";
|
||||||
|
blue = "#0000ff";
|
||||||
|
magenta = "#ff00ff";
|
||||||
|
cyan = "#00ffff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user