adding qmk to guix
Inside of base we now have the appropriate udev rules and the manifest to setup qmk. Also we have qmk setup as a submodule.
This commit is contained in:
parent
f249d24dd1
commit
4ecebc0cdd
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "qmk"]
|
||||||
|
path = qmk/qmk_firmware
|
||||||
|
url = git@gitlab.com:chriscochrun/qmk_firmware.git
|
132
guix/base.scm
132
guix/base.scm
|
@ -35,27 +35,120 @@ root ALL=(ALL) ALL
|
||||||
%wheel ALL=(ALL) ALL
|
%wheel ALL=(ALL) ALL
|
||||||
YOUR-USER-NAME ALL=(ALL) NOPASSWD:/run/current-system/profile/bin/chvt,/run/current-system/profile/bin/loginctl"))
|
YOUR-USER-NAME ALL=(ALL) NOPASSWD:/run/current-system/profile/bin/chvt,/run/current-system/profile/bin/loginctl"))
|
||||||
|
|
||||||
|
|
||||||
|
(define qmk-udev-rules
|
||||||
|
(udev-rule
|
||||||
|
"50-qmk.rules"
|
||||||
|
(string-append
|
||||||
|
"# Atmel DFU
|
||||||
|
### ATmega16U2
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2fef\", TAG+=\"uaccess\"
|
||||||
|
### ATmega32U2
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ff0\", TAG+=\"uaccess\"
|
||||||
|
### ATmega16U4
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ff3\", TAG+=\"uaccess\"
|
||||||
|
### ATmega32U4
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ff4\", TAG+=\"uaccess\"
|
||||||
|
### AT90USB64
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ff9\", TAG+=\"uaccess\"
|
||||||
|
### AT90USB162
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ffa\", TAG+=\"uaccess\"
|
||||||
|
### AT90USB128
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2ffb\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# Input Club
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1c11\", ATTRS{idProduct}==\"b007\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# STM32duino
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1eaf\", ATTRS{idProduct}==\"0003\", TAG+=\"uaccess\"
|
||||||
|
# STM32 DFU
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"df11\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# BootloadHID
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05df\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# USBAspLoader
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05dc\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# USBtinyISP
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1782\", ATTRS{idProduct}==\"0c9f\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# ModemManager should ignore the following devices
|
||||||
|
# Atmel SAM-BA (Massdrop)
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"6124\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
|
||||||
|
# Caterina (Pro Micro)
|
||||||
|
## pid.codes shared PID
|
||||||
|
### Keyboardio Atreus 2 Bootloader
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1209\", ATTRS{idProduct}==\"2302\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
## Spark Fun Electronics
|
||||||
|
### Pro Micro 3V3/8MHz
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1b4f\", ATTRS{idProduct}==\"9203\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### Pro Micro 5V/16MHz
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1b4f\", ATTRS{idProduct}==\"9205\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### LilyPad 3V3/8MHz (and some Pro Micro clones)
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1b4f\", ATTRS{idProduct}==\"9207\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
## Pololu Electronics
|
||||||
|
### A-Star 32U4
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"1ffb\", ATTRS{idProduct}==\"0101\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
## Arduino SA
|
||||||
|
### Leonardo
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"2341\", ATTRS{idProduct}==\"0036\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### Micro
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"2341\", ATTRS{idProduct}==\"0037\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
## Adafruit Industries LLC
|
||||||
|
### Feather 32U4
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"239a\", ATTRS{idProduct}==\"000c\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### ItsyBitsy 32U4 3V3/8MHz
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"239a\", ATTRS{idProduct}==\"000d\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### ItsyBitsy 32U4 5V/16MHz
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"239a\", ATTRS{idProduct}==\"000e\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
## dog hunter AG
|
||||||
|
### Leonardo
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"2a03\", ATTRS{idProduct}==\"0036\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
### Micro
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"2a03\", ATTRS{idProduct}==\"0037\", TAG+=\"uaccess\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"
|
||||||
|
|
||||||
|
# hid_listen
|
||||||
|
KERNEL==\"hidraw*\", MODE=\"0660\", GROUP=\"plugdev\", TAG+=\"uaccess\", TAG+=\"udev-acl\"
|
||||||
|
|
||||||
|
# hid bootloaders
|
||||||
|
## QMK HID
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"03eb\", ATTRS{idProduct}==\"2067\", TAG+=\"uaccess\"
|
||||||
|
## PJRC's HalfKay
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"0478\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# APM32 DFU
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"314b\", ATTRS{idProduct}==\"0106\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# GD32V DFU
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"28e9\", ATTRS{idProduct}==\"0189\", TAG+=\"uaccess\"
|
||||||
|
|
||||||
|
# WB32 DFU
|
||||||
|
SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"342d\", ATTRS{idProduct}==\"dfa0\", TAG+=\"uaccess\"
|
||||||
|
")))
|
||||||
|
|
||||||
(define-public base-system-packages
|
(define-public base-system-packages
|
||||||
(append (map specification->package
|
(append (map specification->package
|
||||||
'( "nss-certs"
|
'( "nss-certs"
|
||||||
"sway"
|
"sway"
|
||||||
"dbus-glib"
|
"dbus-glib"
|
||||||
"hyprland"
|
"hyprland"
|
||||||
"mesa"
|
"mesa"
|
||||||
"mesa-utils"
|
"mesa-utils"
|
||||||
"libvdpau"
|
"libvdpau"
|
||||||
"android-udev-rules"
|
"android-udev-rules"
|
||||||
"adb"
|
"adb"
|
||||||
"fastboot"
|
"fastboot"
|
||||||
"vulkan-tools"
|
"vulkan-tools"
|
||||||
"vulkan-headers"
|
"vulkan-headers"
|
||||||
"libva"
|
"libva"
|
||||||
"libva-utils"
|
"libva-utils"
|
||||||
"intel-vaapi-driver"
|
"intel-vaapi-driver"
|
||||||
"libvdpau"
|
"libvdpau"
|
||||||
"libvdpau-va-gl"
|
"libvdpau-va-gl"
|
||||||
"emacs-next-pgtk"))
|
"emacs-next-pgtk"))
|
||||||
%base-packages))
|
%base-packages))
|
||||||
|
|
||||||
(define-public base-system-services
|
(define-public base-system-services
|
||||||
(append
|
(append
|
||||||
|
@ -75,6 +168,7 @@ YOUR-USER-NAME ALL=(ALL) NOPASSWD:/run/current-system/profile/bin/chvt,/run/cur
|
||||||
(udev-rules-service 'brightnessctl-udev-rules brightnessctl)
|
(udev-rules-service 'brightnessctl-udev-rules brightnessctl)
|
||||||
(udev-rules-service 'android android-udev-rules
|
(udev-rules-service 'android android-udev-rules
|
||||||
#:groups '("adbusers"))
|
#:groups '("adbusers"))
|
||||||
|
(udev-rules-service 'qmk qmk-udev-rules)
|
||||||
|
|
||||||
(service nix-service-type)
|
(service nix-service-type)
|
||||||
|
|
||||||
|
|
1
qmk/qmk_firmware
Submodule
1
qmk/qmk_firmware
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 7dad54fdded54f7ea4bf66214385b77025961536
|
Loading…
Reference in a new issue