update hyprland and nocatalia config

This commit is contained in:
Thomas
2026-08-21 23:18:35 +02:00
parent aa484bc634
commit 813b27aa96
11 changed files with 245 additions and 72 deletions
+1 -1
View File
@@ -1 +1 @@
--theme="Catppuccin Macchiato" --theme=noctalia
+1 -1
View File
@@ -1 +1 @@
-- User-specific keybindings. Loaded after hyprland/keybinds.lua. -- User-specific keybinds. Loaded after hyprland/keybinds.lua.
+3 -1
View File
@@ -1,4 +1,6 @@
-- User-specific monitor overrides. Loaded after hyprland/monitors.lua. -- User-specific monitor overrides. Loaded after hyprland/monitors.lua.
hl.monitor({ output = "eDP-1", mode = "2256x1504@60", position = "auto", scale = 1.33, bitdepth = 10, vrr = 1 }) hl.monitor({ output = "eDP-1", mode = "2256x1504@60", position = "auto", scale = 1.33, bitdepth = 10, vrr = 1 })
hl.monitor({ output = "DP-3", mode = "3440x1440@99", position = "auto", scale = 1, bitdepth = 10, vrr = 1 }) hl.monitor({ output = "DP-3", mode = "3440x1440@99", position = "auto", scale = 1, bitdepth = 10, vrr = 1 })
hl.monitor({ output = "DP-4", mode = "4096x2160@120", position = "auto", scale = 1.33, bitdepth = 10, vrr = 1 })
+2 -1
View File
@@ -1 +1,2 @@
-- User-specific window rules. Loaded after hyprland/windowrules.lua. -- User-specific windowrules. Loaded after hyprland/windowrules.lua.
require("custom/windowrules/godot")
+51
View File
@@ -0,0 +1,51 @@
-- Godot application windowrules --
hl.window_rule({
name = "Resize Godot confirmation dialogs",
match = {
class = "org.godotengine.Editor",
float = true,
},
size = { "monitor_w * 0.15", "monitor_h * 0.1" },
center = true,
})
hl.window_rule({
name = "Resize New node dialog",
match = {
class = "org.godotengine.Editor",
title = "Créer un nouveau Node",
},
size = { 1000, 750 },
})
hl.window_rule({
name = "Resize Region edit dialog",
match = {
class = "org.godotengine.Editor",
title = "Éditeur de régions",
},
size = { 1500, 1000 },
})
hl.window_rule({
name = "Resize Region edit dialog",
match = {
class = "org.godotengine.Editor",
title = "Sélectionner une scène",
},
size = { 550, 450 },
})
hl.window_rule({
name = "Floating DEBUG window",
match = {
class = "org.godotengine.Editor",
title = ".*DEBUG.*",
},
size = { 1280, 720 },
float = true,
center = true,
})
+3
View File
@@ -28,3 +28,6 @@ require("custom/windowrules")
-- Noctalia generates a hyprlang colours file; load it last so it overrides above. -- Noctalia generates a hyprlang colours file; load it last so it overrides above.
-- dofile() because it is a .conf, not a Lua module. -- dofile() because it is a .conf, not a Lua module.
-- dofile(os.getenv("HOME") .. "/.config/hypr/noctalia/noctalia-colors.conf") -- dofile(os.getenv("HOME") .. "/.config/hypr/noctalia/noctalia-colors.conf")
-- For Noctalia Color templates
require("noctalia")
+1 -1
View File
@@ -2,5 +2,5 @@
-- Shared defaults — do not edit. Add user-specific autostart in custom/autostart.lua. -- Shared defaults — do not edit. Add user-specific autostart in custom/autostart.lua.
hl.on("hyprland.start", function() hl.on("hyprland.start", function()
hl.exec_cmd("qs -c noctalia-shell") hl.exec_cmd("noctalia")
end) end)
+57 -41
View File
@@ -1,80 +1,96 @@
-- https://wiki.hypr.land/Configuring/Binds/ -- https://wiki.hypr.land/Configuring/Binds/
-- Shared defaults — do not edit. Add user-specific keybindings in custom/keybinds.lua. -- Shared defaults — do not edit. Add user-specific keybindings in custom/keybinds.lua.
local mainMod = "SUPER" local mainMod = "SUPER"
local terminal = "kitty" local terminal = "kitty"
local fileMgr = "nautilus" local fileMgr = "nautilus"
local ipc = "qs -c noctalia-shell ipc call" local ipc = "noctalia msg"
hl.bind("CTRL + ALT + T", hl.dsp.exec_cmd(terminal)) hl.bind("CTRL + ALT + T", hl.dsp.exec_cmd(terminal))
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd(ipc .. " launcher toggle")) hl.bind(mainMod .. " + C", hl.dsp.window.close())
hl.bind(mainMod .. " + C", hl.dsp.window.close()) hl.bind(mainMod .. " + M", hl.dsp.exit())
hl.bind(mainMod .. " + M", hl.dsp.exit()) hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileMgr))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileMgr)) hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" })) hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ mode = "maximized", state = "toggle" }))
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ state = "toggle" })) hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo()) hl.bind(mainMod .. " + U", hl.dsp.layout("togglesplit"))
hl.bind(mainMod .. " + U", hl.dsp.layout("togglesplit")) hl.bind(mainMod .. " + H", hl.dsp.layout("swapsplit"))
hl.bind(mainMod .. " + H", hl.dsp.layout("swapsplit"))
-- Focus: arrow keys + IJKL -- Focus: arrow keys + IJKL
for _, m in ipairs({ for _, m in ipairs({
{ "left", "l" }, { "right", "r" }, { "up", "u" }, { "down", "d" }, { "left", "l" },
{ "J", "l" }, { "L", "r" }, { "I", "u" }, { "K", "d" }, { "right", "r" },
{ "up", "u" },
{ "down", "d" },
{ "J", "l" },
{ "L", "r" },
{ "I", "u" },
{ "K", "d" },
}) do }) do
hl.bind(mainMod .. " + " .. m[1], hl.dsp.focus({ direction = m[2] })) hl.bind(mainMod .. " + " .. m[1], hl.dsp.focus({ direction = m[2] }))
end end
-- Workspaces 1..10: digit + AZERTY keysym, plus SHIFT to move active window -- Workspaces 1..10: digit + AZERTY keysym, plus SHIFT to move active window
local azerty = { local azerty = {
"ampersand", "eacute", "quotedbl", "apostrophe", "parenleft", "ampersand",
"minus", "egrave", "underscore", "ccedilla", "agrave", "eacute",
"quotedbl",
"apostrophe",
"parenleft",
"minus",
"egrave",
"underscore",
"ccedilla",
"agrave",
} }
for i = 1, 10 do for i = 1, 10 do
local digit = (i == 10) and "0" or tostring(i) local digit = (i == 10) and "0" or tostring(i)
hl.bind(mainMod .. " + " .. digit, hl.dsp.focus({ workspace = i })) hl.bind(mainMod .. " + " .. digit, hl.dsp.focus({ workspace = i }))
hl.bind(mainMod .. " + " .. azerty[i], hl.dsp.focus({ workspace = i })) hl.bind(mainMod .. " + " .. azerty[i], hl.dsp.focus({ workspace = i }))
hl.bind(mainMod .. " + SHIFT + " .. azerty[i], hl.dsp.window.move({ workspace = i })) hl.bind(mainMod .. " + SHIFT + " .. azerty[i], hl.dsp.window.move({ workspace = i }))
end end
-- Mouse scroll between workspaces -- Mouse scroll between workspaces
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" })) hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" })) hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
-- Mouse drag / resize -- Mouse drag / resize
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true }) hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Volume / brightness -- Volume / brightness
for _, b in ipairs({ for _, b in ipairs({
{ "XF86AudioRaiseVolume", "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" }, { "XF86AudioRaiseVolume", "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" },
{ "XF86AudioLowerVolume", "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" }, { "XF86AudioLowerVolume", "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" },
{ "XF86AudioMute", "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" }, { "XF86AudioMute", "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" },
{ "XF86AudioMicMute", "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" }, { "XF86AudioMicMute", "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" },
{ "XF86MonBrightnessUp", "brightnessctl -e4 -n2 set 5%+" }, { "XF86MonBrightnessUp", "brightnessctl -e4 -n2 set 5%+" },
{ "XF86MonBrightnessDown", "brightnessctl -e4 -n2 set 5%-" }, { "XF86MonBrightnessDown", "brightnessctl -e4 -n2 set 5%-" },
}) do }) do
hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true, repeating = true }) hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true, repeating = true })
end end
-- Media player -- Media player
for _, b in ipairs({ for _, b in ipairs({
{ "XF86AudioNext", "playerctl next" }, { "XF86AudioNext", "playerctl next" },
{ "XF86AudioPause", "playerctl play-pause" }, { "XF86AudioPause", "playerctl play-pause" },
{ "XF86AudioPlay", "playerctl play-pause" }, { "XF86AudioPlay", "playerctl play-pause" },
{ "XF86AudioPrev", "playerctl previous" }, { "XF86AudioPrev", "playerctl previous" },
}) do }) do
hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true }) hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true })
end end
-- Screenshot -- Screenshot
hl.bind("Print", hl.dsp.exec_cmd("hyprshot -m region"), { locked = true }) hl.bind("Print", hl.dsp.exec_cmd("hyprshot -m region"), { locked = true })
hl.bind("CTRL + Print", hl.dsp.exec_cmd("hyprshot -m output -m active"), { locked = true }) hl.bind("CTRL + Print", hl.dsp.exec_cmd("hyprshot -m output -m active"), { locked = true })
hl.bind("XF86Calculator", hl.dsp.exec_cmd("gnome-calculator")) hl.bind("XF86Calculator", hl.dsp.exec_cmd("gnome-calculator"))
-- Noctalia IPC -- Noctalia IPC
hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(ipc .. " darkMode toggle")) hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd(ipc .. " panel-toggle launcher"))
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(ipc .. " wallpaper toggle")) hl.bind(mainMod .. " + S", hl.dsp.exec_cmd(ipc .. " panel-toggle control-center"))
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.exec_cmd(ipc .. " lockScreen lock")) hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(ipc .. " theme-mode-toggle"))
hl.bind("switch:Lid Switch", hl.dsp.exec_cmd(ipc .. " lockScreen lock"), { locked = true }) hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(ipc .. " panel-toggle wallpaper"))
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.exec_cmd(ipc .. " session lock"))
hl.bind("switch:Lid Switch", hl.dsp.exec_cmd(ipc .. " session lock"), { locked = true })
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(ipc .. " plugin noctalia/screen_recorder:service all toggle"))
+25 -25
View File
@@ -2,41 +2,41 @@
-- Shared defaults — do not edit. Add user-specific window rules in custom/windowrules.lua. -- Shared defaults — do not edit. Add user-specific window rules in custom/windowrules.lua.
hl.window_rule({ hl.window_rule({
name = "floating-window", name = "floating-window",
match = { class = "(Imprimer l'image|org.gnome.Calculator|org.gnome.Loupe)" }, match = { class = "(Imprimer l'image|org.gnome.Calculator|org.gnome.Loupe)" },
float = true, float = true,
}) })
hl.window_rule({ hl.window_rule({
name = "kitty-term", name = "kitty-term",
match = { class = "kitty" }, match = { class = "kitty" },
size = "(monitor_w*0.50) (monitor_h*0.47)", size = "(monitor_w*0.50) (monitor_h*0.47)",
float = true, float = true,
center = true, center = true,
}) })
hl.window_rule({ hl.window_rule({
name = "floating-messages", name = "floating-messages",
match = { class = "(signal|org.telegram.desktop)" }, match = { class = "(signal|org.telegram.desktop)" },
size = "(monitor_w*0.27) (monitor_h*0.7)", size = "(monitor_w*0.25) (monitor_h*0.7)",
move = "(monitor_w*0.70) (monitor_h*0.15)", move = "(monitor_w*0.72) (monitor_h*0.15)",
float = true, float = true,
pin = true, pin = true,
}) })
hl.window_rule({ hl.window_rule({
name = "filesystems", name = "filesystems",
match = { class = "DevTools|Tous les fichiers|org.gnome.Nautilus" }, match = { class = "DevTools|Tous les fichiers|org.gnome.Nautilus" },
float = true, float = true,
center = true, center = true,
size = "(monitor_w*0.48) (monitor_h*0.5)", size = "(monitor_w*0.48) (monitor_h*0.5)",
}) })
hl.window_rule({ hl.window_rule({
name = "pip", name = "pip",
match = { class = "zen", title = "Picture-in-Picture" }, match = { class = "zen", title = "Picture-in-Picture" },
center = true, center = true,
size = "1280 720", size = "1280 720",
float = true, float = true,
pin = true, pin = true,
}) })
+101
View File
@@ -7,6 +7,107 @@
// custom settings, run `zed: open default settings` from the // custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p) // command palette (cmd-shift-p / ctrl-shift-p)
{ {
"context_servers": {
"Vuetify": {
"enabled": true,
"url": "https://mcp.vuetifyjs.com/mcp"
},
"Nuxt": {
"enabled": true,
"url": "https://nuxt.com/mcp"
},
"Obsidian vault": {
"enabled": true,
"url": "https://obsidian-mcp.thomas-philippot.dev/mcp",
"headers": {
"Authorization": "Bearer LxFYd1G2EgrTVa3jod4lxjNJhfZKkhZNVEQkk909j3E"
}
},
"mcp-server-brave-search": {
"enabled": true,
"remote": false,
"settings": {
"brave_api_key": "BSA0XaLBu6taYBZNnX10FpRJsAS4xE2"
}
},
"mcp-server-github": {
"enabled": true,
"remote": false,
"settings": {
"github_personal_access_token": "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"
}
}
},
"agent": {
"tool_permissions": {
"tools": {
"mcp:Obsidian vault:vault_edit": {
"default": "allow"
},
"mcp:Obsidian vault:vault_create": {
"default": "allow"
},
"terminal": {
"always_allow": [
{
"pattern": "^cat\\s+\\~/Projects/Code/legacy-v4-plugins/git-companion/BarWidget\\.qml(\\s|$)"
},
{
"pattern": "^find\\s+De-Vanced/patches/src/main/kotlin(\\s|$)"
},
{
"pattern": "^grep\\b"
},
{
"pattern": "^sort\\b"
}
]
}
}
},
"default_model": {
"provider": "ollama",
"model": "glm-5.2:cloud",
"enable_thinking": true
},
"favorite_models": [
{
"provider": "ollama",
"model": "gemma4:31b-cloud",
"enable_thinking": true
}
],
"model_parameters": []
},
"language_models": {
"anthropic_compatible": {
},
"openai_compatible": {
"Hermes": {
"api_url": "https://hermes.thomas-philippot.dev/v1",
"available_models": [
{
"name": "hermes-agent",
"max_tokens": 32768,
"max_output_tokens": 200000,
"max_completion_tokens": 200000,
"capabilities": {
"tools": true,
"images": true,
"parallel_tool_calls": false,
"prompt_cache_key": false,
"chat_completions": true,
"interleaved_reasoning": false
}
}
]
}
},
"ollama": {
"api_url": "http://localhost:11434"
}
},
"git": { "git": {
"inline_blame": { "inline_blame": {
"show_commit_summary": false, "show_commit_summary": false,
-1
View File
@@ -11,7 +11,6 @@ export FZF_DEFAULT_OPTS=" \
--color=selected-bg:#494D64 \ --color=selected-bg:#494D64 \
--color=border:#6E738D,label:#CAD3F5" --color=border:#6E738D,label:#CAD3F5"
# Set name of the theme to load --- if set to "random", it will # Set name of the theme to load --- if set to "random", it will
# load a random theme each time Oh My Zsh is loaded, in which case, # load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME # to know which specific one was loaded, run: echo $RANDOM_THEME