diff --git a/flake.lock b/flake.lock index ff94efd..56df382 100644 --- a/flake.lock +++ b/flake.lock @@ -285,6 +285,27 @@ "type": "github" } }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1659877975, @@ -538,6 +559,28 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": [ + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1739903703, + "narHash": "sha256-w2tTcjx39lJoPDaFbIxi+INIjAKE0jbIx9TNjj9ghmg=", + "owner": "nix-community", + "repo": "NUR", + "rev": "2215ad5c4347f522523715e809f5f2022509f504", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -576,7 +619,8 @@ "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", - "treefmt-nix": "treefmt-nix_2", + "nur": "nur", + "treefmt-nix": "treefmt-nix_3", "walker": "walker" } }, @@ -663,6 +707,27 @@ } }, "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { "inputs": { "nixpkgs": "nixpkgs_3" }, diff --git a/flake.nix b/flake.nix index c74d8e9..895b894 100644 --- a/flake.nix +++ b/flake.nix @@ -25,6 +25,9 @@ home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + nur.url = "github:nix-community/NUR"; + nur.inputs.nixpkgs.follows = "nixpkgs"; + disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/justfile b/justfile index 795ebd8..5b498ca 100644 --- a/justfile +++ b/justfile @@ -68,7 +68,6 @@ deploy hostname *ARGS: --flake .#{{ hostname }} \ {{ ARGS }} switch - [group('deploy')] deploy-remote hostname target: #!/usr/bin/env -S bash -e diff --git a/parts/hosts/desktop/facter.json b/parts/hosts/desktop/facter.json index 0a4c87d..0293b6a 100644 --- a/parts/hosts/desktop/facter.json +++ b/parts/hosts/desktop/facter.json @@ -25,10 +25,7 @@ { "index": 60, "attached_to": 76, - "class_list": [ - "usb", - "bluetooth" - ], + "class_list": ["usb", "bluetooth"], "bus_type": { "hex": "0086", "name": "USB", @@ -98,25 +95,15 @@ "hotplug": "usb", "driver": "btusb", "driver_module": "btusb", - "drivers": [ - "btusb" - ], - "driver_modules": [ - "btusb" - ], + "drivers": ["btusb"], + "driver_modules": ["btusb"], "driver_info": { "type": "module", - "db_entry_0": [ - "btusb" - ], + "db_entry_0": ["btusb"], "active": true, "modprobe": true, - "names": [ - "btusb" - ], - "module_args": [ - "" - ], + "names": ["btusb"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v8087p0AAAd0002dcE0dsc01dp01icE0isc01ip01in00" @@ -124,10 +111,7 @@ { "index": 77, "attached_to": 76, - "class_list": [ - "usb", - "bluetooth" - ], + "class_list": ["usb", "bluetooth"], "bus_type": { "hex": "0086", "name": "USB", @@ -197,25 +181,15 @@ "hotplug": "usb", "driver": "btusb", "driver_module": "btusb", - "drivers": [ - "btusb" - ], - "driver_modules": [ - "btusb" - ], + "drivers": ["btusb"], + "driver_modules": ["btusb"], "driver_info": { "type": "module", - "db_entry_0": [ - "btusb" - ], + "db_entry_0": ["btusb"], "active": true, "modprobe": true, - "names": [ - "btusb" - ], - "module_args": [ - "" - ], + "names": ["btusb"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v8087p0AAAd0002dcE0dsc01dp01icE0isc01ip01in01" @@ -225,10 +199,7 @@ { "index": 22, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -294,18 +265,13 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d0000A338sv00001458sd00005001bc06sc04i00" }, { "index": 23, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -363,10 +329,7 @@ { "index": 24, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -432,18 +395,13 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d0000A32Csv00001458sd00005001bc06sc04i00" }, { "index": 25, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -509,18 +467,13 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d00001901sv00001458sd00005000bc06sc04i00" }, { "index": 26, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -586,18 +539,13 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d0000A33Fsv00001458sd00005001bc06sc04i00" }, { "index": 32, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -663,18 +611,13 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d0000A340sv00001458sd00005001bc06sc04i00" }, { "index": 35, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -728,25 +671,15 @@ }, "driver": "skl_uncore", "driver_module": "intel_uncore", - "drivers": [ - "skl_uncore" - ], - "driver_modules": [ - "intel_uncore" - ], + "drivers": ["skl_uncore"], + "driver_modules": ["intel_uncore"], "driver_info": { "type": "module", - "db_entry_0": [ - "ie31200_edac" - ], + "db_entry_0": ["ie31200_edac"], "active": false, "modprobe": true, - "names": [ - "ie31200_edac" - ], - "module_args": [ - "" - ], + "names": ["ie31200_edac"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d00003E30sv00001458sd00005000bc06sc00i00", @@ -755,10 +688,7 @@ { "index": 38, "attached_to": 26, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -819,10 +749,7 @@ { "index": 39, "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], + "class_list": ["pci", "bridge"], "bus_type": { "hex": "0004", "name": "PCI", @@ -888,9 +815,7 @@ "prog_if": 0 }, "driver": "pcieport", - "drivers": [ - "pcieport" - ], + "drivers": ["pcieport"], "module_alias": "pci:v00008086d0000A330sv00001458sd00005001bc06sc04i00" } ], @@ -1053,11 +978,7 @@ { "index": 50, "attached_to": 20, - "class_list": [ - "disk", - "block_device", - "nvme" - ], + "class_list": ["disk", "block_device", "nvme"], "bus_type": { "hex": "0096", "name": "NVME", @@ -1132,21 +1053,13 @@ ], "driver": "nvme", "driver_module": "nvme", - "drivers": [ - "nvme" - ], - "driver_modules": [ - "nvme" - ] + "drivers": ["nvme"], + "driver_modules": ["nvme"] }, { "index": 51, "attached_to": 21, - "class_list": [ - "disk", - "ide", - "block_device" - ], + "class_list": ["disk", "ide", "block_device"], "bus_type": { "hex": "0085", "name": "IDE", @@ -1218,19 +1131,12 @@ } ], "driver": "ahci", - "drivers": [ - "ahci", - "sd" - ] + "drivers": ["ahci", "sd"] }, { "index": 52, "attached_to": 21, - "class_list": [ - "disk", - "ide", - "block_device" - ], + "class_list": ["disk", "ide", "block_device"], "bus_type": { "hex": "0085", "name": "IDE", @@ -1297,20 +1203,14 @@ } ], "driver": "ahci", - "drivers": [ - "ahci", - "sd" - ] + "drivers": ["ahci", "sd"] } ], "graphics_card": [ { "index": 30, "attached_to": 25, - "class_list": [ - "graphics_card", - "pci" - ], + "class_list": ["graphics_card", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -1417,25 +1317,15 @@ }, "driver": "nvidia", "driver_module": "nvidia", - "drivers": [ - "nvidia" - ], - "driver_modules": [ - "nvidia" - ], + "drivers": ["nvidia"], + "driver_modules": ["nvidia"], "driver_info": { "type": "module", - "db_entry_0": [ - "nouveau" - ], + "db_entry_0": ["nouveau"], "active": false, "modprobe": true, - "names": [ - "nouveau" - ], - "module_args": [ - "" - ], + "names": ["nouveau"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v000010DEd00001E81sv000010DEsd000013A1bc03sc00i00" @@ -1445,10 +1335,7 @@ { "index": 61, "attached_to": 27, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1520,18 +1407,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" }, { "index": 67, "attached_to": 76, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1601,18 +1483,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v05E3p0608d8536dc09dsc00dp01ic09isc00ip00in00" }, { "index": 68, "attached_to": 67, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1683,18 +1560,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v2109p2813d9011dc09dsc00dp01ic09isc00ip00in00" }, { "index": 71, "attached_to": 27, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1756,18 +1628,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" }, { "index": 76, "attached_to": 43, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1839,18 +1706,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" }, { "index": 86, "attached_to": 43, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1912,18 +1774,13 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" }, { "index": 87, "attached_to": 76, - "class_list": [ - "usb", - "hub" - ], + "class_list": ["usb", "hub"], "bus_type": { "hex": "0086", "name": "USB", @@ -1993,9 +1850,7 @@ }, "hotplug": "usb", "driver": "hub", - "drivers": [ - "hub" - ], + "drivers": ["hub"], "module_alias": "usb:v05E3p0608d8536dc09dsc00dp01ic09isc00ip00in00" } ], @@ -2003,10 +1858,7 @@ { "index": 72, "attached_to": 68, - "class_list": [ - "keyboard", - "usb" - ], + "class_list": ["keyboard", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -2095,12 +1947,8 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "keyboard", "xkb_rules": "xfree86", @@ -2111,10 +1959,7 @@ { "index": 74, "attached_to": 67, - "class_list": [ - "keyboard", - "usb" - ], + "class_list": ["keyboard", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -2205,12 +2050,8 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "keyboard", "xkb_rules": "xfree86", @@ -2221,10 +2062,7 @@ { "index": 78, "attached_to": 76, - "class_list": [ - "keyboard", - "usb" - ], + "class_list": ["keyboard", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -2301,12 +2139,8 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "keyboard", "xkb_rules": "xfree86", @@ -2317,10 +2151,7 @@ { "index": 79, "attached_to": 76, - "class_list": [ - "keyboard", - "usb" - ], + "class_list": ["keyboard", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -2410,12 +2241,8 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "keyboard", "xkb_rules": "xfree86", @@ -2426,10 +2253,7 @@ { "index": 83, "attached_to": 67, - "class_list": [ - "keyboard", - "usb" - ], + "class_list": ["keyboard", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -2506,12 +2330,8 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "keyboard", "xkb_rules": "xfree86", @@ -2524,9 +2344,7 @@ { "index": 19, "attached_to": 0, - "class_list": [ - "memory" - ], + "class_list": ["memory"], "base_class": { "hex": "0101", "name": "Internally Used Class", @@ -2558,9 +2376,7 @@ { "index": 45, "attached_to": 30, - "class_list": [ - "monitor" - ], + "class_list": ["monitor"], "base_class": { "hex": "0100", "name": "Monitor", @@ -2767,9 +2583,7 @@ { "index": 46, "attached_to": 30, - "class_list": [ - "monitor" - ], + "class_list": ["monitor"], "base_class": { "hex": "0100", "name": "Monitor", @@ -3004,9 +2818,7 @@ { "index": 47, "attached_to": 30, - "class_list": [ - "monitor" - ], + "class_list": ["monitor"], "base_class": { "hex": "0100", "name": "Monitor", @@ -3129,9 +2941,7 @@ { "index": 48, "attached_to": 30, - "class_list": [ - "monitor" - ], + "class_list": ["monitor"], "base_class": { "hex": "0100", "name": "Monitor", @@ -3348,10 +3158,7 @@ { "index": 53, "attached_to": 68, - "class_list": [ - "mouse", - "usb" - ], + "class_list": ["mouse", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -3397,9 +3204,7 @@ "minor": 63, "range": 1 }, - "unix_device_names": [ - "/dev/input/mice" - ], + "unix_device_names": ["/dev/input/mice"], "unix_device_name2": "/dev/input/mouse2", "unix_device_number2": { "type": 99, @@ -3446,18 +3251,11 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], + "db_entry_0": ["explorerps/2", "exps2"], "xf86": "explorerps/2", "gpm": "exps2", "buttons": -1, @@ -3468,10 +3266,7 @@ { "index": 59, "attached_to": 67, - "class_list": [ - "mouse", - "usb" - ], + "class_list": ["mouse", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -3519,9 +3314,7 @@ "minor": 63, "range": 1 }, - "unix_device_names": [ - "/dev/input/mice" - ], + "unix_device_names": ["/dev/input/mice"], "unix_device_name2": "/dev/input/mouse1", "unix_device_number2": { "type": 99, @@ -3568,18 +3361,11 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], + "db_entry_0": ["explorerps/2", "exps2"], "xf86": "explorerps/2", "gpm": "exps2", "buttons": -1, @@ -3590,10 +3376,7 @@ { "index": 63, "attached_to": 67, - "class_list": [ - "mouse", - "usb" - ], + "class_list": ["mouse", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -3672,18 +3455,11 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], + "db_entry_0": ["explorerps/2", "exps2"], "xf86": "explorerps/2", "gpm": "exps2", "buttons": -1, @@ -3696,11 +3472,7 @@ { "index": 28, "attached_to": 0, - "class_list": [ - "network_controller", - "pci", - "wlan_card" - ], + "class_list": ["network_controller", "pci", "wlan_card"], "bus_type": { "hex": "0004", "name": "PCI", @@ -3746,9 +3518,7 @@ "sysfs_id": "/devices/pci0000:00/0000:00:14.3", "sysfs_bus_id": "0000:00:14.3", "unix_device_name": "wlo1", - "unix_device_names": [ - "wlo1" - ], + "unix_device_names": ["wlo1"], "resources": [ { "type": "hwaddr", @@ -3842,18 +3612,8 @@ "5.5", "5.52" ], - "auth_modes": [ - "open", - "sharedkey", - "wpa-psk", - "wpa-eap" - ], - "enc_modes": [ - "WEP40", - "WEP104", - "TKIP", - "CCMP" - ] + "auth_modes": ["open", "sharedkey", "wpa-psk", "wpa-eap"], + "enc_modes": ["WEP40", "WEP104", "TKIP", "CCMP"] } ], "detail": { @@ -3866,25 +3626,15 @@ }, "driver": "iwlwifi", "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ], + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"], "driver_info": { "type": "module", - "db_entry_0": [ - "iwlwifi" - ], + "db_entry_0": ["iwlwifi"], "active": true, "modprobe": true, - "names": [ - "iwlwifi" - ], - "module_args": [ - "" - ], + "names": ["iwlwifi"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A370sv00008086sd00000034bc02sc80i00", @@ -3893,10 +3643,7 @@ { "index": 42, "attached_to": 0, - "class_list": [ - "network_controller", - "pci" - ], + "class_list": ["network_controller", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -3941,9 +3688,7 @@ "sysfs_id": "/devices/pci0000:00/0000:00:1f.6", "sysfs_bus_id": "0000:00:1f.6", "unix_device_name": "eno2", - "unix_device_names": [ - "eno2" - ], + "unix_device_names": ["eno2"], "resources": [ { "type": "hwaddr", @@ -3978,25 +3723,15 @@ }, "driver": "e1000e", "driver_module": "e1000e", - "drivers": [ - "e1000e" - ], - "driver_modules": [ - "e1000e" - ], + "drivers": ["e1000e"], + "driver_modules": ["e1000e"], "driver_info": { "type": "module", - "db_entry_0": [ - "e1000e" - ], + "db_entry_0": ["e1000e"], "active": true, "modprobe": true, - "names": [ - "e1000e" - ], - "module_args": [ - "" - ], + "names": ["e1000e"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d000015BCsv00001458sd0000E000bc02sc00i00", @@ -4007,9 +3742,7 @@ { "index": 90, "attached_to": 42, - "class_list": [ - "network_interface" - ], + "class_list": ["network_interface"], "base_class": { "hex": "0107", "name": "Network Interface", @@ -4024,9 +3757,7 @@ "sysfs_id": "/class/net/eno2", "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.6", "unix_device_name": "eno2", - "unix_device_names": [ - "eno2" - ], + "unix_device_names": ["eno2"], "resources": [ { "type": "hwaddr", @@ -4039,19 +3770,13 @@ ], "driver": "e1000e", "driver_module": "e1000e", - "drivers": [ - "e1000e" - ], - "driver_modules": [ - "e1000e" - ] + "drivers": ["e1000e"], + "driver_modules": ["e1000e"] }, { "index": 91, "attached_to": 0, - "class_list": [ - "network_interface" - ], + "class_list": ["network_interface"], "base_class": { "hex": "0107", "name": "Network Interface", @@ -4065,16 +3790,12 @@ "model": "Loopback network interface", "sysfs_id": "/class/net/lo", "unix_device_name": "lo", - "unix_device_names": [ - "lo" - ] + "unix_device_names": ["lo"] }, { "index": 92, "attached_to": 28, - "class_list": [ - "network_interface" - ], + "class_list": ["network_interface"], "base_class": { "hex": "0107", "name": "Network Interface", @@ -4089,9 +3810,7 @@ "sysfs_id": "/class/net/wlo1", "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", "unix_device_name": "wlo1", - "unix_device_names": [ - "wlo1" - ], + "unix_device_names": ["wlo1"], "resources": [ { "type": "hwaddr", @@ -4104,22 +3823,15 @@ ], "driver": "iwlwifi", "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ] + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"] } ], "pci": [ { "index": 29, "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4189,25 +3901,15 @@ }, "driver": "mei_me", "driver_module": "mei_me", - "drivers": [ - "mei_me" - ], - "driver_modules": [ - "mei_me" - ], + "drivers": ["mei_me"], + "driver_modules": ["mei_me"], "driver_info": { "type": "module", - "db_entry_0": [ - "mei_me" - ], + "db_entry_0": ["mei_me"], "active": true, "modprobe": true, - "names": [ - "mei_me" - ], - "module_args": [ - "" - ], + "names": ["mei_me"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A360sv00001458sd00001C3Abc07sc80i00", @@ -4216,10 +3918,7 @@ { "index": 33, "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4283,25 +3982,15 @@ }, "driver": "intel-spi", "driver_module": "spi_intel_pci", - "drivers": [ - "intel-spi" - ], - "driver_modules": [ - "spi_intel_pci" - ], + "drivers": ["intel-spi"], + "driver_modules": ["spi_intel_pci"], "driver_info": { "type": "module", - "db_entry_0": [ - "spi_intel_pci" - ], + "db_entry_0": ["spi_intel_pci"], "active": true, "modprobe": true, - "names": [ - "spi_intel_pci" - ], - "module_args": [ - "" - ], + "names": ["spi_intel_pci"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A324sv00008086sd00007270bc0Csc80i00", @@ -4310,10 +3999,7 @@ { "index": 36, "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4383,25 +4069,15 @@ }, "driver": "intel_pch_thermal", "driver_module": "intel_pch_thermal", - "drivers": [ - "intel_pch_thermal" - ], - "driver_modules": [ - "intel_pch_thermal" - ], + "drivers": ["intel_pch_thermal"], + "driver_modules": ["intel_pch_thermal"], "driver_info": { "type": "module", - "db_entry_0": [ - "intel_pch_thermal" - ], + "db_entry_0": ["intel_pch_thermal"], "active": true, "modprobe": true, - "names": [ - "intel_pch_thermal" - ], - "module_args": [ - "" - ], + "names": ["intel_pch_thermal"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A379sv00001458sd00008888bc11sc80i00", @@ -4410,10 +4086,7 @@ { "index": 37, "attached_to": 25, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4483,17 +4156,11 @@ }, "driver_info": { "type": "module", - "db_entry_0": [ - "i2c_nvidia_gpu" - ], + "db_entry_0": ["i2c_nvidia_gpu"], "active": false, "modprobe": true, - "names": [ - "i2c_nvidia_gpu" - ], - "module_args": [ - "" - ], + "names": ["i2c_nvidia_gpu"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v000010DEd00001AD9sv000010DEsd000013A1bc0Csc80i00" @@ -4501,10 +4168,7 @@ { "index": 41, "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4581,10 +4245,7 @@ { "index": 44, "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], + "class_list": ["pci", "unknown"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4661,25 +4322,15 @@ }, "driver": "i801_smbus", "driver_module": "i2c_i801", - "drivers": [ - "i801_smbus" - ], - "driver_modules": [ - "i2c_i801" - ], + "drivers": ["i801_smbus"], + "driver_modules": ["i2c_i801"], "driver_info": { "type": "module", - "db_entry_0": [ - "i2c_i801" - ], + "db_entry_0": ["i2c_i801"], "active": true, "modprobe": true, - "names": [ - "i2c_i801" - ], - "module_args": [ - "" - ], + "names": ["i2c_i801"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A323sv00001458sd00005001bc0Csc05i00", @@ -4690,10 +4341,7 @@ { "index": 31, "attached_to": 38, - "class_list": [ - "sound", - "pci" - ], + "class_list": ["sound", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4757,25 +4405,15 @@ }, "driver": "snd_oxygen", "driver_module": "snd_oxygen", - "drivers": [ - "snd_oxygen" - ], - "driver_modules": [ - "snd_oxygen" - ], + "drivers": ["snd_oxygen"], + "driver_modules": ["snd_oxygen"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_oxygen" - ], + "db_entry_0": ["snd_oxygen"], "active": true, "modprobe": true, - "names": [ - "snd_oxygen" - ], - "module_args": [ - "" - ], + "names": ["snd_oxygen"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v000013F6d00008788sv00001043sd00008521bc04sc01i00" @@ -4783,10 +4421,7 @@ { "index": 34, "attached_to": 0, - "class_list": [ - "sound", - "pci" - ], + "class_list": ["sound", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4863,25 +4498,15 @@ }, "driver": "snd_hda_intel", "driver_module": "snd_hda_intel", - "drivers": [ - "snd_hda_intel" - ], - "driver_modules": [ - "snd_hda_intel" - ], + "drivers": ["snd_hda_intel"], + "driver_modules": ["snd_hda_intel"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_hda_intel" - ], + "db_entry_0": ["snd_hda_intel"], "active": true, "modprobe": true, - "names": [ - "snd_hda_intel" - ], - "module_args": [ - "" - ], + "names": ["snd_hda_intel"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v00008086d0000A348sv00001458sd0000A0C3bc04sc03i00", @@ -4890,10 +4515,7 @@ { "index": 40, "attached_to": 25, - "class_list": [ - "sound", - "pci" - ], + "class_list": ["sound", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -4963,25 +4585,15 @@ }, "driver": "snd_hda_intel", "driver_module": "snd_hda_intel", - "drivers": [ - "snd_hda_intel" - ], - "driver_modules": [ - "snd_hda_intel" - ], + "drivers": ["snd_hda_intel"], + "driver_modules": ["snd_hda_intel"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_hda_intel" - ], + "db_entry_0": ["snd_hda_intel"], "active": true, "modprobe": true, - "names": [ - "snd_hda_intel" - ], - "module_args": [ - "" - ], + "names": ["snd_hda_intel"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v000010DEd000010F8sv000010DEsd000013A1bc04sc03i00" @@ -4989,10 +4601,7 @@ { "index": 55, "attached_to": 68, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5070,25 +4679,15 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_usb_audio" - ], + "db_entry_0": ["snd_usb_audio"], "active": true, "modprobe": true, - "names": [ - "snd_usb_audio" - ], - "module_args": [ - "" - ], + "names": ["snd_usb_audio"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0AAAd0031dc00dsc00dp00ic01isc01ip00in00" @@ -5096,10 +4695,7 @@ { "index": 65, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5176,21 +4772,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:v1852p7022d0001dc00dsc00dp00ic01isc02ip00in02" }, { "index": 66, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5268,21 +4857,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:vB58Ep9E84d0100dc00dsc00dp00ic01isc02ip00in01" }, { "index": 69, "attached_to": 68, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5360,21 +4942,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:v046Dp0AAAd0031dc00dsc00dp00ic01isc02ip00in01" }, { "index": 81, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5451,21 +5026,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:v1852p7022d0001dc00dsc00dp00ic01isc02ip00in03" }, { "index": 82, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5543,21 +5111,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:vB58Ep9E84d0100dc00dsc00dp00ic01isc02ip00in02" }, { "index": 84, "attached_to": 68, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5635,21 +5196,14 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "module_alias": "usb:v046Dp0AAAd0031dc00dsc00dp00ic01isc02ip00in02" }, { "index": 85, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5726,25 +5280,15 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_usb_audio" - ], + "db_entry_0": ["snd_usb_audio"], "active": true, "modprobe": true, - "names": [ - "snd_usb_audio" - ], - "module_args": [ - "" - ], + "names": ["snd_usb_audio"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v1852p7022d0001dc00dsc00dp00ic01isc01ip00in01" @@ -5752,10 +5296,7 @@ { "index": 88, "attached_to": 76, - "class_list": [ - "sound", - "usb" - ], + "class_list": ["sound", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -5833,25 +5374,15 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "driver_info": { "type": "module", - "db_entry_0": [ - "snd_usb_audio" - ], + "db_entry_0": ["snd_usb_audio"], "active": true, "modprobe": true, - "names": [ - "snd_usb_audio" - ], - "module_args": [ - "" - ], + "names": ["snd_usb_audio"], + "module_args": [""], "conf": "" }, "module_alias": "usb:vB58Ep9E84d0100dc00dsc00dp00ic01isc01ip00in00" @@ -5861,10 +5392,7 @@ { "index": 20, "attached_to": 24, - "class_list": [ - "storage_controller", - "pci" - ], + "class_list": ["storage_controller", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -5932,25 +5460,15 @@ }, "driver": "nvme", "driver_module": "nvme", - "drivers": [ - "nvme" - ], - "driver_modules": [ - "nvme" - ], + "drivers": ["nvme"], + "driver_modules": ["nvme"], "driver_info": { "type": "module", - "db_entry_0": [ - "nvme" - ], + "db_entry_0": ["nvme"], "active": true, "modprobe": true, - "names": [ - "nvme" - ], - "module_args": [ - "" - ], + "names": ["nvme"], + "module_args": [""], "conf": "" }, "module_alias": "pci:v0000144Dd0000A808sv0000144Dsd0000A801bc01sc08i02" @@ -5958,10 +5476,7 @@ { "index": 21, "attached_to": 0, - "class_list": [ - "storage_controller", - "pci" - ], + "class_list": ["storage_controller", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -6070,9 +5585,7 @@ "prog_if": 1 }, "driver": "ahci", - "drivers": [ - "ahci" - ], + "drivers": ["ahci"], "module_alias": "pci:v00008086d0000A352sv00001458sd0000B005bc01sc06i01", "label": "Onboard - SATA" } @@ -6084,10 +5597,7 @@ { "index": 54, "attached_to": 67, - "class_list": [ - "tv_card", - "usb" - ], + "class_list": ["tv_card", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -6175,25 +5685,15 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "driver_info": { "type": "module", - "db_entry_0": [ - "gspca_vc032x" - ], + "db_entry_0": ["gspca_vc032x"], "active": true, "modprobe": true, - "names": [ - "gspca_vc032x" - ], - "module_args": [ - "" - ], + "names": ["gspca_vc032x"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0892d0019dcEFdsc02dp01ic01isc02ip00in03" @@ -6201,10 +5701,7 @@ { "index": 57, "attached_to": 67, - "class_list": [ - "tv_card", - "usb" - ], + "class_list": ["tv_card", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -6292,25 +5789,15 @@ "hotplug": "usb", "driver": "uvcvideo", "driver_module": "uvcvideo", - "drivers": [ - "uvcvideo" - ], - "driver_modules": [ - "uvcvideo" - ], + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], "driver_info": { "type": "module", - "db_entry_0": [ - "gspca_vc032x" - ], + "db_entry_0": ["gspca_vc032x"], "active": true, "modprobe": true, - "names": [ - "gspca_vc032x" - ], - "module_args": [ - "" - ], + "names": ["gspca_vc032x"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0892d0019dcEFdsc02dp01ic0Eisc02ip00in01" @@ -6318,10 +5805,7 @@ { "index": 73, "attached_to": 67, - "class_list": [ - "tv_card", - "usb" - ], + "class_list": ["tv_card", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -6409,25 +5893,15 @@ "hotplug": "usb", "driver": "snd-usb-audio", "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], "driver_info": { "type": "module", - "db_entry_0": [ - "gspca_vc032x" - ], + "db_entry_0": ["gspca_vc032x"], "active": true, "modprobe": true, - "names": [ - "gspca_vc032x" - ], - "module_args": [ - "" - ], + "names": ["gspca_vc032x"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0892d0019dcEFdsc02dp01ic01isc01ip00in02" @@ -6435,10 +5909,7 @@ { "index": 75, "attached_to": 67, - "class_list": [ - "tv_card", - "usb" - ], + "class_list": ["tv_card", "usb"], "bus_type": { "hex": "0086", "name": "USB", @@ -6526,25 +5997,15 @@ "hotplug": "usb", "driver": "uvcvideo", "driver_module": "uvcvideo", - "drivers": [ - "uvcvideo" - ], - "driver_modules": [ - "uvcvideo" - ], + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], "driver_info": { "type": "module", - "db_entry_0": [ - "gspca_vc032x" - ], + "db_entry_0": ["gspca_vc032x"], "active": true, "modprobe": true, - "names": [ - "gspca_vc032x" - ], - "module_args": [ - "" - ], + "names": ["gspca_vc032x"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0892d0019dcEFdsc02dp01ic0Eisc01ip00in00" @@ -6554,9 +6015,7 @@ { "index": 49, "attached_to": 0, - "class_list": [ - "unknown" - ], + "class_list": ["unknown"], "base_class": { "hex": "0007", "name": "Communication controller", @@ -6579,9 +6038,7 @@ }, "model": "16550A", "unix_device_name": "/dev/ttyS0", - "unix_device_names": [ - "/dev/ttyS0" - ], + "unix_device_names": ["/dev/ttyS0"], "resources": [ { "type": "io", @@ -6603,10 +6060,7 @@ { "index": 56, "attached_to": 67, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -6684,25 +6138,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046DpC08Dd1700dc00dsc00dp00ic03isc00ip00in02" @@ -6710,10 +6154,7 @@ { "index": 58, "attached_to": 76, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -6803,25 +6244,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v3297p4975d0001dc00dsc00dp00ic03isc00ip00in01" @@ -6829,10 +6260,7 @@ { "index": 62, "attached_to": 76, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -6923,25 +6351,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:vB58Ep9E84d0100dc00dsc00dp00ic03isc00ip00in03" @@ -6949,10 +6367,7 @@ { "index": 64, "attached_to": 68, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -7043,25 +6458,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046Dp0AAAd0031dc00dsc00dp00ic03isc00ip00in03" @@ -7069,10 +6474,7 @@ { "index": 70, "attached_to": 76, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -7162,25 +6564,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v1852p7022d0001dc00dsc00dp00ic03isc00ip00in00" @@ -7188,10 +6580,7 @@ { "index": 80, "attached_to": 67, - "class_list": [ - "usb", - "unknown" - ], + "class_list": ["usb", "unknown"], "bus_type": { "hex": "0086", "name": "USB", @@ -7268,25 +6657,15 @@ "hotplug": "usb", "driver": "usbhid", "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], "driver_info": { "type": "module", - "db_entry_0": [ - "usbhid" - ], + "db_entry_0": ["usbhid"], "active": true, "modprobe": true, - "names": [ - "usbhid" - ], - "module_args": [ - "" - ], + "names": ["usbhid"], + "module_args": [""], "conf": "" }, "module_alias": "usb:v046DpC539d3904dc00dsc00dp00ic03isc00ip00in02" @@ -7296,10 +6675,7 @@ { "index": 27, "attached_to": 25, - "class_list": [ - "usb_controller", - "pci" - ], + "class_list": ["usb_controller", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -7381,18 +6757,13 @@ "prog_if": 48 }, "driver": "xhci_hcd", - "drivers": [ - "xhci_hcd" - ], + "drivers": ["xhci_hcd"], "module_alias": "pci:v000010DEd00001AD8sv000010DEsd000013A1bc0Csc03i30" }, { "index": 43, "attached_to": 0, - "class_list": [ - "usb_controller", - "pci" - ], + "class_list": ["usb_controller", "pci"], "bus_type": { "hex": "0004", "name": "PCI", @@ -7465,9 +6836,7 @@ "prog_if": 48 }, "driver": "xhci_hcd", - "drivers": [ - "xhci_hcd" - ], + "drivers": ["xhci_hcd"], "module_alias": "pci:v00008086d0000A36Dsv00001458sd00005007bc0Csc03i30", "label": "Onboard - Other" } @@ -7510,10 +6879,7 @@ "name": "Motherboard", "value": 10 }, - "features": [ - "Hosting Board", - "Replaceable" - ], + "features": ["Hosting Board", "Replaceable"], "location": "Default string", "chassis": 3 }, @@ -7552,12 +6918,8 @@ "name": "8-way Set-Associative", "value": 7 }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] }, { "handle": 69, @@ -7593,12 +6955,8 @@ "name": "4-way Set-Associative", "value": 5 }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] }, { "handle": 70, @@ -7634,12 +6992,8 @@ "name": "16-way Set-Associative", "value": 8 }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] } ], "chassis": { @@ -7676,28 +7030,18 @@ }, "config": { "handle": 35, - "options": [ - "Default string" - ] + "options": ["Default string"] }, "group_associations": [ { "handle": 92, "name": "Firmware Version Info", - "handles": [ - 279172874304, - 283467841601, - 287762808898, - 386547056707, - 90 - ] + "handles": [279172874304, 283467841601, 287762808898, 386547056707, 90] }, { "handle": 93, "name": "$MEI", - "handles": [ - 0 - ] + "handles": [0] } ], "language": [ @@ -7777,9 +7121,7 @@ "name": "Other", "value": 26 }, - "memory_type_details": [ - "Synchronous" - ], + "memory_type_details": ["Synchronous"], "speed": 2133 }, { @@ -7804,9 +7146,7 @@ "name": "Other", "value": 26 }, - "memory_type_details": [ - "Synchronous" - ], + "memory_type_details": ["Synchronous"], "speed": 2133 }, { @@ -7831,9 +7171,7 @@ "name": "Other", "value": 26 }, - "memory_type_details": [ - "Synchronous" - ], + "memory_type_details": ["Synchronous"], "speed": 2133 }, { @@ -7858,9 +7196,7 @@ "name": "Other", "value": 26 }, - "memory_type_details": [ - "Synchronous" - ], + "memory_type_details": ["Synchronous"], "speed": 2133 } ], @@ -8328,11 +7664,7 @@ "value": 4 }, "id": 0, - "features": [ - "3.3 V", - "Shared", - "PME#" - ] + "features": ["3.3 V", "Shared", "PME#"] }, { "handle": 29, @@ -8358,11 +7690,7 @@ "value": 3 }, "id": 1, - "features": [ - "3.3 V", - "Shared", - "PME#" - ] + "features": ["3.3 V", "Shared", "PME#"] }, { "handle": 30, @@ -8388,11 +7716,7 @@ "value": 3 }, "id": 2, - "features": [ - "3.3 V", - "Shared", - "PME#" - ] + "features": ["3.3 V", "Shared", "PME#"] }, { "handle": 31, @@ -8418,11 +7742,7 @@ "value": 3 }, "id": 3, - "features": [ - "3.3 V", - "Shared", - "PME#" - ] + "features": ["3.3 V", "Shared", "PME#"] }, { "handle": 32, @@ -8448,11 +7768,7 @@ "value": 3 }, "id": 4, - "features": [ - "3.3 V", - "Shared", - "PME#" - ] + "features": ["3.3 V", "Shared", "PME#"] } ], "system": { @@ -8467,4 +7783,4 @@ } } } -} \ No newline at end of file +} diff --git a/parts/hosts/desktop/monitors.nix b/parts/hosts/desktop/monitors.nix index 33e6a6d..b64640d 100644 --- a/parts/hosts/desktop/monitors.nix +++ b/parts/hosts/desktop/monitors.nix @@ -1,5 +1,4 @@ _: { - # monitor=DP-1,1920x1080@60,2880x0,auto monitors = [ { name = "DP-2"; diff --git a/parts/hosts/laptop/configuration.nix b/parts/hosts/laptop/configuration.nix index e7bed8f..e436ccf 100644 --- a/parts/hosts/laptop/configuration.nix +++ b/parts/hosts/laptop/configuration.nix @@ -1,7 +1,4 @@ -{ - pkgs, - ... -}: { +{pkgs, ...}: { # Enable OpenGL hardware.graphics = { enable = true; diff --git a/parts/modules/apps/firefox.nix b/parts/modules/apps/firefox.nix index 6ff63b3..576269c 100644 --- a/parts/modules/apps/firefox.nix +++ b/parts/modules/apps/firefox.nix @@ -1,3 +1,49 @@ -_: { - programs.firefox.enable = true; +{ + pkgsUnstable, + inputs, + pkgs, + ... +}: let + nur = inputs.nur.legacyPackages.${pkgs.system}; + extensions = nur.repos.rycee.firefox-addons; +in { + programs.firefox = { + enable = true; + package = pkgsUnstable.firefox; + }; + + fireproof.home-manager = { + programs.firefox = { + enable = true; + package = pkgsUnstable.firefox; + profiles.default = { + extensions = with extensions; [ + # Privacy + ublock-origin + clearurls + libredirect + + # Security + bitwarden + + # Media + dearrow + sponsorblock + + # Search + kagi-search + + # Productivity + new-tab-override + + # Social + reddit-enhancement-suite + ]; + + settings = { + "browser.startup.homepage" = "https://flame.nickolaj.com"; + }; + }; + }; + }; } diff --git a/parts/modules/apps/vscode.nix b/parts/modules/apps/vscode.nix index ba7c6f4..f1e85e2 100644 --- a/parts/modules/apps/vscode.nix +++ b/parts/modules/apps/vscode.nix @@ -14,8 +14,8 @@ mkFormatter = formatter: languages: { "[${lib.concatStringsSep "][" languages}]" = { - editor.defaultFormatter = formatter; - editor.formatOnSave = true; + "editor.defaultFormatter" = formatter; + "editor.formatOnSave" = true; }; }; in { @@ -28,20 +28,28 @@ in { userSettings = lib.mkMerge [ { # General - extensions.ignoreRecommendations = true; + "extensions.ignoreRecommendations" = true; # Remote - remote.SSH.useLocalServer = false; + "remote.SSH.useLocalServer" = false; # AI - github.copilot.editor.enableAutoCompletions = true; - github.copilot.enable."*" = true; + "github.copilot.editor.enableAutoCompletions" = true; + "github.copilot.enable" = {"*" = true;}; # Theme - workbench.colorTheme = "Darcula Theme from IntelliJ"; + "workbench.colorTheme" = "Darcula Theme from IntelliJ"; # Keybindings - workbench.commandPalette.experimental.suggestCommands = true; # Emulates IntelliJ's "Search Everywhere" + "workbench.commandPalette.experimental.suggestCommands" = true; # Emulates IntelliJ's "Search Everywhere" + + # nix-ide + "nix.enableLanguageServer" = true; + "nix.serverPath" = lib.getExe pkgs.nil; + + "nix.serverSettings" = { + nil.formatting.command = ["nix" "fmt" "--" "--"]; + }; } (mkFormatter "esbenp.prettier-vscode" ["json" "jsonc" "markdown" "css" "scss" "typescript" "typescriptreact" "html" "yaml"]) (mkFormatter "charliermarsh.ruff" ["python"]) diff --git a/parts/modules/base/ld.nix b/parts/modules/base/ld.nix new file mode 100644 index 0000000..7b5d34f --- /dev/null +++ b/parts/modules/base/ld.nix @@ -0,0 +1,3 @@ +_: { + programs.nix-ld.enable = true; +} \ No newline at end of file diff --git a/parts/modules/base/ssh.nix b/parts/modules/base/ssh.nix index c328fdd..49cfa97 100644 --- a/parts/modules/base/ssh.nix +++ b/parts/modules/base/ssh.nix @@ -32,7 +32,8 @@ in { user = "nij"; identityFile = "${config.age.secrets.ssh-key-ao.path}"; }; - "dev.ao,scw.ao".proxyJump = "bastion.ao"; + "dev.ao".proxyJump = "bastion.ao"; + "scw.ao".proxyJump = "bastion.ao"; "clickhouse.ao".user = "ubuntu"; "flex.ao" = { hostname = "192.168.2.5"; diff --git a/parts/modules/base/time.nix b/parts/modules/base/time.nix new file mode 100644 index 0000000..42a4416 --- /dev/null +++ b/parts/modules/base/time.nix @@ -0,0 +1,3 @@ +_: { + time.timeZone = "Europe/Copenhagen"; +} \ No newline at end of file diff --git a/parts/modules/desktop/astal/default.nix b/parts/modules/desktop/astal/default.nix index 372b751..62531ed 100644 --- a/parts/modules/desktop/astal/default.nix +++ b/parts/modules/desktop/astal/default.nix @@ -5,6 +5,11 @@ config, ... }: let + primaryMonitorName = + if builtins.length config.monitors > 0 + then (builtins.elemAt config.monitors 0).name + else ""; + packageName = "fireproof-shell"; cfg = config.modules.astral; package = inputs.ags.lib.bundle { @@ -27,9 +32,9 @@ in { options = { modules.astral.primaryMonitor = lib.mkOption { - type = lib.types.string; - default = ""; - example = "M27Q"; + type = lib.types.str; + default = primaryMonitorName; + example = "DP-1"; }; modules.astral.notificationIgnores = lib.mkOption { type = lib.types.listOf lib.types.str; @@ -44,32 +49,32 @@ in { }; config = { - environment.systemPackages = [package inputs.ags.packages.${pkgs.system}.agsFull]; + environment.systemPackages = [package inputs.ags.packages.${pkgs.system}.agsFull]; - fireproof.home-manager = { - systemd.user.services.astal = { - Unit = { - Description = "Astal"; - Documentation = "https://github.com/Aylur/astal"; - After = ["graphical-session.target"]; - }; + fireproof.home-manager = { + systemd.user.services.astal = { + Unit = { + Description = "Astal"; + Documentation = "https://github.com/Aylur/astal"; + After = ["graphical-session.target"]; + }; - Service = { - ExecStart = "${package}/bin/${packageName}"; - Restart = "on-failure"; - KillMode = "mixed"; - Slice = "app-graphical.slice"; - DefaultEnvironment = '' - ASTRAL_PRIMARY_MONITOR=${cfg.primaryMonitor} - ASTRAL_NOTIFICATION_IGNORE=${lib.concatStringsSep "," cfg.notificationIgnores} - ASTRAL_TRAY_IGNORE=${lib.concatStringsSep "," cfg.trayIgnore} - ''; - }; + Service = { + ExecStart = "${package}/bin/${packageName}"; + Restart = "on-failure"; + KillMode = "mixed"; + Slice = "app-graphical.slice"; + Environment = [ + "ASTRAL_PRIMARY_MONITOR=${cfg.primaryMonitor}" + "ASTRAL_NOTIFICATION_IGNORE=${lib.concatStringsSep "," cfg.notificationIgnores}" + "ASTRAL_TRAY_IGNORE=${lib.concatStringsSep "," cfg.trayIgnore}" + ]; + }; - Install = { - WantedBy = ["graphical-session.target"]; + Install = { + WantedBy = ["graphical-session.target"]; + }; }; }; }; -}; -} \ No newline at end of file +} diff --git a/parts/modules/desktop/astal/src/config.ts b/parts/modules/desktop/astal/src/config.ts index 432803b..c0b5186 100644 --- a/parts/modules/desktop/astal/src/config.ts +++ b/parts/modules/desktop/astal/src/config.ts @@ -1,4 +1,4 @@ -import GLib from "gi://GLib" +import GLib from "gi://GLib"; type ignoreFn = (test: string) => boolean; @@ -18,7 +18,7 @@ const envArray = (name: string): string[] => { const value = GLib.getenv(name); if (!value) return []; return value.split(","); -} +}; const envIgnoreArray = (name: string): ignoreFn[] => { return envArray(name).map((r: string) => { @@ -27,7 +27,7 @@ const envIgnoreArray = (name: string): ignoreFn[] => { } return (test: string) => test === r; }); -} +}; export default { monitor: { diff --git a/parts/modules/desktop/astal/src/utils/monitors.ts b/parts/modules/desktop/astal/src/utils/monitors.ts index daa9170..4bb9a9c 100644 --- a/parts/modules/desktop/astal/src/utils/monitors.ts +++ b/parts/modules/desktop/astal/src/utils/monitors.ts @@ -12,12 +12,13 @@ export const getMonitors = (): { } => { const scanFn = [ // Monitor in config - (monitor: Gdk.Monitor) => config.monitor.main === monitor.get_model(), + (monitor: Gdk.Monitor) => config.monitor.main === monitor.get_connector(), // First monitor () => true, ]; const monitors = App.get_monitors(); + console.log("config.monitor.main", config.monitor.main); const main = scanFn.map((fn) => monitors.find(fn)).find((m) => m) || monitors[0]; const secondary = monitors diff --git a/parts/modules/desktop/gtk/default.nix b/parts/modules/desktop/gtk/default.nix new file mode 100644 index 0000000..d09882b --- /dev/null +++ b/parts/modules/desktop/gtk/default.nix @@ -0,0 +1,28 @@ +{ + pkgs, + ... +}: { + environment.systemPackages = with pkgs; [ + nautilus + ]; + + fireproof.home-manager = { + home.pointerCursor = { + gtk.enable = true; + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + size = 24; + }; + + gtk = { + enable = true; + theme = { + name = "adw-gtk3-dark"; + package = pkgs.adw-gtk3; + }; + + gtk4.extraCss = builtins.readFile ./theme.css; + gtk3.extraCss = builtins.readFile ./theme.css; + }; + }; +} diff --git a/parts/modules/desktop/gtk/theme.css b/parts/modules/desktop/gtk/theme.css new file mode 100644 index 0000000..e69de29 diff --git a/parts/modules/desktop/hyprland/default.nix b/parts/modules/desktop/hyprland/default.nix index 2b32181..122c400 100644 --- a/parts/modules/desktop/hyprland/default.nix +++ b/parts/modules/desktop/hyprland/default.nix @@ -1,15 +1,27 @@ { lib, config, + pkgs, ... }: with lib; let cfg = config.fireproof; + primaryMonitorName = + if builtins.length config.monitors > 0 + then (builtins.elemAt config.monitors 0).name + else ""; + + + mkKeyboard = name: { inherit name; kb_layout = "eu"; }; in { + imports = [ + ./hyprpolkitagent.nix + ]; + config = { programs.uwsm.enable = true; programs.hyprland = { @@ -29,6 +41,9 @@ in { }; environment.sessionVariables.NIXOS_OZONE_WL = "1"; + environment.systemPackages = with pkgs; [ + hyprcursor + ]; fireproof.home-manager = { wayland.windowManager.hyprland = { @@ -37,6 +52,10 @@ in { systemd.enable = false; # Conficts with UWSM settings = { + env = [ + "HYPRCURSOR_THEME,Adwaita" + "HYPRCURSOR_SIZE,24" + ]; monitor = map ( m: let @@ -71,8 +90,28 @@ in { touchpad = { natural_scroll = false; }; + + sensitivity = 0; + accel_profile = "flat"; }; + workspace = + if primaryMonitorName != "" + then [ + "1, monitor:${primaryMonitorName}, persistent:true, default:true" + "2, monitor:${primaryMonitorName}, persistent:true" + "3, monitor:${primaryMonitorName}, persistent:true" + "4, monitor:${primaryMonitorName}, persistent:true" + "5, monitor:${primaryMonitorName}, persistent:true" + ] + else [ + "1, persistent:true, default:true" + "2, persistent:true" + "3, persistent:true" + "4, persistent:true" + "5, persistent:true" + ]; + # Names can be found with: # $ hyprctl devices -j | jq '.["keyboards"].[].name' -r | grep -vE "(system|consumer)-control" device = map mkKeyboard [ diff --git a/parts/modules/dev/docker.nix b/parts/modules/dev/docker.nix new file mode 100644 index 0000000..c5a51cb --- /dev/null +++ b/parts/modules/dev/docker.nix @@ -0,0 +1,10 @@ +{username, pkgs, ...}: { + environment.systemPackages = [ + pkgs.docker + pkgs.docker-compose + ]; + + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = "btrfs"; + users.extraGroups.docker.members = [username]; +} \ No newline at end of file diff --git a/parts/modules/dev/k8s.nix b/parts/modules/dev/k8s.nix new file mode 100644 index 0000000..52a5e9d --- /dev/null +++ b/parts/modules/dev/k8s.nix @@ -0,0 +1,25 @@ +{pkgs, username, config, ...}: { + environment.systemPackages = [ + pkgs.kubectl + ]; + + age.secrets.k8s-ao-dev = { + rekeyFile = ../../../secrets/k8s/ao-dev.age; + path = "/home/${username}/.kube/config.ao-dev"; + mode = "0600"; + owner = username; + }; + + age.secrets.k8s-ao-prod = { + rekeyFile = ../../../secrets/k8s/ao-prod.age; + path = "/home/${username}/.kube/config.ao-prod"; + mode = "0600"; + owner = username; + }; + + fireproof.home-manager = { + home.sessionVariables = { + KUBECONFIG = "${config.age.secrets.k8s-ao-dev.path}:${config.age.secrets.k8s-ao-prod.path}:$HOME/.kube/config"; + }; + }; +} \ No newline at end of file diff --git a/parts/modules/dev/python.nix b/parts/modules/dev/python.nix index e89d748..65830ee 100644 --- a/parts/modules/dev/python.nix +++ b/parts/modules/dev/python.nix @@ -5,6 +5,14 @@ }: { environment.systemPackages = [ pkgsUnstable.uv + pkgsUnstable.rye pkgs.python3 ]; + + # uv tool adds executable to $HOME/.local/bin, so add it to PATH + fireproof.home-manager = { + home.sessionPath = [ + "$HOME/.local/bin" + ]; + }; } diff --git a/parts/modules/dev/tilt.nix b/parts/modules/dev/tilt.nix new file mode 100644 index 0000000..d4daa95 --- /dev/null +++ b/parts/modules/dev/tilt.nix @@ -0,0 +1,5 @@ +{pkgsUnstable, ...}: { + environment.systemPackages = [ + pkgsUnstable.tilt + ]; +} diff --git a/parts/modules/devenv.nix b/parts/modules/devenv.nix index 20ea3e0..42165ad 100644 --- a/parts/modules/devenv.nix +++ b/parts/modules/devenv.nix @@ -3,5 +3,8 @@ ./apps/pycharm.nix ./apps/vscode.nix ./dev/python.nix + ./dev/k8s.nix + ./dev/docker.nix + ./dev/tilt.nix ]; } diff --git a/parts/modules/graphical.nix b/parts/modules/graphical.nix index 948003b..6a541e1 100644 --- a/parts/modules/graphical.nix +++ b/parts/modules/graphical.nix @@ -5,9 +5,9 @@ ./desktop/fonts.nix ./desktop/greetd.nix ./desktop/hyprland/default.nix - ./desktop/hyprland/hyprpolkitagent.nix ./desktop/astal/default.nix ./desktop/walker/default.nix + ./desktop/gtk/default.nix ./apps/firefox.nix ./apps/ghostty.nix ]; diff --git a/parts/modules/hardware/monitors.nix b/parts/modules/hardware/monitors.nix index 45af05c..629d5e2 100644 --- a/parts/modules/hardware/monitors.nix +++ b/parts/modules/hardware/monitors.nix @@ -37,6 +37,6 @@ }; }; }); - default = [{}]; + default = []; }; } diff --git a/parts/modules/hardware/yubikey.nix b/parts/modules/hardware/yubikey.nix index 519fb9b..ad5ccff 100644 --- a/parts/modules/hardware/yubikey.nix +++ b/parts/modules/hardware/yubikey.nix @@ -1,3 +1,3 @@ _: { services.pcscd.enable = true; -} \ No newline at end of file +} diff --git a/parts/modules/required.nix b/parts/modules/required.nix index df4815a..d0ddfa1 100644 --- a/parts/modules/required.nix +++ b/parts/modules/required.nix @@ -5,6 +5,8 @@ ./base/security.nix ./base/secrets.nix ./base/boot.nix + ./base/ld.nix + ./base/time.nix ./base/ssh.nix ./base/default-apps.nix ./dev/just.nix diff --git a/parts/modules/shell/fish/default.nix b/parts/modules/shell/fish/default.nix index 318d6f3..2f308a9 100644 --- a/parts/modules/shell/fish/default.nix +++ b/parts/modules/shell/fish/default.nix @@ -15,6 +15,7 @@ shellInit = '' ${builtins.readFile ./theme.fish} + ${builtins.readFile ./k8s.fish} ''; plugins = [ diff --git a/parts/modules/shell/fish/k8s.fish b/parts/modules/shell/fish/k8s.fish new file mode 100644 index 0000000..563be51 --- /dev/null +++ b/parts/modules/shell/fish/k8s.fish @@ -0,0 +1,63 @@ +set __kube_verbs get describe delete edit +set __kube_verbs_short g d rm e +set __kube_resource pods deployments services ingresses configmaps daemonsets statefulsets namespace namespace +set __kube_resource_short p d s i c ds ss n ns + +function __echo_kubeexec; + set _flag_namespace (kubectl config view --minify --output 'jsonpath={..namespace}') + if test -z "$_flag_namespace" + set _flag_namespace default + end + + set _flag_pod shop + set POD (kubectl get pods --namespace $_flag_namespace 2>/dev/null | grep "^$_flag_pod" | grep Running | head -n1 | awk '{ print $1 }') + if test -z "$POD" + echo "kubectl exec --namespace $_flag_namespace -it" + return + end + echo "kubectl exec --namespace $_flag_namespace -it $POD --" +end + +function __echo_kubemanage; + set _flag_namespace (kubectl config view --minify --output 'jsonpath={..namespace}') + if test -z "$_flag_namespace" + set _flag_namespace default + end + + set _flag_pod shop + set POD (kubectl get pods --namespace $_flag_namespace 2>/dev/null | grep "^$_flag_pod" | grep Running | head -n1 | awk '{ print $1 }') + if test -z "$POD" + echo "kubectl exec --namespace $_flag_namespace -it" + return + end + echo "kubectl exec --namespace $_flag_namespace -it $POD -- python3 /src/lib/manage.py" +end + +if type -q kubectl + for verb_index in (seq (count $__kube_verbs)) + abbr "k$__kube_verbs_short[$verb_index]" "kubectl $__kube_verbs[$verb_index]" + for res_index in (seq (count $__kube_resource)) + abbr "k$__kube_verbs_short[$verb_index]$__kube_resource_short[$res_index]" "kubectl $__kube_verbs[$verb_index] $__kube_resource[$res_index]" + end + end + + abbr k kubectl + abbr kl kubectl logs -f + abbr kgl kubectl logs -f + abbr kaf kubectl apply -f + abbr kr kubectl rollout + abbr krs kubectl rollout status + abbr krr kubectl rollout restart + abbr kt kubectl top + abbr ktp kubectl top pods + abbr ktn kubectl top nodes + abbr kpf kubectl port-forward + abbr kfp kubectl port-forward + + alias kns "kubectl config view --minify --output 'jsonpath={..namespace}'" + abbr ksns "kubectl config set-context --current --namespace" + abbr ksc "kubectl config set-context" + + abbr kexec --function __echo_kubeexec + abbr kmanage --function __echo_kubemanage +end \ No newline at end of file diff --git a/parts/modules/shell/git.nix b/parts/modules/shell/git.nix index 0ef6202..2438ace 100644 --- a/parts/modules/shell/git.nix +++ b/parts/modules/shell/git.nix @@ -1,6 +1,7 @@ {pkgs, ...}: { environment.systemPackages = with pkgs; [ git + pre-commit ]; fireproof.home-manager.programs.git = { diff --git a/parts/vm.nix b/parts/vm.nix index fbdd10d..60af985 100644 --- a/parts/vm.nix +++ b/parts/vm.nix @@ -29,7 +29,7 @@ in { isNormalUser = true; extraGroups = ["wheel" "networkmanager" "libvirt" "kvm"]; }; - monitors = [{resolution="1920x1080";}]; + monitors = [{resolution = "1920x1080";}]; services.qemuGuest.enable = true; services.spice-vdagentd.enable = true; } diff --git a/secrets/hosts/desktop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age b/secrets/hosts/desktop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age new file mode 100644 index 0000000..bad72a9 Binary files /dev/null and b/secrets/hosts/desktop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age differ diff --git a/secrets/hosts/desktop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age b/secrets/hosts/desktop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age new file mode 100644 index 0000000..84d5896 Binary files /dev/null and b/secrets/hosts/desktop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age differ diff --git a/secrets/hosts/laptop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age b/secrets/hosts/laptop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age new file mode 100644 index 0000000..fcf6d8f Binary files /dev/null and b/secrets/hosts/laptop/.rekey/1fb47bc55ba290d942143bab9a09e714-k8s-ao-dev.age differ diff --git a/secrets/hosts/laptop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age b/secrets/hosts/laptop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age new file mode 100644 index 0000000..f259a37 Binary files /dev/null and b/secrets/hosts/laptop/.rekey/4071734b22e19ec88c60fd5f828efbce-k8s-ao-prod.age differ diff --git a/secrets/k8s/ao-dev.age b/secrets/k8s/ao-dev.age new file mode 100644 index 0000000..259a7ef Binary files /dev/null and b/secrets/k8s/ao-dev.age differ diff --git a/secrets/k8s/ao-prod.age b/secrets/k8s/ao-prod.age new file mode 100644 index 0000000..498d0e7 Binary files /dev/null and b/secrets/k8s/ao-prod.age differ