feat(wl-kbptr): package wl-kbptr for NixOS as home module
This commit is contained in:
@@ -19,6 +19,7 @@ in {
|
||||
./swaync.nix
|
||||
./theme.nix
|
||||
./waybar.nix
|
||||
./wl-kbptr.nix
|
||||
./wlr-which-key.nix
|
||||
./wlsunset.nix
|
||||
];
|
||||
|
||||
37
users/modules/desktop/wl-kbptr.nix
Normal file
37
users/modules/desktop/wl-kbptr.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
configDir = config.xdg.configHome;
|
||||
cfg = config.home.desktop.wl-kbptr;
|
||||
iniFormat = pkgs.formats.ini {};
|
||||
in {
|
||||
options.home.desktop.wl-kbptr = {
|
||||
enable = mkEnableOption "enable wl-kbptr";
|
||||
config = mkOption {
|
||||
inherit (iniFormat) type;
|
||||
default = {};
|
||||
description = ''
|
||||
Options to add to the {file}`config` file. See
|
||||
<https://github.com/moverest/wl-kbptr/blob/main/config.example>
|
||||
for options.
|
||||
'';
|
||||
example = {
|
||||
general = {
|
||||
home_row_keys = "abcd";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home = {
|
||||
packages = [pkgs.wl-kbptr];
|
||||
file."${configDir}/wl-kbptr/config" = mkIf (cfg.config != {}) {
|
||||
source = iniFormat.generate "wl-kbptr-config" cfg.config;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -139,6 +139,17 @@
|
||||
enable = true;
|
||||
spicetify.enable = true;
|
||||
};
|
||||
wl-kbptr = {
|
||||
enable = true;
|
||||
config = {
|
||||
general = {
|
||||
# first eight chars to select areas, last three chars
|
||||
# for left, right, middle click
|
||||
home_row_keys = "auiectsrtsr";
|
||||
modes = "tile,bisect";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
dev = {
|
||||
ai.claude.enable = true;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config.home.desktop.wlr-which-key.settings = {
|
||||
@@ -27,7 +28,8 @@
|
||||
logout = import ./logout.nix {inherit pkgs;};
|
||||
ytplay = import ../../modules/cli/scripts/ytplay.nix {inherit pkgs;};
|
||||
plock = import ../../modules/cli/scripts/plock.nix {inherit pkgs;};
|
||||
in [
|
||||
in
|
||||
[
|
||||
{
|
||||
key = "a";
|
||||
desc = "Apps";
|
||||
@@ -238,6 +240,11 @@
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
]
|
||||
++ lib.lists.optional config.home.desktop.wl-kbptr.enable {
|
||||
key = "m";
|
||||
desc = "Mouse Warp";
|
||||
cmd = "wl-kbptr";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user