feat: finish migrate

This commit is contained in:
2026-06-14 18:20:19 +02:00
parent 04a5d8919c
commit dce3c77a29
24 changed files with 92 additions and 200 deletions
-2
View File
@@ -12,8 +12,6 @@ For my neovim config, see [here](https://git.janishutz.com/janishutz/nvim)
## Features ## Features
- DankMaterialShell - DankMaterialShell
- `hyprlauncher` for the app launcher
- Wlogout config
- Automatically generated GTK Theme and theming of the rest of the desktop using `matugen` - Automatically generated GTK Theme and theming of the rest of the desktop using `matugen`
- Fish config (with some handy aliases, based on one from ohh-my-fish) - Fish config (with some handy aliases, based on one from ohh-my-fish)
- Fastfetch config - Fastfetch config
+7 -10
View File
@@ -1,17 +1,14 @@
# TODOs # TODOs
- [ ] Notifications management via dms - [X] Notifications management via dms
- [ ] Launcher via dms - [X] Launcher via dms
- [ ] DMS screenshots - [X] DMS screenshots
- [ ] Hyprland theming using mutagen with dms integration - [ ] Hyprland theming using mutagen with dms integration
- [ ] Copy the DMS configs here
- [ ] DMS config sync to here using script - [ ] DMS config sync to here using script
- [ ] Binds for other DMS features (with subcommand) - [X] Binds for other DMS features (with subcommand)
- [ ] Finish decman config - [X] Finish decman config
- [ ] Remove wlogout and replace with dms setup - [X] Remove wlogout and replace with dms setup
- [ ] Yazi theming - [ ] Yazi theming
- [ ] Kitty theming - [X] Kitty theming
- [ ] Fish theming - [ ] Fish theming
- [ ] Fastfetch theming - [ ] Fastfetch theming
- [ ] DMS instead of Hyprlock for locker? - [ ] DMS instead of Hyprlock for locker?
- [ ] Zathura theming possible?
- [ ] Librewolf theme
+1 -1
View File
@@ -24,7 +24,7 @@ require("hyprland.core.misc")
require("hyprland.core.style") require("hyprland.core.style")
-- Binds -- Binds
require("hyprland.binds.device")(laptop_config) require("hyprland.binds.device")
require("hyprland.binds.groups") require("hyprland.binds.groups")
require("hyprland.binds.launch") require("hyprland.binds.launch")
require("hyprland.binds.main") require("hyprland.binds.main")
+48 -49
View File
@@ -1,50 +1,49 @@
return function(is_laptop) local function exit_submap()
local function exit_submap() hl.dispatch(hl.dsp.submap("reset"))
hl.dispatch(hl.dsp.submap("reset"))
end
hl.define_submap("device", function()
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
exit_submap()
end)
if is_laptop then
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Set to mirror internal display' --app-name'Hyprctl'"))
hl.monitor({
output = "HDMI-A-1",
mirror = "eDP-1",
})
exit_submap()
end)
hl.bind("e", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Set to expand internal display' --app-name'Hyprctl'"))
hl.monitor({
output = "HDMI-A-1",
mirror = "",
})
exit_submap()
end)
end
hl.bind("Shift + T", function ()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = false
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'"))
end)
hl.bind("T", function ()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'"))
end)
hl.bind("Escape", function()
exit_submap()
end)
end)
end end
hl.define_submap("device", function()
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
exit_submap()
end)
-- Touchpad
hl.bind("Shift + T", function()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = false,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'"))
end)
hl.bind("T", function()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'"))
end)
-- ── DMS controls ─────────────────────────────────────────────────
-- clipboard history
hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
exit_submap()
end)
-- Dash
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dash toggle"))
exit_submap()
end)
-- Settings
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call settings toggle"))
exit_submap()
end)
hl.bind("Escape", function()
exit_submap()
end)
end)
+5 -2
View File
@@ -5,5 +5,8 @@ hl.bind("Super + G", hl.dsp.submap("groups"))
hl.bind("Super + S", hl.dsp.submap("screenshot")) hl.bind("Super + S", hl.dsp.submap("screenshot"))
hl.bind("Super + W", hl.dsp.submap("window")) hl.bind("Super + W", hl.dsp.submap("window"))
hl.bind("Super + A", hl.dsp.submap("workspace")) hl.bind("Super + A", hl.dsp.submap("workspace"))
hl.bind("Super + Space", hl.dsp.exec_cmd("hyprlauncher"))
hl.bind("Super + Escape", hl.dsp.exec_cmd("wlogout")) hl.bind("Super + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind("Super + Escape", hl.dsp.exec_cmd("dms ipc call powermenu open"))
hl.bind("Super + I", hl.dsp.exec_cmd("dms ipc call control-center open"))
hl.bind("Super + ?", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"))
+10 -5
View File
@@ -4,27 +4,32 @@ end
hl.define_submap("notifications", function() hl.define_submap("notifications", function()
hl.bind("c", function() hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("swaync-client --hide-all")) hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications dismissAllPopups"))
exit_submap() exit_submap()
end) end)
hl.bind("d", function() hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("swaync-client --clear-all")) hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications clearAll"))
exit_submap()
end)
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggleDoNotDisturb"))
exit_submap() exit_submap()
end) end)
hl.bind("h", function() hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("swaync-client -cp")) hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications close"))
exit_submap() exit_submap()
end) end)
hl.bind("s", function() hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("swaync-client -op")) hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications open"))
exit_submap() exit_submap()
end) end)
hl.bind("t", function() hl.bind("t", function()
hl.dispatch(hl.dsp.exec_cmd("swaync-client -t")) hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggle"))
exit_submap() exit_submap()
end) end)
+6 -6
View File
@@ -4,32 +4,32 @@ end
hl.define_submap("screenshot", function() hl.define_submap("screenshot", function()
hl.bind("y", function() hl.bind("y", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copy area")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-file"))
exit_submap() exit_submap()
end) end)
hl.bind("c", function() hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copysave area")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot"))
exit_submap() exit_submap()
end) end)
hl.bind("s", function() hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify save area")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-copy"))
exit_submap() exit_submap()
end) end)
hl.bind("Shift + y", function() hl.bind("Shift + y", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copy screen")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-file"))
exit_submap() exit_submap()
end) end)
hl.bind("Shift + c", function() hl.bind("Shift + c", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copysave screen")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot full"))
exit_submap() exit_submap()
end) end)
hl.bind("Shift + s", function() hl.bind("Shift + s", function()
hl.dispatch(hl.dsp.exec_cmd("grimblast --notify save screen")) hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-copy"))
exit_submap() exit_submap()
end) end)
@@ -23,12 +23,6 @@ hl.window_rule({
}, },
fullscreen = true, fullscreen = true,
}) })
hl.window_rule({
match = {
class = "wlogout",
},
fullscreen = true,
})
-- Termfilechooser -- Termfilechooser
hl.window_rule({ hl.window_rule({
+2
View File
@@ -3,6 +3,8 @@
# │ Kitty Config │ # │ Kitty Config │
# ╰────────────────────────────────────────────────╯ # ╰────────────────────────────────────────────────╯
# ──────────────────────────────────────────────────────────────────── # ────────────────────────────────────────────────────────────────────
include dank-tabs.conf
include dank-theme.conf
# ┌ ┐ # ┌ ┐
-12
View File
@@ -8,15 +8,3 @@ output_path = '~/.config/hypr/hyprland/colors.lua'
[templates.hyprlock] [templates.hyprlock]
input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf' input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf'
output_path = '~/.config/hypr/hyprlock/colors.conf' output_path = '~/.config/hypr/hyprlock/colors.conf'
# [templates.gtk3]
# input_path = '~/.config/matugen/templates/gtk-3.0/gtk.css'
# output_path = '~/.config/gtk-3.0/gtk.css'
#
# [templates.gtk4]
# input_path = '~/.config/matugen/templates/gtk-4.0/gtk.css'
# output_path = '~/.config/gtk-4.0/gtk.css'
#
# [templates.wlogout]
# input_path = '~/.config/matugen/templates/wlogout/style.css'
# output_path = '~/.config/wlogout/style.css'
@@ -1,66 +0,0 @@
/*
* ╭───────────────────────────────────────────────╮
* │ WLOGOUT │
* ╰───────────────────────────────────────────────╯
*/
window {
font-family: monospace;
font-size: 14pt;
color: {{colors.on_background.default.hex}}; /* text */
background-color: {{colors.primary.background.hex}}60;
}
button {
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
border: none;
background-color: transparent;
margin: 5px;
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
border-radius: 40px;
}
button:hover {
background-color: {{colors.primary.default.hex}};
}
button:focus {
background-color: {{colors.primary.default.hex}}80;
color: {{colors.on_primary.default.hex}};
}
#lock {
background-image: image(url("./lock.png"));
}
#lock:focus {
background-image: image(url("./lock-hover.png"));
}
#logout {
background-image: image(url("./logout.png"));
}
#logout:focus {
background-image: image(url("./logout-hover.png"));
}
#suspend {
background-image: image(url("./sleep.png"));
}
#suspend:focus {
background-image: image(url("./sleep-hover.png"));
}
#shutdown {
background-image: image(url("./power.png"));
}
#shutdown:focus {
background-image: image(url("./power-hover.png"));
}
#reboot {
background-image: image(url("./restart.png"));
}
#reboot:focus {
background-image: image(url("./restart-hover.png"));
}
-30
View File
@@ -1,30 +0,0 @@
{
"label" : "lock",
"action" : "hyprlock",
"text" : "Lock",
"keybind" : "l"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"text" : "Reboot",
"keybind" : "r"
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "logout",
"action" : "hyprctl dispatch exit 0",
"text" : "Logout",
"keybind" : "e"
}
{
"label" : "suspend",
"action" : "systemctl suspend",
"text" : "Suspend",
"keybind" : "u"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

+12 -10
View File
@@ -42,13 +42,15 @@ class Latex(decman.Module):
} }
def on_enable(self, store: decman.Store): def on_enable(self, store: decman.Store):
decman.prg( out = decman.prg(["cd ~/projects/latex/"], user=self._user)
[ if out == "":
"cd", decman.prg(
"~/projects/", [
"git", "cd",
"clone", "~/projects/",
"https://git.janishutz.com/janishutz/latex", "git",
], "clone",
user=self._user, "https://git.janishutz.com/janishutz/latex",
) ],
user=self._user,
)
+1 -1
View File
@@ -10,7 +10,7 @@ class DesktopShell(decman.Module):
@pacman.packages @pacman.packages
def pkgs(self) -> set[str]: def pkgs(self) -> set[str]:
return {"dms-shell", "cava", "matugen"} return {"dms-shell", "cava", "matugen", "papirus-icon-theme", "adw-gtk-theme"}
# TODO: Copy the config of dms, once done # TODO: Copy the config of dms, once done
def directories(self) -> dict[str, decman.Directory]: def directories(self) -> dict[str, decman.Directory]: