- nim (build)
- nimble (usually provided with nim) (build)
Currently tsuki can only be built from source.
git clone https://github.com/arashi-software/tsuki; cd tsuki
nimble install
Tsuki requires a config file in json at $HOME/.tsuki/themes.tsk
. This file tells tsuki where to map the files to and what command to run after it is finished
{
"files": [ // The files array stores a list of objects which contain a path to the source file and a path to the dest file
{
"dest": "~/.config/dk/dkrc",
"src": "*/dkrc" // The asterisk charecter is a placeholder for the current theme name
},
{
"dest": "~/.config/eww/_colors.scss",
"src": "*/_colors.scss"
}
],
"commands": [ // These command would be run after tsuki is finished switching the theme, you can put commands here to restart your apps.
"eww reload",
"dkcmd restart"
]
}
Tsuki is opinionated with how the file structure works. Running tree in the ~/.tsuki directory returns
/home/luke/.tsuki
├── themes
│ ├── dark
│ │ ├── _colors.scss
│ │ ├── config.rasi
│ │ ├── dkrc
│ │ ├── dunstrc
│ │ ├── settings.json
│ │ ├── wallpaper.png
│ │ └── wezterm.lua
│ └── light
│ ├── _colors.scss
│ ├── config.rasi
│ ├── dkrc
│ ├── dunstrc
│ ├── settings.json
│ ├── wallpaper.png
│ └── wezterm.lua
└── themes.tsk
In this case there are 2 valid themes, light and dark, the directory structure of both of these should be the same with the only modification being done to the files themselves. This is so that tsuki can use the theme placeholders without running into an error.
After tsuki has been setup you can use it through its command line interface
tsuki <theme>
tsuki flip
Or through rofi
tsuki rofi
- Basic theme switching
- Rofi frontend
- Template engine
- fzf frontened