nixos: gen 169 @ nix-pad — 2026-07-30 23:55
26.05.20260724.597283a (Yarara) on screen keyboard via wvkbd
This commit is contained in:
Generated
+18
-1
@@ -188,7 +188,24 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"wvkbd-src": "wvkbd-src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wvkbd-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784927765,
|
||||||
|
"narHash": "sha256-Et1k3M8L/r5WnoNOuiCzVVgJrpXtWSbIUI+2/njiwj0=",
|
||||||
|
"owner": "jjsullivan5196",
|
||||||
|
"repo": "wvkbd",
|
||||||
|
"rev": "6b41504a0cb58fd1163fa44692398fbd61f8905f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "jjsullivan5196",
|
||||||
|
"repo": "wvkbd",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
|
|||||||
@@ -11,6 +11,11 @@
|
|||||||
|
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
|
|
||||||
|
wvkbd-src = {
|
||||||
|
url = "github:jjsullivan5196/wvkbd";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
dms-plugin-registry = {
|
dms-plugin-registry = {
|
||||||
url = "github:AvengeMedia/dms-plugin-registry";
|
url = "github:AvengeMedia/dms-plugin-registry";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -22,7 +27,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, niri, dms-plugin-registry, danksearch, ... }@inputs: {
|
outputs = { nixpkgs, home-manager, niri, dms-plugin-registry, danksearch, wvkbd-src, ... }@inputs: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
thinkpad = nixpkgs.lib.nixosSystem {
|
thinkpad = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|||||||
+8
-13
@@ -14,28 +14,23 @@ let
|
|||||||
-g "3,UD,*,*,P,niri msg action focus-workspace-up && sleep 0.4" \
|
-g "3,UD,*,*,P,niri msg action focus-workspace-up && sleep 0.4" \
|
||||||
-g "3,DU,*,*,P,niri msg action focus-workspace-down && sleep 0.4" \
|
-g "3,DU,*,*,P,niri msg action focus-workspace-down && sleep 0.4" \
|
||||||
-g "4,DU,*,*,P,dms ipc spotlight toggle && sleep 0.4"
|
-g "4,DU,*,*,P,dms ipc spotlight toggle && sleep 0.4"
|
||||||
|
-g "2,DU,B,*,pkill -RTMIN wvkbd-mobintl"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
launch-wvkbd = pkgs.writeShellScriptBin "launch-wvkbd" ''
|
launch-wvkbd = pkgs.writeShellScriptBin "launch-wvkbd" ''
|
||||||
# Adjust this path to wherever dank-material-shell drops its color file
|
|
||||||
THEME_CACHE="$HOME/.cache/DankMaterialShell/dms-colors.json"
|
THEME_CACHE="$HOME/.cache/DankMaterialShell/dms-colors.json"
|
||||||
|
|
||||||
if [ -f "$THEME_CACHE" ]; then
|
if [ -f "$THEME_CACHE" ]; then
|
||||||
# Parse hex tokens directly out of the active shell profile
|
BG=$(jq -r '.["colors"]["dark"]["background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
BG=$(jq -r '.colors.surface' "$THEME_CACHE")
|
FG=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||||
FG=$(jq -r '.colors.surface_container' "$THEME_CACHE")
|
TXT=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
TXT=$(jq -r '.colors.on_surface' "$THEME_CACHE")
|
PRIMARY=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||||
PRIMARY=$(jq -r '.colors.primary' "$THEME_CACHE")
|
ON_PRIMARY=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
ON_PRIMARY=$(jq -r '.colors.on_primary' "$THEME_CACHE")
|
|
||||||
|
|
||||||
${pkgs.wvkbd}/bin/wvkbd-mobintl --layer overlay --hidden \
|
wvkbd-mobintl --hidden --bg "$BG" --press "$BG" --fg "$FG" --text "$TXT" --fg-sp "$PRIMARY" --text-sp "$ON_PRIMARY" -L 300
|
||||||
--bg "$BG" --fg "$FG" --text "$TXT" \
|
|
||||||
--fg-sp "$PRIMARY" --text-sp "$ON_PRIMARY" \
|
|
||||||
-L 300
|
|
||||||
else
|
else
|
||||||
# Default fallback if the shell cache isn't built yet
|
wvkbd-mobintl --hidden
|
||||||
${pkgs.wvkbd}/bin/wvkbd-mobintl --layer overlay --hidden
|
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
+22
-1
@@ -1,5 +1,23 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Compile your custom wvkbd build
|
||||||
|
custom_wvkbd = pkgs.wvkbd.overrideAttrs (oldAttrs: {
|
||||||
|
# Pin the package version to the exact commit from your flake input
|
||||||
|
src = inputs.wvkbd-src;
|
||||||
|
version = "custom-git";
|
||||||
|
|
||||||
|
# Choose your preferred layout layout (e.g., mobintl, standard, cyrillic)
|
||||||
|
makeFlags = (oldAttrs.makeFlags or []) ++ [ "LAYOUT=mobintl" ];
|
||||||
|
|
||||||
|
# Optional: Swap out the layout with your own config.h file if you have one
|
||||||
|
preBuild = ''
|
||||||
|
cp ${./programs/layout.custom.h} layout.mobintl.h
|
||||||
|
cp ${./programs/config.custom.h} config.mobintl.h
|
||||||
|
cp ${./programs/keymap.custom.h} keymap.mobintl.h
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./programs
|
./programs
|
||||||
@@ -38,8 +56,11 @@
|
|||||||
steam
|
steam
|
||||||
spotify
|
spotify
|
||||||
vlc
|
vlc
|
||||||
|
wtype
|
||||||
yt-dlp
|
yt-dlp
|
||||||
|
|
||||||
|
custom_wvkbd
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "find-open-port" ''
|
(pkgs.writeShellScriptBin "find-open-port" ''
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
echo "Please provide an application name, project directory, or other identifier."
|
echo "Please provide an application name, project directory, or other identifier."
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
#ifndef config_h_INCLUDED
|
||||||
|
#define config_h_INCLUDED
|
||||||
|
|
||||||
|
#define DEFAULT_FONT "Sans 14"
|
||||||
|
#define DEFAULT_ROUNDING 5
|
||||||
|
#define SHIFT_SPACE_IS_TAB
|
||||||
|
static const int transparency = 255;
|
||||||
|
|
||||||
|
struct clr_scheme schemes[] = {
|
||||||
|
{
|
||||||
|
/* colors */
|
||||||
|
.bg = {.bgra = {15, 15, 15, transparency}},
|
||||||
|
.fg = {.bgra = {45, 45, 45, transparency}},
|
||||||
|
.high = {.bgra = {100, 100, 100, transparency}},
|
||||||
|
.swipe = {.bgra = {100, 255, 100, 64}},
|
||||||
|
.text = {.color = UINT32_MAX},
|
||||||
|
.text_press = {.color = UINT32_MAX},
|
||||||
|
.text_swipe = {.color = UINT32_MAX},
|
||||||
|
.font = DEFAULT_FONT,
|
||||||
|
.rounding = DEFAULT_ROUNDING,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* colors */
|
||||||
|
.bg = {.bgra = {15, 15, 15, transparency}},
|
||||||
|
.fg = {.bgra = {32, 32, 32, transparency}},
|
||||||
|
.high = {.bgra = {100, 100, 100, transparency}},
|
||||||
|
.swipe = {.bgra = {100, 255, 100, 64}},
|
||||||
|
.text_press = {.color = UINT32_MAX},
|
||||||
|
.text_swipe = {.color = UINT32_MAX},
|
||||||
|
.text = {.color = UINT32_MAX},
|
||||||
|
.font = DEFAULT_FONT,
|
||||||
|
.rounding = DEFAULT_ROUNDING,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/* layers is an ordered list of layouts, used to cycle through */
|
||||||
|
static enum layout_id layers[] = {
|
||||||
|
Full, // First layout is the default layout on startup
|
||||||
|
Special,
|
||||||
|
NumLayouts // signals the last item, may not be omitted
|
||||||
|
};
|
||||||
|
|
||||||
|
/* layers is an ordered list of layouts, used to cycle through */
|
||||||
|
static enum layout_id landscape_layers[] = {
|
||||||
|
Landscape, // First layout is the default layout on startup
|
||||||
|
LandscapeSpecial,
|
||||||
|
NumLayouts // signals the last item, may not be omitted
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // config_h_INCLUDED
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -36,7 +36,6 @@
|
|||||||
v4l-utils
|
v4l-utils
|
||||||
vim
|
vim
|
||||||
wget
|
wget
|
||||||
wvkbd
|
|
||||||
xclip
|
xclip
|
||||||
xournalpp
|
xournalpp
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Adjust this path to wherever dank-material-shell drops its color file
|
||||||
|
THEME_CACHE="$HOME/.cache/DankMaterialShell/dms-colors.json"
|
||||||
|
|
||||||
|
if [ -f "$THEME_CACHE" ]; then
|
||||||
|
# Parse hex tokens directly out of the active shell profile
|
||||||
|
BG=$(jq -r '.["colors"]["dark"]["background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
|
FG=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||||
|
TXT=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
|
PRIMARY=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||||
|
ON_PRIMARY=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||||
|
|
||||||
|
echo -e "BG: $BG\nFG: $FG\nText: $TXT\nFG-Special: $PRIMARY\nText-Special: $ON_PRIMARY\n"
|
||||||
|
|
||||||
|
wvkbd-mobintl --hidden --bg "$BG" --press "$BG" --fg "$FG" --text "$TXT" --fg-sp "$PRIMARY" --text-sp "$ON_PRIMARY" -L 300
|
||||||
|
else
|
||||||
|
# Default fallback if the shell cache isn't built yet
|
||||||
|
wvkbd-mobintl --hidden
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user