https://github.com/samesense/savitsky.nvim
Neovim themes derived from Savitsky Museum paintings
https://github.com/samesense/savitsky.nvim
Last synced: 3 months ago
JSON representation
Neovim themes derived from Savitsky Museum paintings
- Host: GitHub
- URL: https://github.com/samesense/savitsky.nvim
- Owner: samesense
- License: mit
- Created: 2025-12-23T22:09:07.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-12-24T16:05:37.000Z (4 months ago)
- Last Synced: 2025-12-25T11:58:47.875Z (4 months ago)
- Language: Lua
- Size: 23.2 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - samesense/savitsky.nvim - **_`[TS][LSP][L/D][Lua]`_** Curated color palettes inspired by paintings from the Savitsky Museum, built on top of `catppuccin`. (Colorscheme / Assembly)
- awesome-neovim-sorted - samesense/savitsky.nvim
README
# savitsky.nvim
> Neovim themes derived from Savitsky Museum paintings
`savitsky.nvim` is a Neovim theme plugin built on top of
[catppuccin/nvim](https://github.com/catppuccin/nvim).
It provides curated color palettes inspired by paintings from the Savitsky Museum and allows **runtime theme switching** via simple Neovim commands.
This plugin does **not** define its own colorscheme. Instead, it dynamically configures Catppuccin using palette and highlight overrides.
---
## Requirements
- Neovim >= 0.8
- [catppuccin/nvim](https://github.com/catppuccin/nvim)
---
## Installation
### lazy.nvim
```lua
{
"samesense/savitsky.nvim",
dependencies = {
"catppuccin/nvim",
},
}
```
### packer.nvim
```lua
use {
"samesense/savitsky.nvim",
requires = {
"catppuccin/nvim",
},
}
```
### vim-plug
```vim
Plug 'catppuccin/nvim'
Plug 'samesense/savitsky.nvim'
```
---
## Usage
`savitsky.nvim` is command-driven. No manual Lua setup is required.
### List available themes
```
:SavitskyList
```
Prints all registered Savitsky themes.
---
### Load a theme
```
:SavitskyLoad bull
```
This command:
1. Reconfigures Catppuccin with the selected palette
2. Applies the appropriate Catppuccin flavour
3. Reloads the colorscheme immediately
Tab completion is supported:
```
:SavitskyLoad
```
---
## Available Themes
Each theme corresponds to a palette inspired by a Savitsky Museum painting:
- abstractBoxes
- bull
- camels
- couple
- forest
- industry
- man
- witch
All themes currently target the **Catppuccin `mocha` flavour** with custom palette overrides.
---
## How It Works
Each theme entry defines:
- **flavour** – Catppuccin flavour (`mocha`)
- **palette** – Color overrides for that flavour
- **highlights** – Highlight overrides (shared by default)
When you run:
```
:SavitskyLoad
```
The plugin performs:
- `catppuccin.setup()` with theme-specific overrides
- `:colorscheme catppuccin-mocha`
No restart is required.
---
## Optional: Load a Theme on Startup
If you want a default Savitsky theme when Neovim starts:
```lua
vim.cmd("SavitskyLoad forest")
```
Place this after plugin initialization.
---
## File Structure
```
savitsky.nvim
├── plugin
│ └── savitsky.lua # user commands
├── lua
│ └── savitsky
│ ├── init.lua # theme loader
│ ├── registry.lua # theme definitions
│ ├── palettes # palette files
│ └── highlights
│ └── default.lua
```
---
## Contributing
Contributions are welcome:
- New palettes
- New highlight styles
- Documentation improvements
Open an issue or submit a pull request.
---
## License
MIT License — see LICENSE.
---
## Related Projects
- https://github.com/catppuccin/nvim
- https://github.com/catppuccin/catppuccin
---
Inspired by the Savitsky Museum’s collection of Central Asian and avant-garde art.