mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 08:28:11 +09:00
nwg-drawer
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
{ lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
nwgDrawer = lib.getExe pkgs.nwg-drawer;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.nwg-drawer ];
|
||||||
|
|
||||||
|
# Keep the application grid resident so touchpad gestures can show it
|
||||||
|
# immediately instead of rebuilding the desktop-entry cache each time.
|
||||||
|
systemd.user.services.nwg-drawer = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Resident nwg-drawer application grid";
|
||||||
|
Documentation = [ "https://github.com/nwg-piotr/nwg-drawer" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
# Use niri's spawn action when available; nwg-drawer falls back to a
|
||||||
|
# direct launch under labwc.
|
||||||
|
ExecStart = "${nwgDrawer} -r -ovl -wm niri -closebtn right -fm nautilus -term ghostty";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
description = "Full-screen Wayland application drawer";
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
"applications.gtk"
|
"applications.gtk"
|
||||||
"applications.nautilus"
|
"applications.nautilus"
|
||||||
"hardwares.graphics"
|
"hardwares.graphics"
|
||||||
|
"services.fusuma"
|
||||||
"systems.audio"
|
"systems.audio"
|
||||||
"systems.fonts"
|
"systems.fonts"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
{ lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
fusuma = lib.getExe pkgs.fusuma;
|
||||||
|
nwgDrawer = lib.getExe pkgs.nwg-drawer;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.fusuma ];
|
||||||
|
|
||||||
|
xdg.configFile."fusuma/config.yml".text = ''
|
||||||
|
pinch:
|
||||||
|
4:
|
||||||
|
in:
|
||||||
|
command: "${nwgDrawer} -open"
|
||||||
|
out:
|
||||||
|
command: "${nwgDrawer} -close"
|
||||||
|
|
||||||
|
threshold:
|
||||||
|
pinch: 0.5
|
||||||
|
|
||||||
|
interval:
|
||||||
|
pinch: 0.5
|
||||||
|
'';
|
||||||
|
|
||||||
|
systemd.user.services.fusuma = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Fusuma multitouch gesture recognizer";
|
||||||
|
Documentation = [ "https://github.com/iberianpig/fusuma" ];
|
||||||
|
Requires = [ "nwg-drawer.service" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [
|
||||||
|
"graphical-session.target"
|
||||||
|
"nwg-drawer.service"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = fusuma;
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
description = "Touchpad gesture recognition for Wayland sessions";
|
||||||
|
|
||||||
|
includes = [ "applications.nwg-drawer" ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{ primaryUser, ... }:
|
||||||
|
{
|
||||||
|
# Fusuma reads raw touchpad events through libinput.
|
||||||
|
users.users.${primaryUser}.extraGroups = [ "input" ];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user