Compare commits
No commits in common. "625dc012dc19d4713b852c4bd4be31da4b5665cc" and "136a5554a7d796230a254efe4fdc994634c50674" have entirely different histories.
625dc012dc
...
136a5554a7
20 changed files with 250 additions and 886 deletions
38
flake.lock
generated
38
flake.lock
generated
|
@ -127,11 +127,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755121891,
|
"lastModified": 1754365350,
|
||||||
"narHash": "sha256-UtYkukiGnPRJ5rpd4W/wFVrLMh8fqtNkqHTPgHEtrqU=",
|
"narHash": "sha256-NLWIkn1qM0wxtZu/2NXRaujWJ4Y1PSZlc7h0y6pOzOQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "279ca5addcdcfa31ac852b3ecb39fc372684f426",
|
"rev": "c5d7e957397ecb7d48b99c928611c6e780db1b56",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -143,11 +143,11 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755197778,
|
"lastModified": 1754137273,
|
||||||
"narHash": "sha256-l8/Dtvtya1n8q0x9WTlDqduYzaCx0pQyoPW1UcBLIfk=",
|
"narHash": "sha256-lyj/k4SU0aHUHnbGu4r67splMWwsC/QLlKo7Mzq0XA4=",
|
||||||
"rev": "5359ab9a765cf3f2e5c4dffedfba19be13ec7b50",
|
"rev": "cad6118e20a520b7536879d951ab6c3228b3e111",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/5359ab9a765cf3f2e5c4dffedfba19be13ec7b50.tar.gz?rev=5359ab9a765cf3f2e5c4dffedfba19be13ec7b50"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/cad6118e20a520b7536879d951ab6c3228b3e111.tar.gz?rev=cad6118e20a520b7536879d951ab6c3228b3e111"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
|
@ -186,11 +186,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755137329,
|
"lastModified": 1754360791,
|
||||||
"narHash": "sha256-9MxuOLH7jk58IVUUDWwLeqk9U4ATE6X37955Ld+4/zw=",
|
"narHash": "sha256-Nn2f13jY3M3v79uGscM3qZW0bqCF1EmOk+8ruaH5Drg=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "d9330bc35048238597880e89fb173799de9db5e9",
|
"rev": "9b109c7db8379df8ae33317c10c29099de91b942",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -237,11 +237,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754564048,
|
"lastModified": 1754316476,
|
||||||
"narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=",
|
"narHash": "sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113",
|
"rev": "9368056b73efb46eb14fd4667b99e0f81b805f28",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -253,11 +253,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755027561,
|
"lastModified": 1754214453,
|
||||||
"narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=",
|
"narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "005433b926e16227259a1843015b5b2b7f7d1fc3",
|
"rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -309,11 +309,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754988908,
|
"lastModified": 1754328224,
|
||||||
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
|
"narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
|
"rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
# Experiments
|
# Experiments
|
||||||
yazi # Terminal File-Manager
|
yazi # Terminal File-Manager
|
||||||
# Gaming
|
# Gaming
|
||||||
ryubing # Experimental Nitendo Switch Emulator
|
ryujinx # Experimental Nitendo Switch Emulator
|
||||||
mangohud
|
mangohud
|
||||||
prismlauncher
|
prismlauncher
|
||||||
kb-one.olympus
|
kb-one.olympus
|
||||||
|
|
|
@ -28,6 +28,15 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# models = mkOption {
|
||||||
|
# type = types.uniq types.listOf types.package;
|
||||||
|
# default = [vosk-model-small-en-us];
|
||||||
|
# example = "[vosk-model-small-en-us]";
|
||||||
|
# description = ''
|
||||||
|
# List of vosk models to be loaded by numen. They can be referred to using the index, eg. model0 or model1.
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
|
||||||
dotoolPkg = mkOption {
|
dotoolPkg = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.kb-one.dotool;
|
default = pkgs.kb-one.dotool;
|
||||||
|
@ -40,7 +49,12 @@ in
|
||||||
|
|
||||||
phrases = mkOption {
|
phrases = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
default = [ ];
|
default = [
|
||||||
|
./phrases/character.phrases
|
||||||
|
./phrases/control.phrases
|
||||||
|
./phrases/environment.phrases
|
||||||
|
./phrases/voice.phrases
|
||||||
|
];
|
||||||
description = ''
|
description = ''
|
||||||
Phrases to be loaded by numen. If empty, the default phrases are used.
|
Phrases to be loaded by numen. If empty, the default phrases are used.
|
||||||
'';
|
'';
|
||||||
|
@ -56,7 +70,7 @@ in
|
||||||
|
|
||||||
dotoolXkbLayout = mkOption {
|
dotoolXkbLayout = mkOption {
|
||||||
type = types.singleLineStr;
|
type = types.singleLineStr;
|
||||||
default = "en";
|
default = "de";
|
||||||
description = ''
|
description = ''
|
||||||
The XKB keyboard layout that should be used by dotool.
|
The XKB keyboard layout that should be used by dotool.
|
||||||
'';
|
'';
|
||||||
|
@ -64,6 +78,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
# System Configuration
|
# System Configuration
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
cfg.numenPkg
|
cfg.numenPkg
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
# Letter
|
|
||||||
air: press a
|
air: press a
|
||||||
bat: press b
|
bat: press b
|
||||||
cap: press c
|
cap: press c
|
||||||
|
@ -27,7 +25,6 @@ plex: press x
|
||||||
yank: press y
|
yank: press y
|
||||||
zip: press z
|
zip: press z
|
||||||
|
|
||||||
# Number
|
|
||||||
newt: press 0
|
newt: press 0
|
||||||
one: press 1
|
one: press 1
|
||||||
two: press 2
|
two: press 2
|
||||||
|
@ -39,52 +36,36 @@ sept: press 7
|
||||||
eight: press 8
|
eight: press 8
|
||||||
nine: press 9
|
nine: press 9
|
||||||
|
|
||||||
# Symbol
|
|
||||||
yell: press exclam
|
|
||||||
ask: press question
|
ask: press question
|
||||||
quid: press dollar
|
|
||||||
## TODO € europe: press euro
|
|
||||||
snail: press at
|
|
||||||
gain: press ampersand
|
|
||||||
spoke: press quotedbl
|
|
||||||
mark: press apostrophe
|
|
||||||
tick: press grave
|
|
||||||
blunt: press asciicircum
|
|
||||||
## TODO ° degree: press
|
|
||||||
list: press comma
|
|
||||||
point: press period
|
|
||||||
same: press semicolon
|
|
||||||
clause: press colon
|
|
||||||
plus: press plus
|
plus: press plus
|
||||||
mine: press minus
|
mine: press minus
|
||||||
|
tide: press asciitilde
|
||||||
|
yell: press exclam
|
||||||
|
quid: press dollar
|
||||||
|
score: press underscore
|
||||||
|
clause: press colon
|
||||||
|
same: press semicolon
|
||||||
|
wax: press parenleft
|
||||||
|
wane: press parenright
|
||||||
|
curl: press braceleft
|
||||||
|
crimp: press braceright
|
||||||
|
bric: press bracketleft
|
||||||
|
brac: press bracketright
|
||||||
|
small: press less
|
||||||
|
big: press greater
|
||||||
star: press asterisk
|
star: press asterisk
|
||||||
hash: press numbersign
|
hash: press numbersign
|
||||||
mood: press percent
|
mood: press percent
|
||||||
match: press equal
|
blunt: press asciicircum
|
||||||
tide: press asciitilde
|
snail: press at
|
||||||
|
gain: press ampersand
|
||||||
|
vert: press bar
|
||||||
|
spoke: press quotedbl
|
||||||
|
mark: press apostrophe
|
||||||
|
tick: press grave
|
||||||
slash: press slash
|
slash: press slash
|
||||||
slope: press backslash
|
slope: press backslash
|
||||||
vert: press bar
|
list: press comma
|
||||||
score: press underscore
|
point: press period
|
||||||
wax: press parenleft
|
match: press equal
|
||||||
wane: press parenright
|
|
||||||
bric: press bracketleft
|
|
||||||
brac: press bracketright
|
|
||||||
curl: press braceleft
|
|
||||||
crimp: press braceright
|
|
||||||
small: press less
|
|
||||||
big: press greater
|
|
||||||
|
|
||||||
# Function Keys
|
|
||||||
frank one: press F1
|
|
||||||
frank two: press F2
|
|
||||||
frank three: press F3
|
|
||||||
frank four: press F4
|
|
||||||
frank five: press F5
|
|
||||||
frank six: press F6
|
|
||||||
frank sept: press F7
|
|
||||||
frank eight: press F8
|
|
||||||
frank nine: press F9
|
|
||||||
frank one newt: press F10
|
|
||||||
frank one one: press F11
|
|
||||||
frank one two: press F12
|
|
85
modules/nixos/services/numen/phrases/control.phrases
Normal file
85
modules/nixos/services/numen/phrases/control.phrases
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
space: press space
|
||||||
|
yes: press Return
|
||||||
|
tab: press Tab
|
||||||
|
scape: stick off \
|
||||||
|
press Escape
|
||||||
|
|
||||||
|
# Enable a modifier for the next press
|
||||||
|
# (The Super modifier is also known as the "Windows key")
|
||||||
|
shy: mod shift
|
||||||
|
troy: mod ctrl
|
||||||
|
hype: mod alt
|
||||||
|
shock: mod super \
|
||||||
|
stick off
|
||||||
|
# Clear modifiers
|
||||||
|
cleanse: mod clear \
|
||||||
|
caps off \
|
||||||
|
stick off
|
||||||
|
|
||||||
|
# Enable Caps Lock until the end of the sentence or you say "cleanse"
|
||||||
|
shout: caps on
|
||||||
|
<complete>: caps off
|
||||||
|
|
||||||
|
# Start holding down each pressed key, and stop by saying "cleanse"
|
||||||
|
squeeze: run notify-send STICKING & \
|
||||||
|
stick off \
|
||||||
|
stick on
|
||||||
|
|
||||||
|
hack: press BackSpace
|
||||||
|
mince: press BackSpace BackSpace
|
||||||
|
toss: press Delete
|
||||||
|
smite: press Delete Delete
|
||||||
|
raze: press BackSpace BackSpace BackSpace BackSpace
|
||||||
|
# Delete a word (depending on the program)
|
||||||
|
swipe: press ctrl+BackSpace
|
||||||
|
|
||||||
|
left: press Left
|
||||||
|
right: press Right
|
||||||
|
up: press Up
|
||||||
|
down: press Down
|
||||||
|
lunge: press Left Left
|
||||||
|
rush: press Right Right
|
||||||
|
leave: press Left Left Left Left
|
||||||
|
charge: press Right Right Right Right
|
||||||
|
|
||||||
|
# I use these to navigate words and to complete bits of shell autosuggestions
|
||||||
|
stretch: press ctrl+Right
|
||||||
|
wrench: press ctrl+Left
|
||||||
|
|
||||||
|
# PageDown, PageUp, Home, End
|
||||||
|
page: press Next
|
||||||
|
reel: press Prior
|
||||||
|
home: press Home
|
||||||
|
end: press End
|
||||||
|
|
||||||
|
# Paste the clipboard (depending on the program)
|
||||||
|
gluten: stick off \
|
||||||
|
press XF86Paste
|
||||||
|
|
||||||
|
# Repeat the previous press etc.
|
||||||
|
more: repeat 1
|
||||||
|
bunch: repeat 2
|
||||||
|
handful: repeat 4
|
||||||
|
fistful: repeat 8
|
||||||
|
plateful: repeat 12
|
||||||
|
|
||||||
|
frank one: press F1
|
||||||
|
frank two: press F2
|
||||||
|
frank three: press F3
|
||||||
|
frank four: press F4
|
||||||
|
frank five: press F5
|
||||||
|
frank six: press F6
|
||||||
|
frank sept: press F7
|
||||||
|
frank eight: press F8
|
||||||
|
frank nine: press F9
|
||||||
|
frank one newt: press F10
|
||||||
|
frank one one: press F11
|
||||||
|
frank one two: press F12
|
||||||
|
|
||||||
|
# This saves your changes in vi-style programs
|
||||||
|
save: caps off \
|
||||||
|
press Escape colon w Return
|
||||||
|
# This cycles round splits in Vim
|
||||||
|
switch: caps off \
|
||||||
|
press Escape ctrl+w w
|
||||||
|
|
36
modules/nixos/services/numen/phrases/environment.phrases
Normal file
36
modules/nixos/services/numen/phrases/environment.phrases
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# I use these for managing application windows but they just simulate keys,
|
||||||
|
# so you'll need to configure your desktop environment, or you can use my
|
||||||
|
# preconfigured desktop environment: https://git.sr.ht/~geb/tiles
|
||||||
|
|
||||||
|
# Navigate to the window in the given direction
|
||||||
|
west: stick off \
|
||||||
|
press super+Left
|
||||||
|
east: stick off \
|
||||||
|
press super+Right
|
||||||
|
north: stick off \
|
||||||
|
press super+Up
|
||||||
|
south: stick off \
|
||||||
|
press super+Down
|
||||||
|
|
||||||
|
# Cycle round the windows
|
||||||
|
cycle: stick off \
|
||||||
|
press super+c
|
||||||
|
recycle: stick off \
|
||||||
|
press super+C
|
||||||
|
|
||||||
|
# Close window
|
||||||
|
exterminate: stick off \
|
||||||
|
press super+q
|
||||||
|
|
||||||
|
# Toggle fullscreen
|
||||||
|
screen: stick off \
|
||||||
|
press super+f
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# These two are just for --gadget mode.
|
||||||
|
|
||||||
|
# Switch to controlling the gadget
|
||||||
|
@gadget shock gadget: handler uinput
|
||||||
|
# Switch to controlling the host machine
|
||||||
|
@gadget shock host: handler gadget
|
67
modules/nixos/services/numen/phrases/voice.phrases
Normal file
67
modules/nixos/services/numen/phrases/voice.phrases
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# Cancel sentence
|
||||||
|
# For example, "four down no five down" would just do "five down".
|
||||||
|
@cancel no:
|
||||||
|
|
||||||
|
# Transcribe a sentence
|
||||||
|
# For example, "scribe please type this".
|
||||||
|
@transcribe scribe: set numen_fmt echo normal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# Transcribe a sentence formatted...
|
||||||
|
|
||||||
|
# With the first letter uppercase
|
||||||
|
@transcribe scrub: set numen_fmt echo sentence \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# With Each First Letter Uppercase
|
||||||
|
@transcribe tight scribe: set numen_fmt echo title \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# with_underscrores_inbetween
|
||||||
|
@transcribe snake: set numen_fmt echo snake \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# with-dashes-inbetween
|
||||||
|
@transcribe dash: set numen_fmt echo dash \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# with.dots.inbetween
|
||||||
|
@transcribe dot scribe: set numen_fmt echo dot \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# with, commas, inbetween
|
||||||
|
@transcribe roh scribe: set numen_fmt echo list \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# with/slashes/inbetween
|
||||||
|
@transcribe path scribe: set numen_fmt echo path \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# allsmashedtogether
|
||||||
|
@transcribe kludge: set numen_fmt echo smash \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# camelCase
|
||||||
|
@transcribe camel: set numen_fmt echo camel \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# PascalCase
|
||||||
|
@transcribe pascal: set numen_fmt echo pascal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# dot.camelCase
|
||||||
|
@transcribe dot camel: set numen_fmt echo dotcamel \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# dot.PascalCase
|
||||||
|
@transcribe dot pascal: set numen_fmt echo dotpascal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
# (You can also do "shout scribe" etc.)
|
||||||
|
|
||||||
|
# Erase the transcription
|
||||||
|
ditch: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
|
||||||
|
|
||||||
|
# Go to the start of the transcription
|
||||||
|
trudge: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
|
||||||
|
|
||||||
|
# Menus to type or choose another transcription result
|
||||||
|
# They use the dmenu command (only works in X11) or the command specified
|
||||||
|
# by $NUMEN_DMENU or $DMENU (you could use wmenu if you're on Wayland).
|
||||||
|
transcripts: run /etc/numen/scripts/menu | numenc & \
|
||||||
|
run sleep 0.1
|
||||||
|
change: run /etc/numen/scripts/menu change | numenc & \
|
||||||
|
run sleep 0.1
|
||||||
|
|
||||||
|
|
||||||
|
# Ignore this, vosk-model-small-en-us-0.15 can output huh after a long silence.
|
||||||
|
huh:
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
{
|
|
||||||
stdenv,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "numen-phrases";
|
|
||||||
version = "0.1.0";
|
|
||||||
|
|
||||||
src = ./phrases;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
mkdir $out/phrases
|
|
||||||
mkdir $out/phrases/en-active
|
|
||||||
mkdir $out/phrases/de-active
|
|
||||||
mkdir $out/phrases/en-inactive
|
|
||||||
mkdir $out/phrases/de-inactive
|
|
||||||
|
|
||||||
install -Dm644 en-active/* -t "$out/phrases/en-active"
|
|
||||||
install -Dm644 de-active/* -t "$out/phrases/de-active"
|
|
||||||
install -Dm644 en-inactive/* -t "$out/phrases/en-inactive"
|
|
||||||
install -Dm644 de-inactive/* -t "$out/phrases/de-inactive"
|
|
||||||
|
|
||||||
sed -i "s:/etc/numen/phrases:${placeholder "out"}/phrases:g" \
|
|
||||||
$out/phrases/en-active/* \
|
|
||||||
$out/phrases/de-active/* \
|
|
||||||
$out/phrases/en-inactive/* \
|
|
||||||
$out/phrases/de-inactive/*
|
|
||||||
sed -i "s:/etc/numen/scripts:${pkgs.kb-one.numen}/scripts:g" \
|
|
||||||
$out/phrases/en-active/* \
|
|
||||||
$out/phrases/de-active/* \
|
|
||||||
$out/phrases/en-inactive/* \
|
|
||||||
$out/phrases/de-inactive/*
|
|
||||||
sed -i "s:/etc/numen/bin:${pkgs.kb-one.numen}/bin:g" \
|
|
||||||
$out/phrases/en-active/* \
|
|
||||||
$out/phrases/de-active/* \
|
|
||||||
$out/phrases/en-inactive/* \
|
|
||||||
$out/phrases/de-inactive/*
|
|
||||||
sed -i "s:notify-send:${pkgs.libnotify}/bin/notify-send:g" \
|
|
||||||
$out/phrases/en-active/* \
|
|
||||||
$out/phrases/de-active/* \
|
|
||||||
$out/phrases/en-inactive/* \
|
|
||||||
$out/phrases/de-inactive/*
|
|
||||||
sed -i "s:pkill:${pkgs.procps}/bin/pkill:g" \
|
|
||||||
$out/phrases/en-active/* \
|
|
||||||
$out/phrases/de-active/* \
|
|
||||||
$out/phrases/en-inactive/* \
|
|
||||||
$out/phrases/de-inactive/*
|
|
||||||
sed -i "s:/usr/share/vosk-models/small-en-us:${pkgs.kb-one.vosk-model-small-en-us}/usr/share/vosk-models/small-en-us:g" \
|
|
||||||
$out/phrases/de-active/*
|
|
||||||
sed -i "s:/usr/share/vosk-models/small-de:${pkgs.kb-one.vosk-model-small-de}/usr/share/vosk-models/small-de:g" \
|
|
||||||
$out/phrases/en-active/*
|
|
||||||
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,90 +0,0 @@
|
||||||
|
|
||||||
# Letter
|
|
||||||
auto: press a
|
|
||||||
ball: press b
|
|
||||||
cello: press c
|
|
||||||
dach: press d
|
|
||||||
eis: press e
|
|
||||||
fisch: press f
|
|
||||||
glück: press g
|
|
||||||
haus: press h
|
|
||||||
insel: press i
|
|
||||||
jahr: press j
|
|
||||||
kuss: press k
|
|
||||||
licht: press l
|
|
||||||
mond: press m
|
|
||||||
nacht: press n
|
|
||||||
oma: press o
|
|
||||||
pferd: press p
|
|
||||||
quiz: press q
|
|
||||||
rad: press r
|
|
||||||
soll: press s
|
|
||||||
tisch: press t
|
|
||||||
um: press u
|
|
||||||
v: press v
|
|
||||||
wer: press w
|
|
||||||
mix: press x
|
|
||||||
yoga: press y
|
|
||||||
zug: press z
|
|
||||||
|
|
||||||
# Number
|
|
||||||
null: press 0
|
|
||||||
eins: press 1
|
|
||||||
zwei: press 2
|
|
||||||
drei: press 3
|
|
||||||
vier: press 4
|
|
||||||
fünf: press 5
|
|
||||||
sechs: press 6
|
|
||||||
sieb: press 7
|
|
||||||
acht: press 8
|
|
||||||
neun: press 9
|
|
||||||
|
|
||||||
# Symbol
|
|
||||||
schrei: press exclam
|
|
||||||
frag: press question
|
|
||||||
dollar: press dollar
|
|
||||||
## TODO € euro: press euro
|
|
||||||
mail: press at
|
|
||||||
und: press ampersand
|
|
||||||
sag: press quotedbl
|
|
||||||
ast: press apostrophe
|
|
||||||
zweig: press grave
|
|
||||||
hut: press asciicircum
|
|
||||||
## TODO ° grad: press
|
|
||||||
stop: press comma
|
|
||||||
steh: press period
|
|
||||||
halt: press semicolon
|
|
||||||
kommt: press colon
|
|
||||||
mit: press plus
|
|
||||||
ohne: press minus
|
|
||||||
stern: press asterisk
|
|
||||||
roh: press numbersign
|
|
||||||
teil: press percent
|
|
||||||
gleich: press equal
|
|
||||||
toll: press asciitilde
|
|
||||||
schwer: press slash
|
|
||||||
wert: press backslash
|
|
||||||
wand: press bar
|
|
||||||
flur: press underscore
|
|
||||||
auf: press parenleft
|
|
||||||
zu: press parenright
|
|
||||||
an: press bracketleft
|
|
||||||
aus: press bracketright
|
|
||||||
berg: press braceleft
|
|
||||||
tal: press braceright
|
|
||||||
klein: press less
|
|
||||||
groß: press greater
|
|
||||||
|
|
||||||
# Function Keys
|
|
||||||
funk eins: press F1
|
|
||||||
funk zwei: press F2
|
|
||||||
funk drei: press F3
|
|
||||||
funk vier: press F4
|
|
||||||
funk fünf: press F5
|
|
||||||
funk sechs: press F6
|
|
||||||
funk sieb: press F7
|
|
||||||
funk acht: press F8
|
|
||||||
funk neun: press F9
|
|
||||||
funk eins null: press F10
|
|
||||||
funk eins eins: press F11
|
|
||||||
funk eins zwei: press F12
|
|
|
@ -1,51 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Extend
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
leer: press space
|
|
||||||
ja: press Return
|
|
||||||
schieb: press Tab
|
|
||||||
geh: stick off \
|
|
||||||
press Escape
|
|
||||||
super: press Scroll_Lock
|
|
||||||
sonder: press Super_L
|
|
||||||
|
|
||||||
links: press Left
|
|
||||||
rechts: press Right
|
|
||||||
hoch: press Up
|
|
||||||
runter: press Down
|
|
||||||
lauf: press Left Left
|
|
||||||
renn: press Right Right
|
|
||||||
lange: press Left Left Left Left
|
|
||||||
runde: press Right Right Right Right
|
|
||||||
zieh: press ctrl+Left
|
|
||||||
streck: press ctrl+Right
|
|
||||||
|
|
||||||
himmel: press Prior
|
|
||||||
hölle: press Next
|
|
||||||
heim: press Home
|
|
||||||
ende: press End
|
|
||||||
|
|
||||||
# Delete
|
|
||||||
werf: press Delete
|
|
||||||
wirf: press Delete Delete
|
|
||||||
weg: press BackSpace
|
|
||||||
weit: press BackSpace BackSpace
|
|
||||||
fern: press BackSpace BackSpace BackSpace BackSpace
|
|
||||||
fremd: press ctrl+BackSpace
|
|
||||||
|
|
||||||
# Repeat
|
|
||||||
mehr: repeat 1
|
|
||||||
paar: repeat 2
|
|
||||||
oft: repeat 4
|
|
||||||
viel: repeat 8
|
|
||||||
ganz viel: repeat 12
|
|
||||||
|
|
||||||
# GUI Action
|
|
||||||
# TODO Cut
|
|
||||||
# TODO Copy
|
|
||||||
platz: stick off \
|
|
||||||
press XF86Paste
|
|
||||||
# TODO Save
|
|
||||||
|
|
|
@ -1,88 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Modifier & Modes
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Modifier
|
|
||||||
schau: mod shift
|
|
||||||
mein: mod ctrl
|
|
||||||
geil: mod alt
|
|
||||||
sau: mod super \
|
|
||||||
stick off
|
|
||||||
|
|
||||||
# Mode
|
|
||||||
laut: caps on
|
|
||||||
#<complete>: caps off
|
|
||||||
|
|
||||||
zusammen: run notify-send --expire-time=3000 --urgency=low --icon=🧩 "🧩 Sticky Mode" & \
|
|
||||||
stick off \
|
|
||||||
stick on
|
|
||||||
|
|
||||||
# Cancel
|
|
||||||
sauber: mod clear \
|
|
||||||
caps off \
|
|
||||||
stick off
|
|
||||||
# Cancel sentence
|
|
||||||
@cancel nein:
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Desktop
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# KDE Window
|
|
||||||
west: stick off \
|
|
||||||
press super+Left
|
|
||||||
ost: stick off \
|
|
||||||
press super+Right
|
|
||||||
nord: stick off \
|
|
||||||
press super+Up
|
|
||||||
süd: stick off \
|
|
||||||
press super+Down
|
|
||||||
schirm: stick off \
|
|
||||||
press super+Prior
|
|
||||||
#???: stick off \
|
|
||||||
# press super+Next
|
|
||||||
zerstören: stick off \
|
|
||||||
press alt+f4
|
|
||||||
|
|
||||||
# KDE Taskbar
|
|
||||||
#sau eins: press super+1
|
|
||||||
#sau zwei: press super+2
|
|
||||||
#sau drei: press super+3
|
|
||||||
|
|
||||||
# KDE Workspace
|
|
||||||
sicht: stick off \
|
|
||||||
press super+w
|
|
||||||
#mein funk eins: press ctrl+f1
|
|
||||||
#mein funk zwei: press ctrl+f2
|
|
||||||
#mein funk drei: press ctrl+f3
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Switching
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Sleep https://lists.sr.ht/~geb/numen/%3C55fe1488feeb1cee2627d61b9b7e16a74ef5fca0.camel@dalibo.com%3E
|
|
||||||
schlaf gut: run echo load /etc/numen/phrases/de-inactive/hibernate.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen geht schlafen..."
|
|
||||||
|
|
||||||
# Language
|
|
||||||
sprache: set LANGUAGE_WORD echo 1
|
|
||||||
englisch: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-en-us /etc/numen/bin/numen /etc/numen/phrases/en-active/base.phrases /etc/numen/phrases/en-active/extend.phrases /etc/numen/phrases/en-active/function.phrases /etc/numen/phrases/en-active/transcribe.phrases; } & pkill numen & notify-send --expire-time=3000 --urgency=low --icon=🌍 "🌍 Numen wechselt zu Englisch..."
|
|
||||||
|
|
||||||
# Reset Language Module Detection
|
|
||||||
<complete>: caps off \
|
|
||||||
set LANGUAGE_WORD
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Activate Language Module
|
|
||||||
#sprache: set LANGUAGE_WORD echo 1
|
|
||||||
|
|
||||||
# Commands
|
|
||||||
#englisch: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-en-us /etc/numen/bin/numen /etc/numen/phrases/en-active/voice.phrases /etc/numen/phrases/en-active/environment.phrases /etc/numen/phrases/en-active/control.phrases /etc/numen/phrases/en-active/character.phrases /etc/numen/phrases/en-active/language.phrases; } & pkill numen & notify-send -t 3000 -p -r ${NUMENMODE_NID:-0} -u low -i 🌍 "🌍 Switched to English" ||:
|
|
||||||
|
|
||||||
# Reset Language Module Detection
|
|
||||||
#<complete>: set LANGUAGE_WORD :
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Transcribe
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Transcribe
|
|
||||||
@transcribe schreib: set numen_fmt echo normal \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# Erase Transcription
|
|
||||||
tritt: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
|
|
||||||
|
|
||||||
# Cursor to Start
|
|
||||||
start: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Transcription Modes
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# First letter uppercase
|
|
||||||
@transcribe satz: set numen_fmt echo sentence \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# All Words Uppercase
|
|
||||||
@transcribe oben: set numen_fmt echo title \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with_snake_inbetween
|
|
||||||
@transcribe schlange: set numen_fmt echo snake \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with-dashes-inbetween
|
|
||||||
@transcribe strich: set numen_fmt echo dash \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with.dots.inbetween
|
|
||||||
@transcribe punkt: set numen_fmt echo dot \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# as, list, items
|
|
||||||
@transcribe auf list: set numen_fmt echo list \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# in/path/format
|
|
||||||
@transcribe pfad: set numen_fmt echo path \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# allsmashedtogether
|
|
||||||
@transcribe eng: set numen_fmt echo smash \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# inCamelCase
|
|
||||||
@transcribe kamel: set numen_fmt echo camel \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# InPascalCase
|
|
||||||
@transcribe paste: set numen_fmt echo pascal \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# ALL IN CAPS
|
|
||||||
# laut schreib
|
|
||||||
|
|
||||||
# Ignore this, vosk-model-small-de-0.15 can output hmm after a long silence.
|
|
||||||
hmm:
|
|
|
@ -1,8 +0,0 @@
|
||||||
|
|
||||||
schlaf gut: run notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen schläft schon"
|
|
||||||
|
|
||||||
wach: set WAKEUP_WORD_ONE echo 1
|
|
||||||
jetzt: eval [ "$WAKEUP_WORD_ONE" ] && echo set WAKEUP_WORD_TWO echo 1 ||:
|
|
||||||
auf: run [ "$WAKEUP_WORD_TWO" ] && echo load /etc/numen/phrases/de-active/base.phrases /etc/numen/phrases/de-active/extend.phrases /etc/numen/phrases/de-active/function.phrases /etc/numen/phrases/de-active/transcribe.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=☀️ "☀️ Numen wacht auf..." ||:
|
|
||||||
<complete>: set WAKEUP_WORD_ONE : \
|
|
||||||
set WAKEUP_WORD_TWO :
|
|
|
@ -1,51 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Extend
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
space: press space
|
|
||||||
yes: press Return
|
|
||||||
tab: press Tab
|
|
||||||
scape: stick off \
|
|
||||||
press Escape
|
|
||||||
smock: press Scroll_Lock
|
|
||||||
super: press Super_L
|
|
||||||
|
|
||||||
left: press Left
|
|
||||||
right: press Right
|
|
||||||
up: press Up
|
|
||||||
down: press Down
|
|
||||||
lunge: press Left Left
|
|
||||||
rush: press Right Right
|
|
||||||
leave: press Left Left Left Left
|
|
||||||
charge: press Right Right Right Right
|
|
||||||
wrench: press ctrl+Left
|
|
||||||
stretch: press ctrl+Right
|
|
||||||
|
|
||||||
reel: press Prior
|
|
||||||
page: press Next
|
|
||||||
home: press Home
|
|
||||||
end: press End
|
|
||||||
|
|
||||||
# Delete
|
|
||||||
toss: press Delete
|
|
||||||
smite: press Delete Delete
|
|
||||||
hack: press BackSpace
|
|
||||||
mince: press BackSpace BackSpace
|
|
||||||
raze: press BackSpace BackSpace BackSpace BackSpace
|
|
||||||
swipe: press ctrl+BackSpace
|
|
||||||
|
|
||||||
# Repeat
|
|
||||||
more: repeat 1
|
|
||||||
bunch: repeat 2
|
|
||||||
handful: repeat 4
|
|
||||||
fistful: repeat 8
|
|
||||||
plateful: repeat 12
|
|
||||||
|
|
||||||
# GUI Action
|
|
||||||
# TODO Cut
|
|
||||||
# TODO Copy
|
|
||||||
gluten: stick off \
|
|
||||||
press XF86Paste
|
|
||||||
# TODO Save
|
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Modifier & Modes
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Modifier
|
|
||||||
shy: mod shift
|
|
||||||
troy: mod ctrl
|
|
||||||
hype: mod alt
|
|
||||||
shock: mod super \
|
|
||||||
stick off
|
|
||||||
|
|
||||||
# Mode
|
|
||||||
shout: caps on
|
|
||||||
#<complete>: caps off
|
|
||||||
|
|
||||||
squeeze: run notify-send --expire-time=3000 --urgency=low --icon=🧩 "🧩 Sticky Mode" & \
|
|
||||||
stick off \
|
|
||||||
stick on
|
|
||||||
|
|
||||||
# Cancel
|
|
||||||
cleanse: mod clear \
|
|
||||||
caps off \
|
|
||||||
stick off
|
|
||||||
# Cancel sentence
|
|
||||||
@cancel no:
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Desktop
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# KDE Window
|
|
||||||
west: stick off \
|
|
||||||
press super+Left
|
|
||||||
east: stick off \
|
|
||||||
press super+Right
|
|
||||||
north: stick off \
|
|
||||||
press super+Up
|
|
||||||
south: stick off \
|
|
||||||
press super+Down
|
|
||||||
screen: stick off \
|
|
||||||
press super+Prior
|
|
||||||
#???: stick off \
|
|
||||||
# press super+Next
|
|
||||||
exterminate: stick off \
|
|
||||||
press alt+f4
|
|
||||||
|
|
||||||
# KDE Taskbar
|
|
||||||
#shock one: press super+1
|
|
||||||
#shock two: press super+2
|
|
||||||
#shock three: press super+3
|
|
||||||
|
|
||||||
# KDE Workspace
|
|
||||||
view: stick off \
|
|
||||||
press super+w
|
|
||||||
#troy frank one: press ctrl+f1
|
|
||||||
#troy frank two: press ctrl+f2
|
|
||||||
#troy frank three: press ctrl+f3
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Switching
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Sleep https://lists.sr.ht/~geb/numen/%3C55fe1488feeb1cee2627d61b9b7e16a74ef5fca0.camel@dalibo.com%3E
|
|
||||||
hibernate: run echo load /etc/numen/phrases/en-inactive/hibernate.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen goes to sleep..."
|
|
||||||
|
|
||||||
# Language
|
|
||||||
language: set LANGUAGE_WORD echo 1
|
|
||||||
german: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-de /etc/numen/bin/numen /etc/numen/phrases/de-active/base.phrases /etc/numen/phrases/de-active/extend.phrases /etc/numen/phrases/de-active/function.phrases /etc/numen/phrases/de-active/transcribe.phrases; } & pkill numen & notify-send --expire-time=3000 --urgency=low --icon=🌍 "🌍 Numen switches to German..."
|
|
||||||
|
|
||||||
# Reset Language Module Detection
|
|
||||||
<complete>: caps off \
|
|
||||||
set LANGUAGE_WORD
|
|
|
@ -1,65 +0,0 @@
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Transcribe
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# Transcribe
|
|
||||||
@transcribe scribe: set numen_fmt echo normal \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# Erase Transcription
|
|
||||||
ditch: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
|
|
||||||
|
|
||||||
# Cursor to Start
|
|
||||||
trudge: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Transcription Modes
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
# First letter uppercase
|
|
||||||
@transcribe scrub: set numen_fmt echo sentence \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# All Words Uppercase
|
|
||||||
@transcribe tight scribe: set numen_fmt echo title \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with_snake_inbetween
|
|
||||||
@transcribe snake: set numen_fmt echo snake \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with-dashes-inbetween
|
|
||||||
@transcribe dash: set numen_fmt echo dash \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# with.dots.inbetween
|
|
||||||
@transcribe dot scribe: set numen_fmt echo dot \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# as, list, items
|
|
||||||
@transcribe roh scribe: set numen_fmt echo list \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# in/path/format
|
|
||||||
@transcribe path scribe: set numen_fmt echo path \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# allsmashedtogether
|
|
||||||
@transcribe kludge: set numen_fmt echo smash \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# inCamelCase
|
|
||||||
@transcribe camel: set numen_fmt echo camel \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# InPascalCase
|
|
||||||
@transcribe pascal: set numen_fmt echo pascal \
|
|
||||||
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
|
||||||
|
|
||||||
# ALL IN CAPS
|
|
||||||
# shout scribe
|
|
||||||
|
|
||||||
# Ignore this, vosk-model-small-en-us-0.15 can output huh after a long silence.
|
|
||||||
huh:
|
|
|
@ -1,9 +0,0 @@
|
||||||
|
|
||||||
# Sleep
|
|
||||||
hibernate: run notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen is allready asleep"
|
|
||||||
|
|
||||||
wake: set WAKEUP_WORD_ONE echo 1
|
|
||||||
up: eval [ "$WAKEUP_WORD_ONE" ] && echo set WAKEUP_WORD_TWO echo 1 ||:
|
|
||||||
now: run [ "$WAKEUP_WORD_TWO" ] && echo load /etc/numen/phrases/en-active/base.phrases /etc/numen/phrases/en-active/extend.phrases /etc/numen/phrases/en-active/function.phrases /etc/numen/phrases/en-active/transcribe.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=☀️ "☀️ Numen is waking up..." ||:
|
|
||||||
<complete>: set WAKEUP_WORD_ONE : \
|
|
||||||
set WAKEUP_WORD_TWO :
|
|
|
@ -1,246 +0,0 @@
|
||||||
# Phrases Documentation
|
|
||||||
|
|
||||||
## Base
|
|
||||||
|
|
||||||
### Letter
|
|
||||||
|
|
||||||
| Letter | Phrase en | Phrase de |
|
|
||||||
| ------ | --------- | --------- |
|
|
||||||
| a | air | auto |
|
|
||||||
| b | bat | ball |
|
|
||||||
| c | cap | cello |
|
|
||||||
| d | drum | dach |
|
|
||||||
| e | each | eis |
|
|
||||||
| f | fig | fisch |
|
|
||||||
| g | gust | glück |
|
|
||||||
| h | hoof | haus |
|
|
||||||
| i | ice | insel |
|
|
||||||
| j | jive | jahr |
|
|
||||||
| k | kid | kuss |
|
|
||||||
| l | link | licht |
|
|
||||||
| m | made | mond |
|
|
||||||
| n | nerd | nacht |
|
|
||||||
| o | odd | oma |
|
|
||||||
| p | pit | pferd |
|
|
||||||
| q | quench | quiz |
|
|
||||||
| r | red | rad |
|
|
||||||
| s | sun | soll |
|
|
||||||
| t | trap | tisch |
|
|
||||||
| u | urge | um |
|
|
||||||
| v | void | v |
|
|
||||||
| w | whiz | wald |
|
|
||||||
| x | plex | mix |
|
|
||||||
| y | yank | yoga |
|
|
||||||
| z | zip | zug |
|
|
||||||
| ä | | |
|
|
||||||
| ö | | |
|
|
||||||
| ü | | |
|
|
||||||
| ß | | |
|
|
||||||
|
|
||||||
### Number
|
|
||||||
|
|
||||||
| Number | Phrase en | Phrase de |
|
|
||||||
| ------ | --------- | --------- |
|
|
||||||
| 0 | newt | null |
|
|
||||||
| 1 | one | eins |
|
|
||||||
| 2 | two | zwei |
|
|
||||||
| 3 | three | drei |
|
|
||||||
| 4 | four | vier |
|
|
||||||
| 5 | five | fünf |
|
|
||||||
| 6 | six | sechs |
|
|
||||||
| 7 | sept | sieb |
|
|
||||||
| 8 | eight | acht |
|
|
||||||
| 9 | nine | neun |
|
|
||||||
|
|
||||||
### Symbol
|
|
||||||
|
|
||||||
| Symbol | Phrase en | Phrase de |
|
|
||||||
| ------ | --------- | --------- |
|
|
||||||
| ! | yell | schrei |
|
|
||||||
| ? | ask | frag |
|
|
||||||
| $ | quid | dollar |
|
|
||||||
| € todo | europe | euro |
|
|
||||||
| @ | snail | mail |
|
|
||||||
| & | gain | und |
|
|
||||||
| " | spoke | sag |
|
|
||||||
| ' | mark | ast |
|
|
||||||
| ` | tick | zweig |
|
|
||||||
| ^ | blunt | hut |
|
|
||||||
| ° todo | degree | grad |
|
|
||||||
| , | list | stop |
|
|
||||||
| . | point | steh |
|
|
||||||
| ; | same | halt |
|
|
||||||
| : | clause | kommt |
|
|
||||||
| + | plus | mit |
|
|
||||||
| - | mine | ohne |
|
|
||||||
| * | star | stern |
|
|
||||||
| # | hash | roh |
|
|
||||||
| % | mood | teil |
|
|
||||||
| = | match | gleich |
|
|
||||||
| ~ | tide | toll |
|
|
||||||
| / | slash | schwer |
|
|
||||||
| \ | slope | wert |
|
|
||||||
| \| | vert | wand |
|
|
||||||
| _ | score | flur |
|
|
||||||
| ( | wax | auf |
|
|
||||||
| ) | wane | zu |
|
|
||||||
| [ | bric | an |
|
|
||||||
| ] | brac | aus |
|
|
||||||
| { | curl | berg |
|
|
||||||
| } | crip | tal |
|
|
||||||
| < | small | klein |
|
|
||||||
| > | big | groß |
|
|
||||||
|
|
||||||
### Function Keys
|
|
||||||
|
|
||||||
| Key | Phrase en | Phrase de |
|
|
||||||
| ---- | -------------- | -------------- |
|
|
||||||
| F1 | frank one | funk eins |
|
|
||||||
| F2 | frank two | funk zwei |
|
|
||||||
| F3 | frank three | funk drei |
|
|
||||||
| F4 | frank four | funk vier |
|
|
||||||
| F5 | frank five | funk fünf |
|
|
||||||
| F6 | frank six | funk sechs |
|
|
||||||
| F7 | frank sept | funk sieb |
|
|
||||||
| F8 | frank eight | funk acht |
|
|
||||||
| F9 | frank nine | funk neun |
|
|
||||||
| F10 | frank one newt | funk eins null |
|
|
||||||
| F11 | frank one one | funk eins eins |
|
|
||||||
| F12 | frank one two | funk eins zwei |
|
|
||||||
|
|
||||||
|
|
||||||
## Extend
|
|
||||||
|
|
||||||
| Extend | Phrase en | Phrase de |
|
|
||||||
| ------------ | --------- | --------- |
|
|
||||||
| Space | space | leer |
|
|
||||||
| Enter | yes | ja |
|
|
||||||
| Tab | tab | schieb |
|
|
||||||
| Esc | scape | geh |
|
|
||||||
| Super Key | super | super |
|
|
||||||
| Compose | smock | sonder |
|
|
||||||
| | | |
|
|
||||||
| Left | left | links |
|
|
||||||
| Right | right | rechts |
|
|
||||||
| Up | up | hoch |
|
|
||||||
| Down | down | runter |
|
|
||||||
| 2x Left | lunge | lauf |
|
|
||||||
| 2x Right | rush | renn |
|
|
||||||
| 4x Left | leave | lange |
|
|
||||||
| 4x Right | charge | runde |
|
|
||||||
| Ctrl + Left | wrench | zieh |
|
|
||||||
| Ctrl + Right | stretch | streck |
|
|
||||||
| | | |
|
|
||||||
| Page Up | reel | himmel |
|
|
||||||
| Page Down | page | hölle |
|
|
||||||
| Home | home | heim |
|
|
||||||
| End | end | ende |
|
|
||||||
|
|
||||||
| Delete | Phrase en | Phrase de |
|
|
||||||
| ---------------- | --------- | --------- |
|
|
||||||
| Delete | toss | werf |
|
|
||||||
| Delete x 2 | smite | wirf |
|
|
||||||
| Backspace | hack | weg |
|
|
||||||
| Backspace x 2 | mince | weit |
|
|
||||||
| Backspace x 4 | raze | fern |
|
|
||||||
| Ctrl + Backspace | swipe | fremd |
|
|
||||||
|
|
||||||
| Repeat | Phrase en | Phrase de |
|
|
||||||
| ------ | --------- | --------- |
|
|
||||||
| + 1x | more | mehr |
|
|
||||||
| + 2x | bunch | paar |
|
|
||||||
| + 4x | handful | oft |
|
|
||||||
| + 8x | fistful | viel |
|
|
||||||
| + 12x | plateful | ganz viel |
|
|
||||||
|
|
||||||
| GUI Action | Phrase en | Phrase de |
|
|
||||||
| ---------- | --------- | --------- |
|
|
||||||
| Cut | | |
|
|
||||||
| Copy | | |
|
|
||||||
| Paste | gluten | platz |
|
|
||||||
| Save | | |
|
|
||||||
|
|
||||||
|
|
||||||
## Function
|
|
||||||
|
|
||||||
### Modifier & Modes
|
|
||||||
|
|
||||||
Works until end of Scentence or Cancel Keyword
|
|
||||||
|
|
||||||
| Modifier | Phrase en | Phrase de |
|
|
||||||
| -------- | --------- | --------- |
|
|
||||||
| Shift | shy | schau |
|
|
||||||
| Control | troy | mein |
|
|
||||||
| Alt | hype | geil |
|
|
||||||
| Super | shock | sau |
|
|
||||||
|
|
||||||
| Mode | Phrase en | Phrase de |
|
|
||||||
| --------- | --------- | --------- |
|
|
||||||
| Capslock | shout | laut |
|
|
||||||
| Hold Keys | squeeze | zusammen |
|
|
||||||
|
|
||||||
| Cancel | Phrase en | Phrase de |
|
|
||||||
| --------------- | --------- | --------- |
|
|
||||||
| Cancel | cleanse | sauber |
|
|
||||||
| Cancel sentence | no | nein |
|
|
||||||
|
|
||||||
### Desktop
|
|
||||||
|
|
||||||
| KDE Window | Phrase en | Phrase de |
|
|
||||||
| ----------- | ---------------- | --------- |
|
|
||||||
| Tile Left | west | west |
|
|
||||||
| Tile Right | east | ost |
|
|
||||||
| Tile Up | north | nord |
|
|
||||||
| Tile Down | south | süd |
|
|
||||||
| Maximize | screen | schirm |
|
|
||||||
| Minimize | | |
|
|
||||||
| Close | exterminate | zerstören |
|
|
||||||
|
|
||||||
| KDE Taskbar | Phrase en | Phrase de |
|
|
||||||
| ----------- | ---------------- | --------- |
|
|
||||||
| Window 1 | shock one | sau eins |
|
|
||||||
| Window 2 | shock two | sau zwei |
|
|
||||||
| Window 2 | shock three | sau drei |
|
|
||||||
|
|
||||||
| KDE Workspace | Phrase en | Phrase de |
|
|
||||||
| ------------- | ---------------- | -------------- |
|
|
||||||
| Overview | view | sicht |
|
|
||||||
| Workspace 1 | troy frank one | mein funk eins |
|
|
||||||
| Workspace 2 | troy frank two | mein funk zwei |
|
|
||||||
| Workspace 3 | troy frank three | mein funk drei |
|
|
||||||
|
|
||||||
### Switching
|
|
||||||
|
|
||||||
| Sleep | Phrase en | Phrase de |
|
|
||||||
| --------- | ----------- | -------------- |
|
|
||||||
| Numen off | hibernate | schlaf gut |
|
|
||||||
| Numen on | wake up now | wach jetzt auf |
|
|
||||||
|
|
||||||
| Langauge | Phrase en | Phrase de |
|
|
||||||
| --------- | --------------- | ---------------- |
|
|
||||||
| german | language german | |
|
|
||||||
| english | | sprache englisch |
|
|
||||||
|
|
||||||
|
|
||||||
## Transcribe
|
|
||||||
|
|
||||||
| Transcribe | Phrase en | Phrase de |
|
|
||||||
| ------------------- | --------- | --------- |
|
|
||||||
| Transcribe | scribe | schreib |
|
|
||||||
| Erase Transcription | ditch | tritt |
|
|
||||||
| Cursor to Start | trudge | start |
|
|
||||||
|
|
||||||
| Transcription Modes | Phrase en | Phrase de |
|
|
||||||
| ---------------------- | ------------ | -------------- |
|
|
||||||
| First letter uppercase | scrub | satz |
|
|
||||||
| All Words Uppercase | tight scribe | oben |
|
|
||||||
| with_snake_inbetween | snake | schlange |
|
|
||||||
| with-dashes-inbetween | dash | strich |
|
|
||||||
| with.dots.inbetween | dot scribe | punkt |
|
|
||||||
| as, list, items | roh scribe | auf list |
|
|
||||||
| in/path/format | path scribe | pfad |
|
|
||||||
| allsmashedtogether | kludge | eng |
|
|
||||||
| inCamelCase | camel | kamel |
|
|
||||||
| InPascalCase | pascal | paste |
|
|
||||||
| ALL IN CAPS | shout scribe | laut schreib |
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, fetchurl, unzip }:
|
{ stdenv, fetchurl, unzip }:
|
||||||
# Source: https://github.com/Lykos153/numen-nix
|
# Source: https://github.com/Lykos153/numen-nix
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "vosk-model-small-de";
|
name = "vosk-model-small-en-us";
|
||||||
version = "0.15";
|
version = "0.15";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip";
|
url = "https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip";
|
||||||
|
@ -15,4 +15,3 @@ stdenv.mkDerivation {
|
||||||
cp -r . $out/usr/share/vosk-models/small-de
|
cp -r . $out/usr/share/vosk-models/small-de
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,16 +126,6 @@
|
||||||
# Tailscale
|
# Tailscale
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
services.numen = {
|
|
||||||
enable = true;
|
|
||||||
autoStart = true;
|
|
||||||
phrases = [
|
|
||||||
"${pkgs.kb-one.numen-phrases}/phrases/en-inactive/hibernate.phrases"
|
|
||||||
];
|
|
||||||
dotoolXkbLayout = "de";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Packages installed in system profile. Search Packages: $ nix search wget
|
# Packages installed in system profile. Search Packages: $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
|
@ -147,11 +137,8 @@
|
||||||
python3
|
python3
|
||||||
sops
|
sops
|
||||||
kb-one.numen
|
kb-one.numen
|
||||||
kb-one.numen-phrases
|
|
||||||
libnotify
|
|
||||||
kb-one.dotool
|
kb-one.dotool
|
||||||
kb-one.vosk-model-small-en-us
|
kb-one.vosk-model-small-en-us
|
||||||
kb-one.vosk-model-small-de
|
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "24.11"; # NEVER Change this!
|
system.stateVersion = "24.11"; # NEVER Change this!
|
||||||
|
|
Loading…
Add table
Reference in a new issue