3 Commits

Author SHA1 Message Date
842f373101 switch from keyd to kanata
more reliable, doesn't break on update. also allows the escape key to
timeout and turn into lctrl after 1 second, which might be nicer
behavior
2024-08-07 23:24:28 -04:00
65aa25b213 add moonlight for game streaming 2024-08-07 22:58:58 -04:00
5b2fef7e01 comment on choosing not to switch to ddclient 2024-08-07 22:57:31 -04:00
6 changed files with 40 additions and 26 deletions

View File

@ -118,6 +118,7 @@ inputs.nixpkgs.lib.nixosSystem {
dwarf-fortress.enable = true;
enable = true;
steam.enable = true;
moonlight.enable = true;
legendary.enable = true;
lutris.enable = true;
ryujinx.enable = true;

View File

@ -12,6 +12,7 @@
./legendary.nix
./lutris.nix
./minecraft-server.nix
./moonlight.nix
./ryujinx.nix
./steam.nix
];

View File

@ -0,0 +1,14 @@
{
config,
pkgs,
lib,
...
}:
{
options.gaming.moonlight.enable = lib.mkEnableOption "Enable Moonlight game streaming client.";
config = lib.mkIf config.gaming.moonlight.enable {
environment.systemPackages = with pkgs; [ moonlight-qt ];
};
}

View File

@ -209,12 +209,6 @@
label-foreground = config.theme.colors.base06;
# format-background = colors.background;
};
"module/keyboard" = {
type = "custom/text";
content = "󰌌";
click-left = "doas systemctl restart keyd";
content-foreground = config.theme.colors.base04;
};
"module/power" = {
type = "custom/text";
content = " ";

View File

@ -1,9 +1,4 @@
{
config,
pkgs,
lib,
...
}:
{ config, lib, ... }:
{
config = lib.mkIf config.physical {
@ -17,24 +12,30 @@
autoRepeatInterval = 40;
};
# Use capslock as escape and/or control
services.keyd = {
# Swap Caps-Lock with Escape when pressed or LCtrl when held/combined with others
# Inspired by: https://www.youtube.com/watch?v=XuQVbZ0wENE
services.kanata = {
enable = true;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "overload(control, esc)";
};
};
};
keyboards.default = {
devices = [
"/dev/input/by-id/usb-Logitech_Logitech_G710_Keyboard-event-kbd"
"/dev/input/by-id/usb-Logitech_Logitech_G710_Keyboard-if01-event-kbd"
];
extraDefCfg = "process-unmapped-keys yes";
config = ''
(defsrc
caps
)
(defalias
escctrl (tap-hold-press 1000 1000 esc lctrl)
)
(deflayer base
@escctrl
)
'';
};
};
# For some reason, keyd doesn't restart properly when updating
system.activationScripts.keyd.text = "${pkgs.systemd}/bin/systemctl restart keyd.service";
# Enable num lock on login
home-manager.users.${config.user}.xsession.numlock.enable = true;
};

View File

@ -116,6 +116,9 @@ in
[ "127.0.0.1" ] ++ cloudflareIpRanges
);
# Using dyn-dns instead of ddclient because I can't find a way to choose
# between proxied and non-proxied records for Cloudflare using just
# ddclient.
services.cloudflare-dyndns =
lib.mkIf ((builtins.length config.services.cloudflare-dyndns.domains) > 0)
{