mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46: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