summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/x/x13
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2021-03-12 20:12:56 +0100
committermakefu <github@syntax-fehler.de>2021-03-12 20:12:56 +0100
commite377be755fa38b0ea4936b4c55dedfab4200bf21 (patch)
treed239587485e7d9775d19d2f896d28b3e087d2f60 /makefu/1systems/x/x13
parentf20695084ed681adecb9fbfa459ffb46591812f2 (diff)
ma x.r: cleanup input
Diffstat (limited to 'makefu/1systems/x/x13')
-rw-r--r--makefu/1systems/x/x13/default.nix22
-rw-r--r--makefu/1systems/x/x13/input.nix33
2 files changed, 36 insertions, 19 deletions
diff --git a/makefu/1systems/x/x13/default.nix b/makefu/1systems/x/x13/default.nix
index b0400232e..ac601845a 100644
--- a/makefu/1systems/x/x13/default.nix
+++ b/makefu/1systems/x/x13/default.nix
@@ -8,6 +8,7 @@
<nixos-hardware/lenovo/thinkpad/l14/amd> # close enough
# <stockholm/makefu/2configs/hw/tpm.nix>
<stockholm/makefu/2configs/hw/ssd.nix>
+ <stockholm/makefu/2configs/hw/xmm7360.nix>
];
boot.zfs.requestEncryptionCredentials = true;
networking.hostId = "f8b8e0a2";
@@ -19,32 +20,15 @@
services.xserver.videoDrivers = [
"amdgpu"
];
- hardware.opengl.extraPackages = [ pkgs.amdvlk ];
+ hardware.opengl.extraPackages = [ pkgs.amdvlk pkgs.rocm-opencl-icd ];
# is required for amd graphics support ( xorg wont boot otherwise )
boot.kernelPackages = pkgs.linuxPackages_latest;
+
environment.variables.VK_ICD_FILENAMES =
"/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";
programs.light.enable = true;
- services.actkbd = {
- enable = true;
- bindings = [
- { keys = [ 225 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -A 10"; }
- { keys = [ 224 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -U 10"; }
- { keys = [ 227 ]; events = [ "key" ]; command = builtins.toString (
- pkgs.writers.writeDash "toggle_lcdshadow" ''
- proc=/proc/acpi/ibm/lcdshadow
- status=$(${pkgs.gawk}/bin/awk '/status:/{print $2}' "$proc")
- if [ "$status" -eq 0 ];then
- echo 1 > "$proc"
- else
- echo 0 > "$proc"
- fi
- '');
- }
- ];
- };
users.groups.video = {};
users.users.makefu.extraGroups = [ "video" ];
diff --git a/makefu/1systems/x/x13/input.nix b/makefu/1systems/x/x13/input.nix
index 68b855d8e..775e19303 100644
--- a/makefu/1systems/x/x13/input.nix
+++ b/makefu/1systems/x/x13/input.nix
@@ -1,3 +1,4 @@
+{ pkgs, lib, ... }:
{
# current issues:
# 1. for pressing insert hold shift+fn+Fin
@@ -9,5 +10,37 @@
xinput set-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
# configure timeout of pressing and holding middle button
# xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
+ xinput disable 'ETPS/2 Elantech Touchpad'
'';
+ boot.kernelParams = [
+ #"psmouse.proto=imps"
+ #"psmouse.proto=bare"
+ #"psmouse.resetafter=0"
+ "psmouse.synaptics_intertouch=1" # echo 1 > /sys/devices/platform/i8042/serio1/reg_07
+ ];
+
+ programs.light.enable = true;
+ services.actkbd = {
+ enable = true;
+ bindings = [
+ { keys = [ 225 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -A 10"; } # fn - F5
+ { keys = [ 224 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -U 10"; } # fn - F6
+ # fn - 4 => suspend
+ # fn - d => lcdshadow
+ { keys = [ 227 ]; events = [ "key" ]; command = builtins.toString ( # fn - F7
+ pkgs.writers.writeDash "toggle_touchpad" ''
+ PATH=${lib.makeBinPath [ pkgs.xorg.xinput pkgs.gnugrep ]}
+ DISPLAY=:0
+ export DISPLAY PATH
+
+ device=$(xinput list --name-only | grep Touchpad)
+ if [ "$(xinput list-props "$device" | grep -P ".*Device Enabled.*\K.(?=$)" -o)" -eq 1 ];then
+ xinput disable "$device"
+ else
+ xinput enable "$device"
+ fi
+ '');
+ }
+ ];
+ };
}