Compare commits
No commits in common. "b5d0d0fe0506b4a89a228da986147176844c3a2f" and "1f9f5a1914a3a0c47f7e5b2ee26082b751a6f7ef" have entirely different histories.
b5d0d0fe05
...
1f9f5a1914
15 changed files with 164 additions and 593 deletions
63
README.md
63
README.md
|
@ -1,7 +1,7 @@
|
||||||
# My NixOS Configurations
|
# My NixOS Configurations
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
[](https://github.com/RichardLitt/standard-readme)
|
[](https://github.com/RichardLitt/standard-readme)
|
||||||
|
|
||||||
This repository contains my Flake based NixOS Configuration Files.
|
This repository contains my Flake based NixOS Configuration Files.
|
||||||
|
@ -14,50 +14,91 @@ Clone this Repository somewhere you can edit it easily:
|
||||||
git clone https://git.kb-one.de/kb01/aux-config ~/Project/aux-config
|
git clone https://git.kb-one.de/kb01/aux-config ~/Project/aux-config
|
||||||
```
|
```
|
||||||
|
|
||||||
Check if the Hostname of your System matches one of the [Systems](./systems/README.md).
|
Check if your Hostname matches one of the [Hosts](#hosts) in the config.
|
||||||
```bash
|
```bash
|
||||||
hostname
|
hostname
|
||||||
```
|
```
|
||||||
<details>
|
<details>
|
||||||
<summary>Hostname does not Match (click to expand)</summary>
|
<summary>Hostname does not Match (click to expand)</summary>
|
||||||
|
|
||||||
Install NixOS on the current System with forced Hostname.
|
Install NixOS on the current system with forced hostname.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/Project/aux-config
|
cd ~/Project/aux-config
|
||||||
sudo nixos-rebuild switch --flake .#LoyAdjo
|
sudo nixos-rebuild switch --flake .#voloxo
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Warning**
|
> **Warning**
|
||||||
>
|
>
|
||||||
> This will change the Hostname of your System to LoyAdjo!
|
> This will change the Hostname of your System to voloxo!
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
Install NixOS System with current Hostname.
|
Install NixOS for your current Hostname.
|
||||||
```bash
|
```bash
|
||||||
cd ~/Project/aux-config
|
cd ~/Project/aux-config
|
||||||
sudo nixos-rebuild switch --flake .
|
sudo nixos-rebuild switch --flake .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Updating the Flake based NixOS installation
|
### Updating the Flake Based NixOS Installation
|
||||||
```bash
|
```bash
|
||||||
cd ~/Project/aux-config
|
cd ~/Project/aux-config
|
||||||
sudo nix flake --update # This Updates the flake.lock
|
sudo nix flake --update # This Updates the flake.lock
|
||||||
sudo nixos-rebuild switch --flake .
|
sudo nixos-rebuild switch --flake .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Modify NixOS installation
|
### Modify NixOS Installation
|
||||||
1. Edit the config in ~/Project/aux-config `vim system/x86_64-linux/$HOST/default.nix`
|
1. Edit the config in ~/Project/aux-config `vim system/x86_64-linux/$HOST/default.nix`
|
||||||
2. Stage the Changes if you created or deleted Files `git add .` (They will be ignored if you miss this step!)
|
2. Stage the Changes if you created or deleted Files `git add .` (They will be ignored if you miss this step!)
|
||||||
3. Build your System to apply the changes `sudo nixos-rebuild switch --flake .`
|
3. Build your System to apply the changes `sudo nixos-rebuild switch --flake .`
|
||||||
4. Commit your Changes if satisfied `git commit -m "Added Software hello-world"`
|
4. Commit your Changes if satisfied `git commit -m "Added Software hello-world"`
|
||||||
5. Then Push your Changes to the Remote, so that other systems can update `git push`
|
5. Then Push your Changes to the Remote, so that other systems can update `git push`
|
||||||
|
|
||||||
## Used Work
|
## Hosts
|
||||||
|
|
||||||
[Server Icon](./assets/server-solid.svg) © [FontAwesome](https://fontawesome.com) under the [CC BY 4.0 License](https://creativecommons.org/licenses/by/4.0/)
|
### [HyperC](./systems/x86_64-linux/HyperC)
|
||||||
|
Surface Pro 2017 Tablet
|
||||||
|
|
||||||
|
User: [kb@HyperC](./homes/x86_64-linux/kb@HyperC)
|
||||||
|
|
||||||
|
Cpu: Intel i5-7300U
|
||||||
|
|
||||||
|
Ram: 8GB
|
||||||
|
|
||||||
|
### [LoyAdjo](./systems/x86_64-linux/LoyAdjo)
|
||||||
|
My Gaming Desktop
|
||||||
|
|
||||||
|
User: [kb@LoyAdjo](./homes/x86_64-linux/kb@LoyAdjo)
|
||||||
|
|
||||||
|
Cpu: AMD Ryzen 5 5600X
|
||||||
|
|
||||||
|
Ram: 32GB
|
||||||
|
|
||||||
|
Gpu: NVIDIA GeForce GTX 1070
|
||||||
|
|
||||||
|
### [kb-game-01](./systems/x86_64-linux/kb-game-01)
|
||||||
|
My KVM Server for Gameservers
|
||||||
|
|
||||||
|
Cpu: AMD EPYC 7702P 64-Core (4 Cores)
|
||||||
|
|
||||||
|
Ram: 16GB
|
||||||
|
|
||||||
|
### [U3ncSovm](./systems/x86_64-linux/U3ncSovm)
|
||||||
|
My NAS Server, currently under construction only as VM.
|
||||||
|
|
||||||
|
Cpu: 3 Cores of Host
|
||||||
|
|
||||||
|
Ram: 3GB of Host
|
||||||
|
|
||||||
|
Build: `nixos-rebuild build-vm --flake .#U3ncSovm`
|
||||||
|
|
||||||
|
### [Rubtrm](./systems/i686-linux/Rubtrm)
|
||||||
|
My Lenovo ideapad S10 4333-A13
|
||||||
|
|
||||||
|
Cpu: Intel Atom N270 (2 Cores, 1.6GHz)
|
||||||
|
|
||||||
|
Ram: 2GB
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[MIT © kB01](./LICENSE)
|
[MIT © kB01](../LICENSE)
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 53 KiB |
Binary file not shown.
Before Width: | Height: | Size: 53 KiB |
Binary file not shown.
Before Width: | Height: | Size: 47 KiB |
Binary file not shown.
Before Width: | Height: | Size: 57 KiB |
Binary file not shown.
Before Width: | Height: | Size: 53 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg>
|
|
Before Width: | Height: | Size: 627 B |
78
modules/home/services/numen/default.nix
Normal file
78
modules/home/services/numen/default.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
# Source: https://github.com/Lykos153/numen-nix
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.numen;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.numen = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
numenPkg = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.kb-one.numen;
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
|
||||||
|
model = mkOption {
|
||||||
|
type = types.pathInStore;
|
||||||
|
default = "${pkgs.kb-one.vosk-model-small-en-us}/usr/share/vosk-models/small-en-us/";
|
||||||
|
example = "vosk-model-small-en-us";
|
||||||
|
description = ''
|
||||||
|
Vosk model to be loaded by numen.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
phrases = mkOption {
|
||||||
|
type = types.listOf types.path;
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
Phrases to be loaded by numen. If empty, the default phrases are used.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extraArgs = mkOption {
|
||||||
|
type = types.singleLineStr;
|
||||||
|
default = "";
|
||||||
|
description = ''
|
||||||
|
Additional arguments to be passed to numen.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dotoolXkbLayout = mkOption {
|
||||||
|
type = types.singleLineStr;
|
||||||
|
default = "en";
|
||||||
|
description = ''
|
||||||
|
The XKB keyboard layout that should be used by dotool.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.user.services.numen = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Numen voice control";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
Service.Environment = [
|
||||||
|
"DOTOOL_XKB_LAYOUT=${cfg.dotoolXkbLayout}"
|
||||||
|
"NUMEN_MODEL=${cfg.model}"
|
||||||
|
];
|
||||||
|
Service.ExecStart = "${cfg.numenPkg}/bin/numen ${cfg.extraArgs} ${lib.strings.concatStringsSep " " cfg.phrases}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,105 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
# Source: https://github.com/Lykos153/numen-nix
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.services.numen;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.services.numen = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Enables Numen Voice Control. Only available to Users in Group "input".
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
numenPkg = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = pkgs.kb-one.numen;
|
|
||||||
};
|
|
||||||
|
|
||||||
modelPkg = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = pkgs.kb-one.vosk-model-small-en-us;
|
|
||||||
description = ''
|
|
||||||
Vosk model to be loaded by numen. Overrides modelPkg!
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# 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 {
|
|
||||||
type = types.package;
|
|
||||||
default = pkgs.kb-one.dotool;
|
|
||||||
};
|
|
||||||
|
|
||||||
autoStart = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
phrases = mkOption {
|
|
||||||
type = types.listOf types.path;
|
|
||||||
default = [
|
|
||||||
./phrases/character.phrases
|
|
||||||
./phrases/control.phrases
|
|
||||||
./phrases/environment.phrases
|
|
||||||
./phrases/voice.phrases
|
|
||||||
];
|
|
||||||
description = ''
|
|
||||||
Phrases to be loaded by numen. If empty, the default phrases are used.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraArgs = mkOption {
|
|
||||||
type = types.singleLineStr;
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Additional arguments to be passed to numen.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
dotoolXkbLayout = mkOption {
|
|
||||||
type = types.singleLineStr;
|
|
||||||
default = "de";
|
|
||||||
description = ''
|
|
||||||
The XKB keyboard layout that should be used by dotool.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
|
|
||||||
# System Configuration
|
|
||||||
environment.systemPackages = [
|
|
||||||
cfg.numenPkg
|
|
||||||
cfg.dotoolPkg
|
|
||||||
cfg.modelPkg
|
|
||||||
];
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Enable AutoStart Service
|
|
||||||
systemd.user.services.numen = mkIf cfg.autoStart {
|
|
||||||
description = "Numen voice control";
|
|
||||||
after = [ "graphical-session-pre.target" ];
|
|
||||||
partOf = [ "graphical-session.target" ];
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
environment = {
|
|
||||||
DOTOOL_XKB_LAYOUT = "${cfg.dotoolXkbLayout}";
|
|
||||||
NUMEN_MODEL = "${cfg.modelPkg}/usr/share/vosk-models/small-en-us/";
|
|
||||||
};
|
|
||||||
serviceConfig.ExecStart = "${cfg.numenPkg}/bin/numen ${cfg.extraArgs} ${lib.strings.concatStringsSep " " cfg.phrases}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
air: press a
|
|
||||||
bat: press b
|
|
||||||
cap: press c
|
|
||||||
drum: press d
|
|
||||||
each: press e
|
|
||||||
fig: press f
|
|
||||||
gust: press g
|
|
||||||
hoof: press h
|
|
||||||
ice: press i
|
|
||||||
jive: press j
|
|
||||||
kid: press k
|
|
||||||
link: press l
|
|
||||||
made: press m
|
|
||||||
nerd: press n
|
|
||||||
odd: press o
|
|
||||||
pit: press p
|
|
||||||
quench: press q
|
|
||||||
red: press r
|
|
||||||
sun: press s
|
|
||||||
trap: press t
|
|
||||||
urge: press u
|
|
||||||
void: press v
|
|
||||||
whiz: press w
|
|
||||||
plex: press x
|
|
||||||
yank: press y
|
|
||||||
zip: press z
|
|
||||||
|
|
||||||
newt: press 0
|
|
||||||
one: press 1
|
|
||||||
two: press 2
|
|
||||||
three: press 3
|
|
||||||
four: press 4
|
|
||||||
five: press 5
|
|
||||||
six: press 6
|
|
||||||
sept: press 7
|
|
||||||
eight: press 8
|
|
||||||
nine: press 9
|
|
||||||
|
|
||||||
ask: press question
|
|
||||||
plus: press plus
|
|
||||||
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
|
|
||||||
hash: press numbersign
|
|
||||||
mood: press percent
|
|
||||||
blunt: press asciicircum
|
|
||||||
snail: press at
|
|
||||||
gain: press ampersand
|
|
||||||
vert: press bar
|
|
||||||
spoke: press quotedbl
|
|
||||||
mark: press apostrophe
|
|
||||||
tick: press grave
|
|
||||||
slash: press slash
|
|
||||||
slope: press backslash
|
|
||||||
list: press comma
|
|
||||||
point: press period
|
|
||||||
match: press equal
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
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
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
# 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
|
|
|
@ -1,67 +0,0 @@
|
||||||
# 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,198 +0,0 @@
|
||||||
# Systems
|
|
||||||
|
|
||||||
## [LANA9Z](./x86_64-linux/LANA9Z)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/LANA9Z.jpeg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td><a href="../homes/x86_64-linux/kb@LANA9Z">kb@LANA9Z</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.intel.com/content/www/us/en/products/sku/53464/intel-core-i72640m-processor-4m-cache-up-to-3-50-ghz/specifications.html">Intel i7-2640M</a>, 2 Cores, max 3.50 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>16 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>MacBook Pro 2011 (MacBook Pro 8,1)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## [LoyAdjo](./x86_64-linux/LoyAdjo)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/LoyAdjo.jpeg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td><a href="../homes/x86_64-linux/kb@LoyAdjo">kb@LoyAdjo</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.amd.com/en/products/processors/desktops/ryzen/5000-series/amd-ryzen-5-5600x.html">AMD Ryzen 5 5600X</a>, 6 Cores, max 4.60 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Gpu</td>
|
|
||||||
<td><a href="https://www.nvidia.com/en-us/geforce/10-series/">GeForce GTX 1070</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>32 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>Custom Desktop Computer</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Ohybke
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/Ohybke.jpeg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td>kb@Ohybke</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.intel.com/content/www/us/en/products/sku/196586/intel-core-i31000ng4-processor-4m-cache-up-to-3-20-ghz/specifications.html">Intel i3-1000NG4</a>, 2 Cores, 3.20 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>8 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>MacBook Air early 2020 (MacBook Air 9,1)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## [HyperC](./x86_64-linux/HyperC)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/HyperC.jpeg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td><a href="../homes/x86_64-linux/kb@HyperC">kb@HyperC</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.intel.com/content/www/us/en/products/sku/97472/intel-core-i57300u-processor-3m-cache-up-to-3-50-ghz/specifications.html">Intel i5-7300U</a>, 2 Cores, max 3.50 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>8 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>Surface Pro 2017 (Surface Pro 5)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## [Rubtrm](./i686-linux/Rubtrm)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/Rubtrm.jpeg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td>kb@Rubtrm</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.intel.com/content/www/us/en/products/sku/36331/intel-atom-processor-n270-512k-cache-1-60-ghz-533-mhz-fsb/specifications.html">Intel Atom N270</a>, 2 Cores, 1.60 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>2 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>Lenovo ideapad S10 4333-A13</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## [kb-game-01](./x86_64-linux/kb-game-01)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/server-solid.svg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td>master@kb-game-01</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td><a href="https://www.amd.com/en/products/processors/server/epyc/7002-series.html">AMD EPYC 7702P</a>, 4 / 64 Cores, max 3.35 GHz</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>16 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>KVM Server for Game-Servers (or Build-Server)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## [U3ncSovm](./x86_64-linux/U3ncSovm)
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="../assets/server-solid.svg" width="152" height="114"></td>
|
|
||||||
<td>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>User</td>
|
|
||||||
<td>master@U3ncSovm</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Cpu</td>
|
|
||||||
<td>...</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Ram</td>
|
|
||||||
<td>...</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Device</td>
|
|
||||||
<td>Custom NAS Server, currently under construction only as VM.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Build</td>
|
|
||||||
<td><pre lang="bash">nixos-rebuild build-vm --flake .#U3ncSovm</pre></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[ # Include the results of the hardware scan.
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -27,14 +27,19 @@
|
||||||
|
|
||||||
networking.hostName = "LoyAdjo";
|
networking.hostName = "LoyAdjo";
|
||||||
|
|
||||||
# Wireless
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Enable Bluetooth
|
||||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||||
|
|
||||||
# Locale
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "de_DE.UTF-8";
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
@ -47,22 +52,27 @@
|
||||||
LC_TIME = "de_DE.UTF-8";
|
LC_TIME = "de_DE.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# GUI
|
# Enable the X11 windowing system.
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
services.displayManager.sddm.enable = true;
|
services.displayManager.sddm.enable = true;
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
# Input
|
# Configure keymap in X11
|
||||||
services.xserver.xkb.layout = "de";
|
services.xserver.xkb = {
|
||||||
services.xserver.xkb.variant = "";
|
layout = "de";
|
||||||
console.keyMap = "de";
|
variant = "";
|
||||||
services.numen = {
|
|
||||||
enable = true;
|
|
||||||
autoStart = false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Output
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
services.pulseaudio.enable = false;
|
services.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
@ -71,14 +81,13 @@
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Users
|
|
||||||
users.users.kb = { # Managed by Homemanager
|
users.users.kb = { # Managed by Homemanager
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "kB";
|
description = "kB";
|
||||||
extraGroups = [ "networkmanager" "wheel" "input" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.remotebuild = {
|
users.users.remotebuild = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
|
@ -88,8 +97,14 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# SSH
|
# Enable automatic login for the user.
|
||||||
|
# services.xserver.displayManager.autoLogin.enable = true;
|
||||||
|
# services.xserver.displayManager.autoLogin.user = "kb";
|
||||||
|
|
||||||
|
# services.gpg-agent.enable = true;
|
||||||
programs.ssh.startAgent = true;
|
programs.ssh.startAgent = true;
|
||||||
|
|
||||||
|
# SSH
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.PasswordAuthentication = false;
|
settings.PasswordAuthentication = false;
|
||||||
|
@ -98,15 +113,15 @@
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# System Packages
|
# List packages installed in system profile. To search, run: $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [ # To search, run: $ nix search wget
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
git
|
git
|
||||||
kb-one.numen
|
kb-one.numen
|
||||||
kb-one.dotool
|
kb-one.dotool
|
||||||
kb-one.vosk-model-small-en-us
|
kb-one.vosk-model-small-en-us
|
||||||
tree
|
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "24.05"; # NEVER Change this!
|
system.stateVersion = "24.05"; # NEVER Change this!
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue