2021-10-10 06:59:41 -07:00
{ profiles , suites , . . . }:
{
imports = [
./configuration.nix
profiles . users . anish
2021-11-13 09:47:38 -08:00
profiles . mossnet-hosts
2021-10-10 06:59:41 -07:00
] ++ suites . curve ;
2021-11-13 09:47:38 -08:00
home-manager . users . anish = { self , suites , . . . }: {
imports = [ ] ++ suites . hmBase ;
2021-10-13 05:52:50 -07:00
} ;
2021-10-10 06:59:41 -07:00
#bud.enable = true;
2021-11-29 04:11:58 -08:00
# enable adb
# TODO move this (it's for KaiOS WebIDE devShell?)
programs . adb . enable = true ;
2021-12-27 00:27:49 -08:00
#virtualisation.docker.enable = true;
2021-11-29 04:11:58 -08:00
services . udev . extraRules = ''
2022-02-25 06:04:20 -08:00
# Monitor plugged in
KERNEL == " c a r d 0 " , SUBSYSTEM == " d r m " , ENV { DISPLAY } = " : 0 " , ENV { XAUTHORITY } = " / h o m e / a n i s h / . X a u t h o r i t y " , RUN + = " / h o m e / a n i s h / b i n / h o t p l u g - m o n i t o r . s h " # TODO: add this file to nix home-manager
2021-11-29 04:11:58 -08:00
# Qualcomm EDL
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 5 c 6 " , ATTRS { idProduct } == " 9 0 0 8 " , MODE = " 0 6 6 6 " , GROUP = " p l u g d e v "
# Qualcomm Memory Debug
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 5 c 6 " , ATTRS { idProduct } == " 9 0 0 6 " , MODE = " 0 6 6 6 " , GROUP = " p l u g d e v "
2022-02-08 02:03:49 -08:00
# Atmel DFU
### ATmega16U2
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f e f " , TAG + = " u a c c e s s "
### ATmega32U2
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f 0 " , TAG + = " u a c c e s s "
### ATmega16U4
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f 3 " , TAG + = " u a c c e s s "
### ATmega32U4
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f 4 " , TAG + = " u a c c e s s "
### AT90USB64
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f 9 " , TAG + = " u a c c e s s "
### AT90USB162
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f a " , TAG + = " u a c c e s s "
### AT90USB128
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 f f b " , TAG + = " u a c c e s s "
# Input Club
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 c 1 1 " , ATTRS { idProduct } == " b 0 0 7 " , TAG + = " u a c c e s s "
# STM32duino
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 e a f " , ATTRS { idProduct } == " 0 0 0 3 " , TAG + = " u a c c e s s "
# STM32 DFU
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 4 8 3 " , ATTRS { idProduct } == " d f 1 1 " , TAG + = " u a c c e s s "
# BootloadHID
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 6 c 0 " , ATTRS { idProduct } == " 0 5 d f " , TAG + = " u a c c e s s "
# USBAspLoader
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 6 c 0 " , ATTRS { idProduct } == " 0 5 d c " , TAG + = " u a c c e s s "
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 6 1 2 4 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
# Caterina (Pro Micro)
## pid.codes shared PID
### Keyboardio Atreus 2 Bootloader
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 2 0 9 " , ATTRS { idProduct } == " 2 3 0 2 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 b 4 f " , ATTRS { idProduct } == " 9 2 0 3 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### Pro Micro 5V/16MHz
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 b 4 f " , ATTRS { idProduct } == " 9 2 0 5 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 b 4 f " , ATTRS { idProduct } == " 9 2 0 7 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 f f b " , ATTRS { idProduct } == " 0 1 0 1 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
## Arduino SA
### Leonardo
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 3 4 1 " , ATTRS { idProduct } == " 0 0 3 6 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### Micro
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 3 4 1 " , ATTRS { idProduct } == " 0 0 3 7 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 3 9 a " , ATTRS { idProduct } == " 0 0 0 c " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 3 9 a " , ATTRS { idProduct } == " 0 0 0 d " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 3 9 a " , ATTRS { idProduct } == " 0 0 0 e " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
## dog hunter AG
### Leonardo
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 a 0 3 " , ATTRS { idProduct } == " 0 0 3 6 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
### Micro
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 2 a 0 3 " , ATTRS { idProduct } == " 0 0 3 7 " , TAG + = " u a c c e s s " , ENV { ID_MM_DEVICE_IGNORE } = " 1 "
# hid_listen
KERNEL == " h i d r a w * " , MODE = " 0 6 6 0 " , GROUP = " p l u g d e v " , TAG + = " u a c c e s s " , TAG + = " u d e v - a c l "
# hid bootloaders
## QMK HID
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 0 3 e b " , ATTRS { idProduct } == " 2 0 6 7 " , TAG + = " u a c c e s s "
## PJRC's HalfKay
SUBSYSTEMS == " u s b " , ATTRS { idVendor } == " 1 6 c 0 " , ATTRS { idProduct } == " 0 4 7 8 " , TAG + = " u a c c e s s "
2021-11-29 04:11:58 -08:00
'' ;
boot . blacklistedKernelModules = [ " q c s e r i a l " ] ;
2021-12-27 00:27:49 -08:00
users . users . anish . extraGroups = [ " a d b u s e r s " " w h e e l " " p l u g d e v " ] ;
2021-11-29 04:11:58 -08:00
# enable wireguard tunnel
# privKey = "/run/secrets/curve-wg"; -> local config
# publicKey = "..."; -> shipped to server config
# IP = "10.0.69.2"; -> shipped to both configs
2021-10-10 06:59:41 -07:00
}