base16-hyprland-lua

June 5, 2026 ยท View on GitHub

This repo provides templates for using Base16 color schemes with Hyprland's new Lua configuration.

Note

It is recommended to use Tinty.

If you are using Tinty, please add this to ~/.config/tinty/config.toml with the rest of theme items:

[[items]]
path = "https://github.com/janfreeman/base16-hyprland-lua"
name = "base16-hyprland-lua"
themes-dir = "colors"
write-to-file = ["~/.config/hypr/colors.lua"] # Path to your Hyprland config + file name
hook = "hyprctl reload" # Reloads hyprland after theme change
supported-systems = ["base16"]

Warning

Don't forget to execute tinty install and tinty init before modifying the Hyprland config.

Then, in your Hyprland Lua config, simply import it and use it like any variable:

-- Add this to the top of the file
colors = require("colors")

-- And then use it anywhere like so
hl.config({
  general = {
    -- ...
    col = {
      active_border   = { colors = {colors.base0C, colors.base0B}, angle = 45 },
      inactive_border = colors.base01,
    },
    -- ...
  },

Also, If you haven't already done so, it may be a good idea to also run tinty init on Hyprland startup. You can do so by adding a start event in the Hyprland config, like so:

hl.on("hyprland.start", function ()
  hl.exec_cmd("tinty init")
  -- the rest of your autostart items
end)