]> git.wincent.com - wincent.git/blobdiff - aspects/interception/index.ts
feat(interception): set up udev rules
[wincent.git] / aspects / interception / index.ts
index 4141f58a9333e6435cce142a35dd92a26cbcbca8..4ea423f68975793764e5b5d6d0e23ef95b5a5dda 100644 (file)
@@ -62,8 +62,27 @@ task('create /etc/interception/udevmon.yaml', async () => {
   });
 });
 
+// This being in here is semi-sketchy because it isn't strictly related to
+// Interception Tools, but it _is_ related to the keyboard and udev, so we
+// put it here. Depends on scripts installed by the dotfiles aspect, so the
+// separation of concerns is unclear.
+task('create /etc/udev/rules.d/50-realforce-layout.rules', async () => {
+  await template({
+    notify: 'reload udevadm',
+    path: '/etc/udev/rules.d/50-realforce-layout.rules',
+    src: resource.template('50-realforce-layout.rules.erb'),
+    sudo: true,
+  });
+});
+
 handler('enable udevmon', async () => {
   await command('systemctl', ['enable', 'udevmon', '--now'], {
     sudo: true,
   });
 });
+
+handler('reload udevadm', async () => {
+  await command('udevadm', ['control', '--reload'], {
+    sudo: true,
+  });
+});