migrate to lua

This commit is contained in:
sankalp committed 2026-05-11 20:32:31 +05:45
1 parent 0ba5747282
commit a743e93ce1
23 files changed
+517 -8

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
-- Animations
hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } })
hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } })
hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } })
hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } })
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, bezier = "easeOutQuint" })
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, bezier = "easeOutQuint", style = "popin 87%" })
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "myBezier", style = "slide" })
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 5, bezier = "myBezier", style = "slide" })
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 5, bezier = "myBezier", style = "slide" })
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
+112
View File
@@ -0,0 +1,112 @@
-- Keybinds
local terminal = "kitty"
local filemanager = "thunar"
local telegram = "materialgram"
local browser = "zen-browser"
local mainMod = "SUPER"
hl.bind(mainMod .. " + SHIFT + C", hl.dsp.window.close())
hl.bind(mainMod .. " + C", hl.dsp.window.kill())
hl.bind(mainMod .. " + SHIFT + F", hl.dsp.window.fullscreen({ action = "toggle" }))
hl.bind(mainMod .. " + F", function()
hl.dispatch(hl.dsp.window.float({ action = "toggle" }))
hl.dispatch(hl.dsp.window.center())
end)
-- Testing
hl.bind("ALT + F12", hl.dsp.exec_cmd("notify-send 'Test notification' \"Here's a really long message to test truncation and wrapping\\nYou can middle click or flick this notification to dismiss it!\" -a 'terminal' -A \"Test1=I got it!\" -A \"Test2=Another action\""))
hl.bind("ALT + Equal", hl.dsp.exec_cmd("notify-send 'hmm' ${SLURP_ARGS}"))
local message_cmd = "notify-send \"Hello\" \"FIRE IN THE HOLE‼️🗣️🔥🕳️\" -i \"/home/sankalp/.face.icon\" -A \"🗣️\" -A \"🔥\" -A \"🕳️\" -a \"Source Code\""
hl.bind(mainMod .."+ ALT + N", hl.dsp.exec_cmd(message_cmd))
hl.bind(mainMod .. " + return", hl.dsp.exec_cmd(terminal))
hl.bind("ALT + SHIFT + return", hl.dsp.exec_cmd(terminal .. " --title float_kitty --single-instance"))
hl.bind("ALT + E", hl.dsp.exec_cmd("uwsm app -- " .. filemanager))
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd("uwsm app -- " .. browser))
hl.bind("ALT + T", hl.dsp.exec_cmd("uwsm app -- " .. telegram))
hl.bind(mainMod .. " + SHIFT + Y", hl.dsp.exec_cmd("grimblast save active ~/Pictures/Screenshots/"))
hl.bind(mainMod .. " + CTRL + L", hl.dsp.exec_cmd("pidof hyprlock || hyprlock -q"))
hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("systemctl poweroff"))
hl.bind(mainMod .. " + CTRL + R", hl.dsp.exec_cmd("systemctl reboot"))
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(mainMod .. " + SHIFT + P", hl.dsp.layout("togglesplit"))
-- Cycle through existing workspaces
hl.bind("ALT + SHIFT + D", hl.dsp.focus({ workspace = "e+1" }))
hl.bind("ALT + SHIFT + A", hl.dsp.focus({ workspace = "e-1" }))
-- Scrolling / Layout
hl.bind("ALT + D", hl.dsp.layout("move +col"))
hl.bind("ALT + A", hl.dsp.layout("move -col"))
hl.bind(mainMod .. " + SHIFT + period", hl.dsp.layout("movewindowto r"))
hl.bind(mainMod .. " + SHIFT + comma", hl.dsp.layout("movewindowto l"))
hl.bind(mainMod .. " + SHIFT + up", hl.dsp.layout("movewindowto u"))
hl.bind(mainMod .. " + SHIFT + down", hl.dsp.layout("movewindowto d"))
hl.bind(mainMod .. " + SHIFT + comma", hl.dsp.layout("swapcol l"))
-- Scroll through existing workspaces with mainMod + scroll
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
-- Move window --
hl.bind(mainMod .. " + SHIFT + H", hl.dsp.window.move({ direction = "left" }))
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.window.move({ direction = "right" }))
hl.bind(mainMod .. " + SHIFT + K", hl.dsp.window.move({ direction = "up" }))
hl.bind(mainMod .. " + SHIFT + J", hl.dsp.window.move({ direction = "down" }))
-- Focus to different window --
hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "left" }))
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "right" }))
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "up" }))
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "down" }))
-- Switch workspaces with mainMod + [0-9]
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
for i = 1, 10 do
local key = i % 10 -- 10 maps to key 0
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }))
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
hl.bind("SHIFT + ALT + " .. key, function()
hl.dispatch("movetoworkspacesilent", i)
end)
end
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Laptop keys
hl.bind(
"XF86AudioRaiseVolume",
hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"),
{ locked = true, repeating = true }
)
hl.bind(
"XF86AudioLowerVolume",
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
{ locked = true, repeating = true }
)
hl.bind(
"XF86AudioMute",
hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),
{ locked = true, repeating = true }
)
hl.bind(
"XF86AudioMicMute",
hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),
{ locked = true, repeating = true }
)
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
hl.bind("xf86Sleep", hl.dsp.exec_cmd("systemctl suspend"), { locked = true })
-- Playerctl
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
+68
View File
@@ -0,0 +1,68 @@
-- Misc
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
hl.gesture({ fingers = 3, direction = "vertical", action = "workspace" })
hl.gesture({ fingers = 4, direction = "down", action = "float" })
hl.config({
input = {
kb_layout = us,
kb_variant = "",
kb_model = "",
kb_options = "",
kb_rules = "",
repeat_rate = 50,
repeat_delay = 300,
left_handed = 0,
follow_mouse = 1,
sensitivity = 0.2,
accel_profile = "flat",
touchpad = {
natural_scroll = 0,
disable_while_typing = 1,
clickfinger_behavior = 0,
middle_button_emulation = 1,
tap_to_click = 1,
drag_lock = 0,
},
numlock_by_default = true,
},
dwindle = {
preserve_split = true,
smart_resizing = true,
use_active_for_splits = true,
smart_split = false,
default_split_ratio = 1.0,
split_bias = 0,
precise_mouse_move = false,
special_scale_factor = 0.8,
},
master = {
new_status = "slave",
new_on_top = false,
new_on_active = "none",
orientation = "left",
mfact = 0.55,
slave_count_for_center_master = 2,
center_master_fallback = "left",
smart_resizing = true,
drop_at_cursor = true,
always_keep_position = false,
},
scrolling = {
column_width = 0.50,
fullscreen_on_one_column = true,
direction = "right",
follow_focus = true,
},
debug = {
disable_logs = false,
},
})
+29
View File
@@ -0,0 +1,29 @@
-- Monitors
hl.monitor({
output = "eDP-1",
mode = "preferred",
position = "auto",
scale = 1,
})
-- Env Vars
hl.env("XCURSOR_SIZE", "6")
hl.env("CLUTTER_BACKEND", "wayland")
hl.env("GDK_BACKEND", "wayland,x11,*")
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct")
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
hl.env("GDK_SCALE", "1")
hl.env("QT_SCALE_FACTOR", "1")
hl.env("MOZ_ENABLE_WAYLAND", "1")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
hl.env("ELECTRON_ARGS", "--enable-features=UseOzonePlatform --ozone-platform=wayland")
-- nvidia
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("SDL_VIDEODRIVER", "wayland")
View File
Whitespace-only changes.
+16
View File
@@ -0,0 +1,16 @@
-- Startup
hl.on("hyprland.start", function()
local cmds = {
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP",
"gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Ice",
"hyprctl setcursor Bibata-Modern-Ice 6",
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
"udiskie",
}
for i = 1, #cmds do
local cmd = cmds[i]
hl.exec_cmd(cmd)
end
end)
+13
View File
@@ -0,0 +1,13 @@
-- Visuals
hl.config({
general = {
allow_tearing = false,
resize_on_border = false,
},
misc = {
force_default_wallpaper = 0,
disable_hyprland_logo = true,
},
})
+234
View File
@@ -0,0 +1,234 @@
local function apply_window_rule(rule)
if hl.window_rule then
hl.window_rule(rule)
end
end
-- 1. Tag Assignments (Class regex -> Tag)
local tags = {
browser = {
"^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$",
"^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$",
"^(chrome-.+-Default)$",
"^([Cc]hromium)$",
"^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$",
"^([Bb]rave-browser(-beta|-dev|-unstable)?)$",
"^([Tt]horium-browser|[Cc]achy-browser)$",
"^(zen-alpha|zen|zen-browser)$",
},
notif = { "^(swaync-control-center|swaync-notification-window|swaync-client|class)$" },
terminal = { "^(ghostty|wezterm|Alacritty|kitty|Kitty)$" },
email = {
"^([Tt]hunderbird|org.mozilla.Thunderbird)$",
"^(eu.betterbird.Betterbird)$",
"^(org.gnome.Evolution)$",
},
projects = {
"^(codium|codium-url-handler|VSCodium)$",
"^(VSCode|code|code-url-handler)$",
"^(jetbrains-.+)$",
"^(dev.zed.Zed|antigravity)$",
},
screenshare = { "^(com.obsproject.Studio)$" },
im = {
"^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$",
"^([Ff]erdium)$",
"^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$",
"^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop|materialgram)$",
"^(teams-for-linux)$",
"^(im.riot.Riot|Element)$",
},
games = { "^(gamescope)$", "^(steam_app_\\d+)$" },
gamestore = { "^([Ss]team)$", "^(com.heroicgameslauncher.hgl)$" },
["file-manager"] = { "^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$", "^(app.drey.Warp)$" },
wallpaper = { "^([Ww]aytrogen)$" },
multimedia = { "^([Aa]udacious)$" },
multimedia_video = { "^([Mm]pv|vlc)$" },
settings = {
"^(wihotspot(-gui)?)$",
"^([Bb]aobab|org.gnome.[Bb]aobab)$",
"^(gnome-disks|wihotspot(-gui)?)$",
"^(file-roller|org.gnome.FileRoller)$",
"^(nm-applet|nm-connection-editor|blueman-manager)$",
"^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$",
"^(qt5ct|qt6ct|[Yy]ad|nwg-look)$",
"^(org.kde.polkit-kde-authentication-agent-1)$",
"^([Rr]ofi)$",
"^(btrfs-assistant)$",
"^(timeshift-gtk)$",
},
viewer = {
"^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$",
"^(evince|zathura)$",
"^(eog|org.gnome.Loupe|imv|imv-dir)$",
},
}
for tag, patterns in pairs(tags) do
for _, pattern in ipairs(patterns) do
apply_window_rule({ match = { class = pattern }, tag = "+" .. tag })
end
end
-- Manual Tags/Rules
apply_window_rule({ match = { xdg_tag = "^(proton-game)$" }, tag = "+games" })
apply_window_rule({ match = { title = "^([Ll]utris)$" }, tag = "+gamestore" })
apply_window_rule({ match = { title = "^(ROG Control)$" }, tag = "+settings" })
apply_window_rule({ match = { title = "(Kvantum Manager)" }, tag = "+settings" })
apply_window_rule({ match = { class = "(xdg-desktop-portal-gtk)" }, tag = "+settings" })
-- 3. Floating, Centered, and Sized Rules
local simple_rules = {
{ match = { class = "([Zz]oom|onedriver|onedriver-launcher)" }, float = true },
{ match = { class = "^(mpv|com.github.rafostar.Clapper)$" }, float = true },
{ match = { class = "^([Qq]alculate-gtk)$" }, float = true },
{ match = { title = "^(Authentication Required)$" }, float = true, center = true },
{
match = {
class = "^(xfce-polkit|mate-polkit|polkit-mate-authentication-agent-1)$",
title = "^(Authentication required|Authentication Required)$",
},
float = true,
center = true,
size = "(monitor_w*0.35) (monitor_h*0.35)",
},
{ match = { class = "(codium|codium-url-handler|VSCodium)", title = "negative:(.*codium.*|.*VSCodium.*)" }, float = true },
{ match = { class = "^(com.heroicgameslauncher.hgl)$", title = "negative:(Heroic Games Launcher)" }, float = true },
{ match = { class = "^([Ss]team)$", title = "negative:^([Ss]team)$" }, float = true },
{
match = { title = "^(Add Folder to Workspace)$" },
float = true,
center = true,
size = "(monitor_w*0.7) (monitor_h*0.6)",
},
{ match = { title = "^(Save As)$" }, float = true, center = true, size = "(monitor_w*0.7) (monitor_h*0.6)" },
{ match = { initial_title = "(Open Files)" }, float = true, size = "(monitor_w*0.7) (monitor_h*0.6)" },
{ match = { class = "^(yad)$" }, float = true, center = true, size = "(monitor_w*0.2) (monitor_h*0.2)" },
{ match = { class = "^(hyprland-donate-screen)$" }, float = true, center = true },
{ match = { class = "^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$" }, center = true },
{ match = { class = "^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$" }, center = true },
{ match = { class = "^(nm-connection-editor)$" }, center = true },
{ match = { class = "^(nm-applet)$", title = "^(Wi-Fi Network Authentication Required)$" }, center = true },
{ match = { fullscreen = true }, idle_inhibit = "fullscreen" },
{ match = { fullscreen = 1 }, idle_inhibit = "fullscreen" },
{ match = { class = ".*" }, idle_inhibit = "fullscreen" },
{ match = { title = ".*" }, idle_inhibit = "fullscreen" },
{ match = { class = "^(gedit|org.gnome.TextEditor|mousepad)$" }, opacity = "0.8 0.7" },
{ match = { class = "^(deluge)$" }, opacity = "0.9 0.8" },
{ match = { class = "^(seahorse)$" }, opacity = "0.9 0.8" },
{ match = { class = "^(jetbrains-.*)$" }, no_initial_focus = true },
{ match = { title = "^(wind.*)$" }, no_initial_focus = true },
{ match = { class = "^([Tt]hunar)$" }, workspace = 4 },
}
for _, rule in ipairs(simple_rules) do
apply_window_rule(rule)
end
-- 4. Named/Complex Rules
local special_rules = {
{
name = "Picture-in-Picture",
match = { title = "^[Pp]icture-in-[Pp]icture$" },
float = true,
move = "72% 7%",
opacity = "0.95 0.75",
pin = true,
keep_aspect_ratio = true,
size = "(monitor_w*0.3) (monitor_h*0.3)",
},
{
name = "NVIDIA Settings",
match = {
class = "^(nvidia-settings)$",
title = "^(NVIDIA Settings)$",
initial_class = "^(nvidia-settings)$",
initial_title = "^(NVIDIA Settings)$",
},
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.6)",
},
{
name = "Ferdium",
match = { class = "^([Ff]erdium)$" },
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.7)",
},
{
name = "Calculators",
match = { class = "(org.gnome.Calculator|qalculate-gtk)" },
float = true,
center = true,
size = "(monitor_w*0.55) (monitor_h*0.45)",
},
{
name = "Thunar Dialogs",
match = { class = "([Tt]hunar)", title = "negative:(.*[Tt]hunar.*)" },
float = true,
center = true,
},
{
name = "Bitwarden",
match = {
class = "^(Bitwarden)$",
title = "^(Bitwarden)$",
initial_class = "^(Bitwarden)$",
initial_title = "^(Bitwarden)$",
},
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.6)",
},
{
name = "hyprland audio panel",
match = {
class = "^(hyprpwcenter)$",
title = "^(Pipewire Control Center)$",
initial_class = "^(hyprpwcenter)$",
initial_title = "^(Pipewire Control Center)$",
},
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.6)",
},
{
name = "EasyEffects",
match = {
class = "^(com.github.wwmm.easyeffects)$",
title = "^(Easy Effects)$",
initial_class = "^(com.github.wwmm.easyeffects)$",
initial_title = "^(Easy Effects)$",
},
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.65)",
},
{
name = "Floating Terminal",
match = { title = "^(float_kitty)$" },
float = true,
center = true,
size = "(monitor_w*0.6) (monitor_h*0.6)",
},
}
for _, rule in ipairs(special_rules) do
apply_window_rule(rule)
end
-- 5. Layer Rules
local layer_rules = {
{ match = { namespace = "hyprpicker" }, no_anim = true },
{ match = { namespace = "selection" }, no_anim = true },
{ match = { namespace = "noanim" }, no_anim = true },
{ match = { namespace = "fabric" }, no_anim = true },
{ match = { namespace = "gtk-layer-shell" }, ignore_alpha = 0 },
}
for _, rule in ipairs(layer_rules) do
if hl.layer_rule then
hl.layer_rule(rule)
end
end
+14
View File
@@ -0,0 +1,14 @@
require("configs.monitor_and_env")
require("configs.visuals")
-- require("configs.animations")
require("configs.keybinds")
require("configs.windowrules")
require("configs.startup_apps")
require("configs.misc")
dofile("/home/sankalp/.config/Modus/config/hypr/modus.lua")
hl.on("hyprland.start", function()
hl.exec_cmd("uwsm app -- $(python /home/sankalp/.config/Modus/main.py)")
end)
File renamed without changes.
File renamed without changes.
File renamed without changes.
+4 -8
View File
@@ -31,8 +31,8 @@ input_path = "~/.config/matugen/templates/qtct-colors.conf"
output_path = "~/.config/qt6ct/colors/matugen.conf"
[templates.hyprland]
input_path = "~/mine/config/matugen/templates/hyprland-colors.conf"
output_path = "~/mine/config/hypr/colors.conf"
input_path = "~/.config/Modus/config/matugen/templates/hyprland-colors.lua"
output_path = "~/.config/Modus/config/hypr/colors.lua"
[templates.kitty]
input_path = "~/.config/matugen/templates/kitty-colors.conf"
@@ -47,10 +47,6 @@ output_path = "~/.config/telegram-desktop/themes/material-you.tdesktop-theme"
input_path = "~/.config/matugen/templates/discord.css"
output_path = "~/.config/vesktop/themes/quickCss.css"
[templates.cava]
input_path = "~/.config/matugen/templates/cava"
output_path = "~/.config/cava/config"
[templates.yazi]
input_path = "~/.config/matugen/templates/colors-yazi.toml"
output_path = "~/.config/yazi/theme.toml"
@@ -65,8 +61,8 @@ output_path = "~/.config/Modus/styles/colors.css"
post_hook = "fabric-cli exec modus 'app.set_css()' &"
[templates.modus1]
input_path = "~/mine/config/matugen/templates/modus.css"
output_path = "~/mine/styles/colors.css"
input_path = "~/Projects/dev/new-modus/config/matugen/templates/modus.css"
output_path = "~/Projects/dev/new-modus/src/shared/styles/colors.css"
post_hook = "fabric-cli exec modus1 'app.set_css()' &"
[config.custom_colors.red]