aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock204
-rw-r--r--flake.nix18
-rw-r--r--hosts/ganymede/facter.json4383
-rw-r--r--hosts/ganymede/iwlwifi.nix23
-rw-r--r--hosts/ganymede/nixos.nix10
-rw-r--r--hosts/jupiter/system.nix4
-rw-r--r--hosts/mercury/ai.nix5
-rw-r--r--hosts/mercury/config.nix24
-rw-r--r--hosts/mercury/hintergrund2.pngbin0 -> 11700308 bytes
-rw-r--r--hosts/mercury/nixos.nix16
-rw-r--r--hosts/mercury/riverboats.pngbin0 -> 26692151 bytes
-rw-r--r--lib/lib.nix20
-rw-r--r--modules/desktop/hjem/default.nix2
-rw-r--r--modules/desktop/hjem/gtk.nix27
-rw-r--r--modules/desktop/hjem/programs/foot.nix59
-rw-r--r--modules/desktop/hjem/programs/research.nix47
-rw-r--r--modules/desktop/hjem/wm/default.nix147
-rw-r--r--modules/desktop/hjem/wm/dunst.nix27
-rw-r--r--modules/desktop/hjem/wm/fuzzel.nix28
-rw-r--r--modules/desktop/hjem/wm/niri.nix119
-rw-r--r--modules/desktop/hjem/wm/sway.nix10
-rw-r--r--modules/desktop/nixos/greeters/greetd.nix2
-rw-r--r--modules/desktop/nixos/programs/firefox.nix15
-rw-r--r--modules/desktop/options.nix33
-rw-r--r--modules/nix/nixos/default.nix6
-rw-r--r--modules/options.nix95
-rw-r--r--modules/services/nixos/audio.nix2
-rw-r--r--modules/services/nixos/networking/default.nix2
-rw-r--r--modules/terminal/hjem/programs/cmus.nix74
-rw-r--r--modules/terminal/hjem/programs/fzf.nix16
-rw-r--r--modules/terminal/hjem/programs/helix.nix12
-rw-r--r--modules/terminal/hjem/programs/tmux.nix45
-rw-r--r--modules/terminal/options.nix16
-rw-r--r--modules/user/nixos/default.nix2
34 files changed, 5269 insertions, 224 deletions
diff --git a/flake.lock b/flake.lock
index 7f0e324..4c34f1e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -38,11 +38,11 @@
"firefox-csshacks": {
"flake": false,
"locked": {
- "lastModified": 1758547398,
- "narHash": "sha256-oIXXuQI65ZrJFD1/0bmgsJqD1SyjEjZocJvO9YeRqOI=",
+ "lastModified": 1760110610,
+ "narHash": "sha256-p5mxDrxlQ7itJ3Y5ZC/ge5ym1vmKpjpC9EQo2KQfZAQ=",
"owner": "MrOtherGuy",
"repo": "firefox-csshacks",
- "rev": "c9cc22f418c794c5efe326aa109eed6427d86543",
+ "rev": "a53bb3bf96a050719f68535acf9a71a67a2af15e",
"type": "github"
},
"original": {
@@ -52,6 +52,21 @@
}
},
"flake-compat": {
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1747046372,
@@ -69,6 +84,24 @@
},
"flake-parts": {
"inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
+ "locked": {
+ "lastModified": 1759362264,
+ "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_2": {
+ "inputs": {
"nixpkgs-lib": [
"lanzaboote",
"nixpkgs"
@@ -88,6 +121,24 @@
"type": "github"
}
},
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
"gitignore": {
"inputs": {
"nixpkgs": [
@@ -112,17 +163,18 @@
},
"hjem": {
"inputs": {
+ "ndg": "ndg",
"nixpkgs": [
"nixpkgs"
],
"smfh": "smfh"
},
"locked": {
- "lastModified": 1757733237,
- "narHash": "sha256-q57LxLzOQuW0ROtoBMMPbG8neBYa6LizRH9FVOQkkLQ=",
+ "lastModified": 1760328401,
+ "narHash": "sha256-/sGqPoyYJohw1ZmcMxEYvx9Qdui6X7bNjCLx9Jmul3c=",
"owner": "feel-co",
"repo": "hjem",
- "rev": "627b34efad55fd42d6dd52c19c796604d2b8e8bd",
+ "rev": "31f969f69f02b62e417bcc39571a605977cb89fa",
"type": "github"
},
"original": {
@@ -134,8 +186,8 @@
"lanzaboote": {
"inputs": {
"crane": "crane",
- "flake-compat": "flake-compat",
- "flake-parts": "flake-parts",
+ "flake-compat": "flake-compat_2",
+ "flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
@@ -156,6 +208,45 @@
"type": "github"
}
},
+ "multibg-wayland": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1756985778,
+ "narHash": "sha256-D3YMTn+YVfqXm9+g4gDw/fegidBgco3VbMSlZBt2ysI=",
+ "owner": "gergo-salyi",
+ "repo": "multibg-wayland",
+ "rev": "6574f43432c46a9afd6f0fd1e44b7ed7f625ebc3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gergo-salyi",
+ "repo": "multibg-wayland",
+ "type": "github"
+ }
+ },
+ "ndg": {
+ "inputs": {
+ "flake-compat": "flake-compat",
+ "flake-parts": "flake-parts",
+ "nixpkgs": [
+ "hjem",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1760102695,
+ "narHash": "sha256-DyamtLt6KW/qkNs/kMnF/E+xlf6iFBMMF3m54boTHeY=",
+ "owner": "feel-co",
+ "repo": "ndg",
+ "rev": "6319eb4afa6fd42be5c8c9ed012e95e3f32c16eb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "feel-co",
+ "repo": "ndg",
+ "type": "github"
+ }
+ },
"nixos-facter-modules": {
"locked": {
"lastModified": 1756491981,
@@ -173,11 +264,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1758690382,
- "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
+ "lastModified": 1760284886,
+ "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "e643668fd71b949c53f8626614b21ff71a07379d",
+ "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
"type": "github"
},
"original": {
@@ -187,6 +278,43 @@
"type": "github"
}
},
+ "nixpkgs-lib": {
+ "locked": {
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nocargo": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "registry-crates-io": "registry-crates-io"
+ },
+ "locked": {
+ "lastModified": 1745995660,
+ "narHash": "sha256-Cca7/uDRwfo4UnPhZX31+vQ7chKr9nJsMvwykGllDVA=",
+ "owner": "oxalica",
+ "repo": "nocargo",
+ "rev": "089f487c2c123454c8b9a381a99999b63c53d1d6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "nocargo",
+ "type": "github"
+ }
+ },
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
@@ -213,14 +341,32 @@
"type": "github"
}
},
+ "registry-crates-io": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1704732624,
+ "narHash": "sha256-FWX5JX33ievm6JuIEp1lI5EPndYt8s6anU+fQBYuFKc=",
+ "owner": "rust-lang",
+ "repo": "crates.io-index",
+ "rev": "4445fa0011e6ff9989985651bec57eb4cbefcadd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rust-lang",
+ "repo": "crates.io-index",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"disko": "disko",
"firefox-csshacks": "firefox-csshacks",
"hjem": "hjem",
"lanzaboote": "lanzaboote",
+ "multibg-wayland": "multibg-wayland",
"nixos-facter-modules": "nixos-facter-modules",
"nixpkgs": "nixpkgs",
+ "nocargo": "nocargo",
"system-manager": "system-manager",
"tmux-tsunami": "tmux-tsunami"
}
@@ -234,11 +380,11 @@
]
},
"locked": {
- "lastModified": 1755225702,
- "narHash": "sha256-i7Rgs943NqX0RgQW0/l1coi8eWBj3XhxVggMpjjzTsk=",
+ "lastModified": 1759113356,
+ "narHash": "sha256-xm4kEUcV2jk6u15aHazFP4YsMwhq+PczA+Ul/4FDKWI=",
"owner": "oxalica",
"repo": "rust-overlay",
- "rev": "4abaeba6b176979be0da0195b9e4ce86bc501ae4",
+ "rev": "be3b8843a2be2411500f6c052876119485e957a2",
"type": "github"
},
"original": {
@@ -278,11 +424,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1755350122,
- "narHash": "sha256-fTmAdnSPmEZlwAMTm/NEl4VibUAo+cerUuby1AYbKMM=",
+ "lastModified": 1759458325,
+ "narHash": "sha256-NY9sQlRPVVY7JWcZHtrK0T0RlH676NhaqR7Lco+FhTQ=",
"owner": "feel-co",
"repo": "smfh",
- "rev": "5de4e315d61a7378f37ebdd39d42b6cf09a1b8cc",
+ "rev": "c29b22c328d6b03acaa6b879bf7f3c8ff82ca2d3",
"type": "github"
},
"original": {
@@ -326,21 +472,33 @@
"type": "github"
}
},
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
"tmux-tsunami": {
"inputs": {
- "hjem": [
- "hjem"
- ],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
- "lastModified": 1759283700,
- "narHash": "sha256-ERGJ4cPxSdQ93ZTvVA5OYc5wGRUDRVDWcAdehLuzws0=",
+ "lastModified": 1759929245,
+ "narHash": "sha256-Hy7i6yGn7gQ2AYe9Wv1IT+SvBaWy5CPqc9pWPipunoQ=",
"owner": "bluedragon1221",
"repo": "tmux-tsunami",
- "rev": "0c0a8ebd9a442e2978fb65296f67ec0759330d60",
+ "rev": "8a1d508232f2767d4ab4d0d7b2a5e21fd1a230b1",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 462424f..f019422 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,6 +1,14 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ # determinate = {
+ # # I HATE FLAKEHUB
+ # url = "github:DeterminateSystems/determinate";
+ # inputs = {
+ # nix.url = "github:DeterminateSystems/nix-src";
+ # nixpkgs.follows = "nixpkgs";
+ # };
+ # };
disko = {
url = "github:nix-community/disko";
@@ -9,14 +17,13 @@
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
- lanzaboote = {
- url = "github:nix-community/lanzaboote";
+ nocargo = {
+ url = "github:oxalica/nocargo";
inputs.nixpkgs.follows = "nixpkgs";
};
- # for server that doesn't have nixos
- system-manager = {
- url = "github:numtide/system-manager";
+ lanzaboote = {
+ url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
};
@@ -28,7 +35,6 @@
tmux-tsunami = {
url = "github:bluedragon1221/tmux-tsunami";
inputs.nixpkgs.follows = "nixpkgs";
- inputs.hjem.follows = "hjem";
};
firefox-csshacks = {
diff --git a/hosts/ganymede/facter.json b/hosts/ganymede/facter.json
new file mode 100644
index 0000000..e55b063
--- /dev/null
+++ b/hosts/ganymede/facter.json
@@ -0,0 +1,4383 @@
+{
+ "version": 1,
+ "system": "x86_64-linux",
+ "virtualisation": "none",
+ "hardware": {
+ "bios": {
+ "apm_info": {
+ "supported": false,
+ "enabled": false,
+ "version": 0,
+ "sub_version": 0,
+ "bios_flags": 0
+ },
+ "vbe_info": {
+ "version": 0,
+ "video_memory": 0
+ },
+ "pnp": false,
+ "pnp_id": 0,
+ "lba_support": false,
+ "low_memory_size": 0,
+ "smbios_version": 768
+ },
+ "bluetooth": [
+ {
+ "index": 43,
+ "attached_to": 45,
+ "class_list": [
+ "usb",
+ "bluetooth"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0115",
+ "name": "Bluetooth Device",
+ "value": 277
+ },
+ "vendor": {
+ "hex": "0bda",
+ "name": "Realtek",
+ "value": 3034
+ },
+ "device": {
+ "hex": "b023",
+ "name": "Bluetooth Radio",
+ "value": 45091
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.10",
+ "value": 0
+ },
+ "serial": "00e04c000001",
+ "model": "Realtek Bluetooth Radio",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0",
+ "sysfs_bus_id": "1-7:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "device_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "btusb",
+ "driver_module": "btusb",
+ "drivers": [
+ "btusb"
+ ],
+ "driver_modules": [
+ "btusb"
+ ],
+ "module_alias": "usb:v0BDApB023d0110dcE0dsc01dp01icE0isc01ip01in00"
+ },
+ {
+ "index": 47,
+ "attached_to": 45,
+ "class_list": [
+ "usb",
+ "bluetooth"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0115",
+ "name": "Bluetooth Device",
+ "value": 277
+ },
+ "vendor": {
+ "hex": "0bda",
+ "name": "Realtek",
+ "value": 3034
+ },
+ "device": {
+ "hex": "b023",
+ "name": "Bluetooth Radio",
+ "value": 45091
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.10",
+ "value": 0
+ },
+ "serial": "00e04c000001",
+ "model": "Realtek Bluetooth Radio",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1",
+ "sysfs_bus_id": "1-7:1.1",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "device_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 1,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "btusb",
+ "driver_module": "btusb",
+ "drivers": [
+ "btusb"
+ ],
+ "driver_modules": [
+ "btusb"
+ ],
+ "module_alias": "usb:v0BDApB023d0110dcE0dsc01dp01icE0isc01ip01in01"
+ }
+ ],
+ "bridge": [
+ {
+ "index": 13,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 28
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d10",
+ "value": 40208
+ },
+ "sub_device": {
+ "hex": "3848",
+ "value": 14408
+ },
+ "revision": {
+ "hex": "00f1",
+ "value": 241
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0",
+ "sysfs_bus_id": "0000:00:1c.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 120,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 1,
+ "irq": 120,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d00009D10sv000017AAsd00003848bc06sc04i00"
+ },
+ {
+ "index": 15,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0001",
+ "name": "ISA bridge",
+ "value": 1
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d4e",
+ "value": 40270
+ },
+ "sub_device": {
+ "hex": "3812",
+ "value": 14354
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel ISA bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.0",
+ "sysfs_bus_id": "0000:00:1f.0",
+ "detail": {
+ "function": 0,
+ "command": 7,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "module_alias": "pci:v00008086d00009D4Esv000017AAsd00003812bc06sc01i00"
+ },
+ {
+ "index": 16,
+ "attached_to": 21,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 2,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d3",
+ "value": 5587
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:00.0",
+ "sysfs_bus_id": "0000:02:00.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 7,
+ "header_type": 1,
+ "secondary_bus": 3,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000015D3sv00002222sd00001111bc06sc04i00"
+ },
+ {
+ "index": 19,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 28
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d15",
+ "value": 40213
+ },
+ "sub_device": {
+ "hex": "3844",
+ "value": 14404
+ },
+ "revision": {
+ "hex": "00f1",
+ "value": 241
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.5",
+ "sysfs_bus_id": "0000:00:1c.5",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 121,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 5,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 108,
+ "irq": 121,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d00009D15sv000017AAsd00003844bc06sc04i00"
+ },
+ {
+ "index": 21,
+ "attached_to": 13,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 1,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d3",
+ "value": 5587
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0",
+ "sysfs_bus_id": "0000:01:00.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 7,
+ "header_type": 1,
+ "secondary_bus": 2,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000015D3sv00002222sd00001111bc06sc04i00"
+ },
+ {
+ "index": 23,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Host bridge",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "5914",
+ "value": 22804
+ },
+ "sub_device": {
+ "hex": "3815",
+ "value": 14357
+ },
+ "revision": {
+ "hex": "0008",
+ "value": 8
+ },
+ "model": "Intel Host bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:00.0",
+ "sysfs_bus_id": "0000:00:00.0",
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "driver": "skl_uncore",
+ "driver_module": "intel_uncore",
+ "drivers": [
+ "skl_uncore"
+ ],
+ "driver_modules": [
+ "intel_uncore"
+ ],
+ "module_alias": "pci:v00008086d00005914sv000017AAsd00003815bc06sc00i00"
+ },
+ {
+ "index": 26,
+ "attached_to": 21,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 2,
+ "number": 2
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d3",
+ "value": 5587
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0",
+ "sysfs_bus_id": "0000:02:02.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 18,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 7,
+ "header_type": 1,
+ "secondary_bus": 55,
+ "irq": 18,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000015D3sv00002222sd00001111bc06sc04i00"
+ },
+ {
+ "index": 29,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 29
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d18",
+ "value": 40216
+ },
+ "sub_device": {
+ "hex": "3841",
+ "value": 14401
+ },
+ "revision": {
+ "hex": "00f1",
+ "value": 241
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1d.0",
+ "sysfs_bus_id": "0000:00:1d.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 122,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 109,
+ "irq": 122,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d00009D18sv000017AAsd00003841bc06sc04i00"
+ },
+ {
+ "index": 31,
+ "attached_to": 21,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 2,
+ "number": 1
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d3",
+ "value": 5587
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:01.0",
+ "sysfs_bus_id": "0000:02:01.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 123,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 4,
+ "irq": 123,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000015D3sv00002222sd00001111bc06sc04i00"
+ },
+ {
+ "index": 35,
+ "attached_to": 21,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 2,
+ "number": 4
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d3",
+ "value": 5587
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:04.0",
+ "sysfs_bus_id": "0000:02:04.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 124,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 56,
+ "irq": 124,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000015D3sv00002222sd00001111bc06sc04i00"
+ }
+ ],
+ "cpu": [
+ {
+ "architecture": "x86_64",
+ "vendor_name": "GenuineIntel",
+ "family": 6,
+ "model": 142,
+ "stepping": 10,
+ "features": [
+ "fpu",
+ "vme",
+ "de",
+ "pse",
+ "tsc",
+ "msr",
+ "pae",
+ "mce",
+ "cx8",
+ "apic",
+ "sep",
+ "mtrr",
+ "pge",
+ "mca",
+ "cmov",
+ "pat",
+ "pse36",
+ "clflush",
+ "dts",
+ "acpi",
+ "mmx",
+ "fxsr",
+ "sse",
+ "sse2",
+ "ss",
+ "ht",
+ "tm",
+ "pbe",
+ "syscall",
+ "nx",
+ "pdpe1gb",
+ "rdtscp",
+ "lm",
+ "constant_tsc",
+ "art",
+ "arch_perfmon",
+ "pebs",
+ "bts",
+ "rep_good",
+ "nopl",
+ "xtopology",
+ "nonstop_tsc",
+ "cpuid",
+ "aperfmperf",
+ "pni",
+ "pclmulqdq",
+ "dtes64",
+ "monitor",
+ "ds_cpl",
+ "vmx",
+ "est",
+ "tm2",
+ "ssse3",
+ "sdbg",
+ "fma",
+ "cx16",
+ "xtpr",
+ "pdcm",
+ "pcid",
+ "sse4_1",
+ "sse4_2",
+ "x2apic",
+ "movbe",
+ "popcnt",
+ "tsc_deadline_timer",
+ "aes",
+ "xsave",
+ "avx",
+ "f16c",
+ "rdrand",
+ "lahf_lm",
+ "abm",
+ "3dnowprefetch",
+ "cpuid_fault",
+ "epb",
+ "pti",
+ "ssbd",
+ "ibrs",
+ "ibpb",
+ "stibp",
+ "tpr_shadow",
+ "flexpriority",
+ "ept",
+ "vpid",
+ "ept_ad",
+ "fsgsbase",
+ "tsc_adjust",
+ "sgx",
+ "bmi1",
+ "avx2",
+ "smep",
+ "bmi2",
+ "erms",
+ "invpcid",
+ "mpx",
+ "rdseed",
+ "adx",
+ "smap",
+ "clflushopt",
+ "intel_pt",
+ "xsaveopt",
+ "xsavec",
+ "xgetbv1",
+ "xsaves",
+ "dtherm",
+ "ida",
+ "arat",
+ "pln",
+ "pts",
+ "hwp",
+ "hwp_notify",
+ "hwp_act_window",
+ "hwp_epp",
+ "vnmi",
+ "md_clear",
+ "flush_l1d"
+ ],
+ "bugs": [
+ "cpu_meltdown",
+ "spectre_v1",
+ "spectre_v2",
+ "spec_store_bypass",
+ "l1tf",
+ "mds",
+ "swapgs",
+ "itlb_multihit",
+ "srbds",
+ "mmio_stale_data",
+ "retbleed",
+ "gds"
+ ],
+ "bogo": 3600,
+ "cache": 6144,
+ "units": 16,
+ "physical_id": 0,
+ "siblings": 8,
+ "cores": 4,
+ "fpu": true,
+ "fpu_exception": true,
+ "cpuid_level": 22,
+ "write_protect": false,
+ "clflush_size": 64,
+ "cache_alignment": 64,
+ "address_sizes": {
+ "physical": 39,
+ "virtual": 48
+ }
+ }
+ ],
+ "disk": [
+ {
+ "index": 37,
+ "attached_to": 25,
+ "class_list": [
+ "disk",
+ "block_device",
+ "nvme"
+ ],
+ "bus_type": {
+ "hex": "0096",
+ "name": "NVME",
+ "value": 150
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0106",
+ "name": "Mass Storage Device",
+ "value": 262
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Disk",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a808",
+ "name": "SAMSUNG MZVLB256HAHQ-000L2",
+ "value": 43016
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "serial": "S41FNF0K419134",
+ "model": "SAMSUNG MZVLB256HAHQ-000L2",
+ "sysfs_id": "/class/block/nvme0n1",
+ "sysfs_bus_id": "nvme0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.0/0000:6d:00.0/nvme/nvme0",
+ "unix_device_name": "/dev/nvme0n1",
+ "unix_device_number": {
+ "type": 98,
+ "major": 259,
+ "minor": 0,
+ "range": 0
+ },
+ "unix_device_names": [
+ "/dev/disk/by-diskseq/9",
+ "/dev/disk/by-id/nvme-SAMSUNG_MZVLB256HAHQ-000L2_S41FNF0K419134",
+ "/dev/disk/by-id/nvme-SAMSUNG_MZVLB256HAHQ-000L2_S41FNF0K419134_1",
+ "/dev/disk/by-id/nvme-eui.0025388481b0da15",
+ "/dev/disk/by-path/pci-0000:6d:00.0-nvme-1",
+ "/dev/nvme0n1"
+ ],
+ "resources": [
+ {
+ "type": "disk_geo",
+ "cylinders": 244198,
+ "heads": 64,
+ "sectors": 32,
+ "size": 0,
+ "geo_type": "logical"
+ },
+ {
+ "type": "size",
+ "unit": "sectors",
+ "value_1": 500118192,
+ "value_2": 512
+ }
+ ],
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ]
+ },
+ {
+ "index": 38,
+ "attached_to": 33,
+ "class_list": [
+ "disk",
+ "usb",
+ "scsi",
+ "block_device"
+ ],
+ "bus_type": {
+ "hex": "0084",
+ "name": "SCSI",
+ "value": 132
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0106",
+ "name": "Mass Storage Device",
+ "value": 262
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Disk",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "090c",
+ "name": "USB",
+ "value": 2316
+ },
+ "device": {
+ "hex": "3267",
+ "name": "Flash Disk",
+ "value": 12903
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1100",
+ "value": 0
+ },
+ "serial": "AA00000000000489",
+ "model": "USB Flash Disk",
+ "sysfs_id": "/class/block/sda",
+ "sysfs_bus_id": "0:0:0:0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/host0/target0:0:0/0:0:0:0",
+ "unix_device_name": "/dev/sda",
+ "unix_device_number": {
+ "type": 98,
+ "major": 8,
+ "minor": 0,
+ "range": 16
+ },
+ "unix_device_names": [
+ "/dev/disk/by-diskseq/10",
+ "/dev/disk/by-id/usb-USB_Flash_Disk-0:0",
+ "/dev/disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0",
+ "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:2:1.0-scsi-0:0:0:0",
+ "/dev/sda"
+ ],
+ "unix_device_name2": "/dev/sg0",
+ "unix_device_number2": {
+ "type": 99,
+ "major": 21,
+ "minor": 0,
+ "range": 1
+ },
+ "resources": [
+ {
+ "type": "disk_geo",
+ "cylinders": 15200,
+ "heads": 64,
+ "sectors": 32,
+ "size": 0,
+ "geo_type": "logical"
+ },
+ {
+ "type": "size",
+ "unit": "sectors",
+ "value_1": 31129600,
+ "value_2": 512
+ }
+ ],
+ "driver": "usb-storage",
+ "driver_module": "usb_storage",
+ "drivers": [
+ "sd",
+ "usb-storage"
+ ],
+ "driver_modules": [
+ "sd_mod",
+ "usb_storage"
+ ],
+ "module_alias": "usb:v090Cp3267d1100dc00dsc00dp00ic08isc06ip50in00"
+ }
+ ],
+ "graphics_card": [
+ {
+ "index": 32,
+ "attached_to": 0,
+ "class_list": [
+ "graphics_card",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 2
+ },
+ "base_class": {
+ "hex": "0003",
+ "name": "Display controller",
+ "value": 3
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "VGA compatible controller",
+ "value": 0
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "VGA",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "5917",
+ "value": 22807
+ },
+ "sub_device": {
+ "hex": "39ef",
+ "value": 14831
+ },
+ "revision": {
+ "hex": "0007",
+ "value": 7
+ },
+ "model": "Intel VGA compatible controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:02.0",
+ "sysfs_bus_id": "0000:00:02.0",
+ "resources": [
+ {
+ "type": "io",
+ "base": 16384,
+ "range": 64,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 152,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 204547817472,
+ "range": 268435456,
+ "enabled": true,
+ "access": "read_only",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 206057766912,
+ "range": 16777216,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 786432,
+ "range": 131072,
+ "enabled": false,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 152,
+ "prog_if": 0
+ },
+ "driver": "i915",
+ "driver_module": "i915",
+ "drivers": [
+ "i915"
+ ],
+ "driver_modules": [
+ "i915"
+ ],
+ "module_alias": "pci:v00008086d00005917sv000017AAsd000039EFbc03sc00i00"
+ }
+ ],
+ "hub": [
+ {
+ "index": 40,
+ "attached_to": 17,
+ "class_list": [
+ "usb",
+ "hub"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "010a",
+ "name": "Hub",
+ "value": 266
+ },
+ "vendor": {
+ "hex": "1d6b",
+ "name": "Linux 6.13.12 xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0002",
+ "name": "xHCI Host Controller",
+ "value": 2
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.13",
+ "value": 0
+ },
+ "serial": "0000:37:00.0",
+ "model": "Linux 6.13.12 xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:37:00.0/usb3/3-0:1.0",
+ "sysfs_bus_id": "3-0:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0002d0613dc09dsc00dp01ic09isc00ip00in00"
+ },
+ {
+ "index": 44,
+ "attached_to": 17,
+ "class_list": [
+ "usb",
+ "hub"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "010a",
+ "name": "Hub",
+ "value": 266
+ },
+ "vendor": {
+ "hex": "1d6b",
+ "name": "Linux 6.13.12 xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0003",
+ "name": "xHCI Host Controller",
+ "value": 3
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.13",
+ "value": 0
+ },
+ "serial": "0000:37:00.0",
+ "model": "Linux 6.13.12 xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:37:00.0/usb4/4-0:1.0",
+ "sysfs_bus_id": "4-0:1.0",
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 3,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0003d0613dc09dsc00dp03ic09isc00ip00in00"
+ },
+ {
+ "index": 45,
+ "attached_to": 33,
+ "class_list": [
+ "usb",
+ "hub"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "010a",
+ "name": "Hub",
+ "value": 266
+ },
+ "vendor": {
+ "hex": "1d6b",
+ "name": "Linux 6.13.12 xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0002",
+ "name": "xHCI Host Controller",
+ "value": 2
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.13",
+ "value": 0
+ },
+ "serial": "0000:00:14.0",
+ "model": "Linux 6.13.12 xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-0:1.0",
+ "sysfs_bus_id": "1-0:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0002d0613dc09dsc00dp01ic09isc00ip00in00"
+ },
+ {
+ "index": 46,
+ "attached_to": 45,
+ "class_list": [
+ "usb",
+ "hub"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "010a",
+ "name": "Hub",
+ "value": 266
+ },
+ "vendor": {
+ "hex": "1a40",
+ "value": 6720
+ },
+ "device": {
+ "hex": "0801",
+ "name": "USB 2.0 Hub",
+ "value": 2049
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.00",
+ "value": 0
+ },
+ "model": "USB 2.0 Hub",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0",
+ "sysfs_bus_id": "1-4:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1A40p0801d0100dc09dsc00dp01ic09isc00ip00in00"
+ },
+ {
+ "index": 48,
+ "attached_to": 33,
+ "class_list": [
+ "usb",
+ "hub"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "010a",
+ "name": "Hub",
+ "value": 266
+ },
+ "vendor": {
+ "hex": "1d6b",
+ "name": "Linux 6.13.12 xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0003",
+ "name": "xHCI Host Controller",
+ "value": 3
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.13",
+ "value": 0
+ },
+ "serial": "0000:00:14.0",
+ "model": "Linux 6.13.12 xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0",
+ "sysfs_bus_id": "2-0:1.0",
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 3,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0003d0613dc09dsc00dp03ic09isc00ip00in00"
+ }
+ ],
+ "memory": [
+ {
+ "index": 11,
+ "attached_to": 0,
+ "class_list": [
+ "memory"
+ ],
+ "base_class": {
+ "hex": "0101",
+ "name": "Internally Used Class",
+ "value": 257
+ },
+ "sub_class": {
+ "hex": "0002",
+ "name": "Main Memory",
+ "value": 2
+ },
+ "model": "Main Memory",
+ "resources": [
+ {
+ "type": "mem",
+ "base": 0,
+ "range": 8040165376,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "unknown"
+ },
+ {
+ "type": "phys_mem",
+ "range": 8053063680
+ }
+ ]
+ }
+ ],
+ "monitor": [
+ {
+ "index": 36,
+ "attached_to": 32,
+ "class_list": [
+ "monitor"
+ ],
+ "base_class": {
+ "hex": "0100",
+ "name": "Monitor",
+ "value": 256
+ },
+ "sub_class": {
+ "hex": "0002",
+ "name": "LCD Monitor",
+ "value": 2
+ },
+ "vendor": {
+ "hex": "5a63",
+ "name": "VIEWSONIC",
+ "value": 23139
+ },
+ "device": {
+ "hex": "d22b",
+ "name": "VG2439 Series",
+ "value": 53803
+ },
+ "serial": "VBW184000686",
+ "model": "VIEWSONIC VG2439 Series",
+ "resources": [
+ {
+ "type": "monitor",
+ "width": 1024,
+ "height": 768,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1024,
+ "height": 768,
+ "vertical_frequency": 70,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1024,
+ "height": 768,
+ "vertical_frequency": 75,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1280,
+ "height": 1024,
+ "vertical_frequency": 75,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1600,
+ "height": 1200,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1600,
+ "height": 900,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 1920,
+ "height": 1080,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 640,
+ "height": 480,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 640,
+ "height": 480,
+ "vertical_frequency": 67,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 640,
+ "height": 480,
+ "vertical_frequency": 72,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 640,
+ "height": 480,
+ "vertical_frequency": 75,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 720,
+ "height": 400,
+ "vertical_frequency": 70,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 800,
+ "height": 600,
+ "vertical_frequency": 56,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 800,
+ "height": 600,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 800,
+ "height": 600,
+ "vertical_frequency": 72,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 800,
+ "height": 600,
+ "vertical_frequency": 75,
+ "interlaced": false
+ },
+ {
+ "type": "monitor",
+ "width": 832,
+ "height": 624,
+ "vertical_frequency": 75,
+ "interlaced": false
+ },
+ {
+ "type": "size",
+ "unit": "mm",
+ "value_1": 521,
+ "value_2": 293
+ }
+ ],
+ "detail": {
+ "manufacture_year": 2018,
+ "manufacture_week": 40,
+ "vertical_sync": {
+ "min": 50,
+ "max": 75
+ },
+ "horizontal_sync": {
+ "min": 15,
+ "max": 82
+ },
+ "horizontal_sync_timings": {
+ "disp": 1920,
+ "sync_start": 2008,
+ "sync_end": 2052,
+ "total": 2200
+ },
+ "vertical_sync_timings": {
+ "disp": 1080,
+ "sync_start": 1084,
+ "sync_end": 1089,
+ "total": 1125
+ },
+ "clock": 148500,
+ "width": 1920,
+ "height": 1080,
+ "width_millimetres": 521,
+ "height_millimetres": 293,
+ "horizontal_flag": 43,
+ "vertical_flag": 43,
+ "vendor": "",
+ "name": "VG2439 Series"
+ },
+ "driver_info": {
+ "type": "display",
+ "width": 1920,
+ "height": 1080,
+ "vertical_sync": {
+ "min": 50,
+ "max": 75
+ },
+ "horizontal_sync": {
+ "min": 15,
+ "max": 82
+ },
+ "bandwidth": 0,
+ "horizontal_sync_timings": {
+ "disp": 1920,
+ "sync_start": 2008,
+ "sync_end": 2052,
+ "total": 2200
+ },
+ "vertical_sync_timings": {
+ "disp": 1080,
+ "sync_start": 1084,
+ "sync_end": 1089,
+ "total": 1125
+ },
+ "horizontal_flag": 43,
+ "vertical_flag": 43
+ }
+ }
+ ],
+ "mouse": [
+ {
+ "index": 51,
+ "attached_to": 0,
+ "bus_type": {
+ "hex": "0081",
+ "name": "serial",
+ "value": 129
+ },
+ "base_class": {
+ "hex": "0118",
+ "name": "touchpad",
+ "value": 280
+ },
+ "sub_class": {
+ "hex": "0001",
+ "name": "bus",
+ "value": 1
+ },
+ "vendor": {
+ "hex": "06cb",
+ "value": 1739
+ },
+ "device": {
+ "hex": "7f8f",
+ "value": 32655
+ },
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-MSFT0001:02/0018:06CB:7F8F.0001/input/input9",
+ "unix_device_names": [
+ "/dev/input/event6",
+ "/dev/input/ + handler"
+ ]
+ }
+ ],
+ "network_controller": [
+ {
+ "index": 28,
+ "attached_to": 19,
+ "class_list": [
+ "network_controller",
+ "pci",
+ "wlan_card"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 108,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0002",
+ "name": "Network controller",
+ "value": 2
+ },
+ "sub_class": {
+ "hex": "0082",
+ "name": "WLAN controller",
+ "value": 130
+ },
+ "vendor": {
+ "hex": "10ec",
+ "value": 4332
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "b822",
+ "value": 47138
+ },
+ "sub_device": {
+ "hex": "b023",
+ "value": 45091
+ },
+ "model": "WLAN controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.5/0000:6c:00.0",
+ "sysfs_bus_id": "0000:6c:00.0",
+ "unix_device_name": "wlan0",
+ "unix_device_names": [
+ "wlan0"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 55
+ },
+ {
+ "type": "io",
+ "base": 12288,
+ "range": 256,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 153,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1847590912,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "phwaddr",
+ "address": 55
+ },
+ {
+ "type": "wlan",
+ "channels": [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "36",
+ "40",
+ "44",
+ "48",
+ "52",
+ "56",
+ "60",
+ "64",
+ "100",
+ "104",
+ "108",
+ "112",
+ "116",
+ "120",
+ "124",
+ "128",
+ "132",
+ "136",
+ "140",
+ "144",
+ "149"
+ ],
+ "frequencies": [
+ "2.412",
+ "2.417",
+ "2.422",
+ "2.427",
+ "2.432",
+ "2.437",
+ "2.442",
+ "2.447",
+ "2.452",
+ "2.457",
+ "2.462",
+ "5.18",
+ "5.2",
+ "5.22",
+ "5.24",
+ "5.26",
+ "5.28",
+ "5.3",
+ "5.32",
+ "5.5",
+ "5.52",
+ "5.54",
+ "5.56",
+ "5.58",
+ "5.6",
+ "5.62",
+ "5.64",
+ "5.66",
+ "5.68",
+ "5.7",
+ "5.72",
+ "5.745"
+ ],
+ "auth_modes": [
+ "open",
+ "sharedkey",
+ "wpa-psk",
+ "wpa-eap"
+ ],
+ "enc_modes": [
+ "WEP40",
+ "WEP104",
+ "TKIP",
+ "CCMP"
+ ]
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 153,
+ "prog_if": 0
+ },
+ "driver": "rtw_8822be",
+ "driver_module": "rtw88_8822be",
+ "drivers": [
+ "rtw_8822be"
+ ],
+ "driver_modules": [
+ "rtw88_8822be"
+ ],
+ "module_alias": "pci:v000010ECd0000B822sv000017AAsd0000B023bc02sc80i00"
+ }
+ ],
+ "network_interface": [
+ {
+ "index": 49,
+ "attached_to": 28,
+ "class_list": [
+ "network_interface"
+ ],
+ "base_class": {
+ "hex": "0107",
+ "name": "Network Interface",
+ "value": 263
+ },
+ "sub_class": {
+ "hex": "000a",
+ "name": "WLAN",
+ "value": 10
+ },
+ "model": "WLAN network interface",
+ "sysfs_id": "/class/net/wlan0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:1c.5/0000:6c:00.0",
+ "unix_device_name": "wlan0",
+ "unix_device_names": [
+ "wlan0"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 55
+ },
+ {
+ "type": "phwaddr",
+ "address": 55
+ }
+ ],
+ "driver": "rtw_8822be",
+ "driver_module": "rtw88_8822be",
+ "drivers": [
+ "rtw_8822be"
+ ],
+ "driver_modules": [
+ "rtw88_8822be"
+ ]
+ },
+ {
+ "index": 50,
+ "attached_to": 0,
+ "class_list": [
+ "network_interface"
+ ],
+ "base_class": {
+ "hex": "0107",
+ "name": "Network Interface",
+ "value": 263
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Loopback",
+ "value": 0
+ },
+ "model": "Loopback network interface",
+ "sysfs_id": "/class/net/lo",
+ "unix_device_name": "lo",
+ "unix_device_names": [
+ "lo"
+ ]
+ }
+ ],
+ "pci": [
+ {
+ "index": 12,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "0005",
+ "name": "Memory controller",
+ "value": 5
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Memory controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d21",
+ "value": 40225
+ },
+ "sub_device": {
+ "hex": "3864",
+ "value": 14436
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Memory controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.2",
+ "sysfs_bus_id": "0000:00:1f.2",
+ "resources": [
+ {
+ "type": "mem",
+ "base": 1848705024,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "module_alias": "pci:v00008086d00009D21sv000017AAsd00003864bc05sc80i00"
+ },
+ {
+ "index": 14,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 21
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d61",
+ "value": 40289
+ },
+ "sub_device": {
+ "hex": "3854",
+ "value": 14420
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.1",
+ "sysfs_bus_id": "0000:00:15.1",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 17,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074671104,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 1,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 17,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "module_alias": "pci:v00008086d00009D61sv000017AAsd00003854bc11sc80i00"
+ },
+ {
+ "index": 18,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 4
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "1903",
+ "value": 6403
+ },
+ "sub_device": {
+ "hex": "3818",
+ "value": 14360
+ },
+ "revision": {
+ "hex": "0008",
+ "value": 8
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:04.0",
+ "sysfs_bus_id": "0000:00:04.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074609664,
+ "range": 32768,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "proc_thermal",
+ "driver_module": "processor_thermal_device_pci_legacy",
+ "drivers": [
+ "proc_thermal"
+ ],
+ "driver_modules": [
+ "processor_thermal_device_pci_legacy"
+ ],
+ "module_alias": "pci:v00008086d00001903sv000017AAsd00003818bc11sc80i00"
+ },
+ {
+ "index": 20,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 22
+ },
+ "base_class": {
+ "hex": "0007",
+ "name": "Communication controller",
+ "value": 7
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Communication controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d3a",
+ "value": 40250
+ },
+ "sub_device": {
+ "hex": "3861",
+ "value": 14433
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Communication controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:16.0",
+ "sysfs_bus_id": "0000:00:16.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 150,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074662912,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 150,
+ "prog_if": 0
+ },
+ "driver": "mei_me",
+ "driver_module": "mei_me",
+ "drivers": [
+ "mei_me"
+ ],
+ "driver_modules": [
+ "mei_me"
+ ],
+ "module_alias": "pci:v00008086d00009D3Asv000017AAsd00003861bc07sc80i00"
+ },
+ {
+ "index": 24,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 21
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d62",
+ "value": 40290
+ },
+ "sub_device": {
+ "hex": "3817",
+ "value": 14359
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.2",
+ "sysfs_bus_id": "0000:00:15.2",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 18,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074667008,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 18,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "module_alias": "pci:v00008086d00009D62sv000017AAsd00003817bc11sc80i00"
+ },
+ {
+ "index": 27,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 21
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d60",
+ "value": 40288
+ },
+ "sub_device": {
+ "hex": "3857",
+ "value": 14423
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.0",
+ "sysfs_bus_id": "0000:00:15.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074675200,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "module_alias": "pci:v00008086d00009D60sv000017AAsd00003857bc11sc80i00"
+ },
+ {
+ "index": 30,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 20
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d31",
+ "value": 40241
+ },
+ "sub_device": {
+ "hex": "3853",
+ "value": 14419
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.2",
+ "sysfs_bus_id": "0000:00:14.2",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 18,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074679296,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 18,
+ "prog_if": 0
+ },
+ "driver": "intel_pch_thermal",
+ "driver_module": "intel_pch_thermal",
+ "drivers": [
+ "intel_pch_thermal"
+ ],
+ "driver_modules": [
+ "intel_pch_thermal"
+ ],
+ "module_alias": "pci:v00008086d00009D31sv000017AAsd00003853bc11sc80i00"
+ },
+ {
+ "index": 34,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0005",
+ "name": "SMBus",
+ "value": 5
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d23",
+ "value": 40227
+ },
+ "sub_device": {
+ "hex": "3860",
+ "value": 14432
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel SMBus",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.4",
+ "sysfs_bus_id": "0000:00:1f.4",
+ "resources": [
+ {
+ "type": "io",
+ "base": 16448,
+ "range": 32,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074658816,
+ "range": 256,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 4,
+ "command": 3,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "i801_smbus",
+ "driver_module": "i2c_i801",
+ "drivers": [
+ "i801_smbus"
+ ],
+ "driver_modules": [
+ "i2c_i801"
+ ],
+ "module_alias": "pci:v00008086d00009D23sv000017AAsd00003860bc0Csc05i00"
+ }
+ ],
+ "sound": [
+ {
+ "index": 22,
+ "attached_to": 0,
+ "class_list": [
+ "sound",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "0004",
+ "name": "Multimedia controller",
+ "value": 4
+ },
+ "sub_class": {
+ "hex": "0003",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d71",
+ "value": 40305
+ },
+ "sub_device": {
+ "hex": "3828",
+ "value": 14376
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel Multimedia controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.3",
+ "sysfs_bus_id": "0000:00:1f.3",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 158,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 206074544128,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 206074642432,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 3,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 158,
+ "prog_if": 128
+ },
+ "driver": "snd_hda_intel",
+ "driver_module": "snd_hda_intel",
+ "drivers": [
+ "snd_hda_intel"
+ ],
+ "driver_modules": [
+ "snd_hda_intel"
+ ],
+ "module_alias": "pci:v00008086d00009D71sv000017AAsd00003828bc04sc03i80"
+ }
+ ],
+ "storage_controller": [
+ {
+ "index": 25,
+ "attached_to": 29,
+ "class_list": [
+ "storage_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 109,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0001",
+ "name": "Mass storage controller",
+ "value": 1
+ },
+ "sub_class": {
+ "hex": "0008",
+ "value": 8
+ },
+ "pci_interface": {
+ "hex": "0002",
+ "value": 2
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a808",
+ "value": 43016
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "model": "Mass storage controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/0000:6d:00.0",
+ "sysfs_bus_id": "0000:6d:00.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1846542336,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 2
+ },
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ],
+ "module_alias": "pci:v0000144Dd0000A808sv0000144Dsd0000A801bc01sc08i02"
+ }
+ ],
+ "system": {
+ "form_factor": "laptop"
+ },
+ "usb": [
+ {
+ "index": 39,
+ "attached_to": 45,
+ "class_list": [
+ "usb",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0000",
+ "name": "Unclassified device",
+ "value": 0
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Unclassified device",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "06cb",
+ "value": 1739
+ },
+ "device": {
+ "hex": "0081",
+ "value": 129
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.64",
+ "value": 0
+ },
+ "serial": "e90194867471",
+ "model": "Unclassified device",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0",
+ "sysfs_bus_id": "1-6:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00ff",
+ "name": "vendor_spec",
+ "value": 255
+ },
+ "device_subclass": {
+ "hex": "0010",
+ "name": "audio_video",
+ "value": 16
+ },
+ "device_protocol": 255,
+ "interface_class": {
+ "hex": "00ff",
+ "name": "vendor_spec",
+ "value": 255
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "module_alias": "usb:v06CBp0081d0164dcFFdsc10dpFFicFFisc00ip00in00"
+ },
+ {
+ "index": 41,
+ "attached_to": 46,
+ "class_list": [
+ "usb",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0086",
+ "name": "USB",
+ "value": 134
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0000",
+ "name": "Unclassified device",
+ "value": 0
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Unclassified device",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "1d5c",
+ "name": "Fresco Logic, Inc",
+ "value": 7516
+ },
+ "device": {
+ "hex": "7102",
+ "name": "Generic Billboard Device",
+ "value": 28930
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.00",
+ "value": 0
+ },
+ "model": "Fresco Logic Generic Billboard Device",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1:1.0",
+ "sysfs_bus_id": "1-4.1:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0011",
+ "name": "billboard",
+ "value": 17
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 0,
+ "interface_class": {
+ "hex": "0011",
+ "name": "billboard",
+ "value": 17
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "module_alias": "usb:v1D5Cp7102d0100dc11dsc00dp00ic11isc00ip00in00"
+ }
+ ],
+ "usb_controller": [
+ {
+ "index": 17,
+ "attached_to": 26,
+ "class_list": [
+ "usb_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 55,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0003",
+ "name": "USB Controller",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0030",
+ "value": 48
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "2222",
+ "value": 8738
+ },
+ "device": {
+ "hex": "15d4",
+ "value": 5588
+ },
+ "sub_device": {
+ "hex": "1111",
+ "value": 4369
+ },
+ "revision": {
+ "hex": "0002",
+ "value": 2
+ },
+ "model": "Intel USB Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:37:00.0",
+ "sysfs_bus_id": "0000:37:00.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 134,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1475346432,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1027,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 134,
+ "prog_if": 48
+ },
+ "driver": "xhci_hcd",
+ "driver_module": "xhci_pci",
+ "drivers": [
+ "xhci_hcd"
+ ],
+ "driver_modules": [
+ "xhci_pci"
+ ],
+ "module_alias": "pci:v00008086d000015D4sv00002222sd00001111bc0Csc03i30"
+ },
+ {
+ "index": 33,
+ "attached_to": 0,
+ "class_list": [
+ "usb_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 20
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0003",
+ "name": "USB Controller",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0030",
+ "value": 48
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "9d2f",
+ "value": 40239
+ },
+ "sub_device": {
+ "hex": "3862",
+ "value": 14434
+ },
+ "revision": {
+ "hex": "0021",
+ "value": 33
+ },
+ "model": "Intel USB Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0",
+ "sysfs_bus_id": "0000:00:14.0",
+ "resources": [
+ {
+ "type": "irq",
+ "base": 125,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1848639488,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 125,
+ "prog_if": 48
+ },
+ "driver": "xhci_hcd",
+ "driver_module": "xhci_pci",
+ "drivers": [
+ "xhci_hcd"
+ ],
+ "driver_modules": [
+ "xhci_pci"
+ ],
+ "module_alias": "pci:v00008086d00009D2Fsv000017AAsd00003862bc0Csc03i30"
+ }
+ ]
+ },
+ "smbios": {
+ "bios": {
+ "handle": 0,
+ "vendor": "LENOVO",
+ "version": "7LCN32WW(V1.13)",
+ "date": "12/29/2020",
+ "features": [
+ "PCI supported",
+ "BIOS flashable",
+ "BIOS shadowing allowed",
+ "CD boot supported",
+ "Selectable boot supported",
+ "EDD spec supported",
+ "1.2MB NEC 9800 Japanese Floppy supported",
+ "1.2MB Toshiba Japanese Floppy supported",
+ "360kB Floppy supported",
+ "1.2MB Floppy supported",
+ "720kB Floppy supported",
+ "2.88MB Floppy supported",
+ "8042 Keyboard Services supported",
+ "CGA/Mono Video supported",
+ "ACPI supported",
+ "USB Legacy supported",
+ "BIOS Boot Spec supported"
+ ],
+ "start_address": "0xe0000",
+ "rom_size": 6291456
+ },
+ "board": {
+ "handle": 2,
+ "manufacturer": "LENOVO",
+ "product": "LNVNB161216",
+ "version": "SDK0J40709 WIN",
+ "board_type": {
+ "hex": "000a",
+ "name": "Motherboard",
+ "value": 10
+ },
+ "features": [
+ "Hosting Board",
+ "Replaceable"
+ ],
+ "location": "Type2 - Board Chassis Location",
+ "chassis": 3
+ },
+ "cache": [
+ {
+ "handle": 5,
+ "socket": "L1 Cache",
+ "size_max": 256,
+ "size_current": 256,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 0,
+ "ecc": {
+ "hex": "0004",
+ "name": "Parity",
+ "value": 4
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0007",
+ "name": "8-way Set-Associative",
+ "value": 7
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 6,
+ "socket": "L2 Cache",
+ "size_max": 1024,
+ "size_current": 1024,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 1,
+ "ecc": {
+ "hex": "0005",
+ "name": "Single-bit",
+ "value": 5
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0005",
+ "name": "4-way Set-Associative",
+ "value": 5
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 7,
+ "socket": "L3 Cache",
+ "size_max": 6144,
+ "size_current": 6144,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 2,
+ "ecc": {
+ "hex": "0006",
+ "name": "Multi-bit",
+ "value": 6
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0009",
+ "name": "Other",
+ "value": 9
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ }
+ ],
+ "chassis": {
+ "handle": 3,
+ "manufacturer": "LENOVO",
+ "version": "Lenovo YOGA 730-13IKB",
+ "chassis_type": {
+ "hex": "001f",
+ "name": "Other",
+ "value": 31
+ },
+ "lock_present": false,
+ "bootup_state": {
+ "hex": "0003",
+ "name": "Safe",
+ "value": 3
+ },
+ "power_state": {
+ "hex": "0003",
+ "name": "Safe",
+ "value": 3
+ },
+ "thermal_state": {
+ "hex": "0003",
+ "name": "Safe",
+ "value": 3
+ },
+ "security_state": {
+ "hex": "0003",
+ "name": "None",
+ "value": 3
+ },
+ "oem": "0x0"
+ },
+ "config": {
+ "handle": 31,
+ "options": [
+ "ConfigOptions1",
+ "ConfigOptions2",
+ "ConfigOptions3"
+ ]
+ },
+ "group_associations": [
+ {
+ "handle": 33,
+ "name": "Intel(R) Silicon View Technology",
+ "handles": [
+ 66
+ ]
+ },
+ {
+ "handle": 34,
+ "name": "$MEI",
+ "handles": [
+ 61
+ ]
+ },
+ {
+ "handle": 35,
+ "name": "$MEI",
+ "handles": [
+ 60
+ ]
+ },
+ {
+ "handle": 45,
+ "power": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "keyboard": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "admin": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "reset": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ }
+ }
+ ],
+ "language": [
+ {
+ "handle": 32,
+ "languages": [
+ "en|US|iso8859-1,0",
+ "fr|FR|iso8859-1,0",
+ "zh|TW|unicode,0",
+ "ja|JP|unicode,0",
+ "it|IT|iso8859-1,0",
+ "es|ES|iso8859-1,0",
+ "de|DE|iso8859-1,0",
+ "pt|PT|iso8859-1,0"
+ ]
+ }
+ ],
+ "memory_array": [
+ {
+ "handle": 37,
+ "location": {
+ "hex": "0003",
+ "name": "Motherboard",
+ "value": 3
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "System memory",
+ "value": 3
+ },
+ "ecc": {
+ "hex": "0003",
+ "name": "None",
+ "value": 3
+ },
+ "max_size": 33554432,
+ "error_handle": 65535,
+ "slots": 2
+ }
+ ],
+ "memory_array_mapped_address": [
+ {
+ "handle": 40,
+ "array_handle": 37,
+ "start_address": 0,
+ "end_address": 8589934592,
+ "part_width": 2
+ }
+ ],
+ "memory_device": [
+ {
+ "handle": 38,
+ "location": "ChannelA-DIMM0",
+ "bank_location": "BANK 0",
+ "manufacturer": "Samsung",
+ "part_number": "M471A5244CB0-CTD",
+ "array_handle": 37,
+ "error_handle": 65535,
+ "width": 64,
+ "ecc_bits": 0,
+ "size": 4194304,
+ "form_factor": {
+ "hex": "000d",
+ "name": "SODIMM",
+ "value": 13
+ },
+ "set": 0,
+ "memory_type": {
+ "hex": "001a",
+ "name": "Other",
+ "value": 26
+ },
+ "memory_type_details": [
+ "Synchronous"
+ ],
+ "speed": 2400
+ },
+ {
+ "handle": 39,
+ "location": "ChannelB-DIMM0",
+ "bank_location": "BANK 2",
+ "manufacturer": "Samsung",
+ "part_number": "M471A5244CB0-CTD",
+ "array_handle": 37,
+ "error_handle": 65535,
+ "width": 64,
+ "ecc_bits": 0,
+ "size": 4194304,
+ "form_factor": {
+ "hex": "000d",
+ "name": "SODIMM",
+ "value": 13
+ },
+ "set": 0,
+ "memory_type": {
+ "hex": "001a",
+ "name": "Other",
+ "value": 26
+ },
+ "memory_type_details": [
+ "Synchronous"
+ ],
+ "speed": 2400
+ }
+ ],
+ "memory_device_mapped_address": [
+ {
+ "handle": 41,
+ "memory_device_handle": 38,
+ "array_map_handle": 40,
+ "start_address": 0,
+ "end_address": 4294967296,
+ "row_position": 255,
+ "interleave_position": 1,
+ "interleave_depth": 1
+ },
+ {
+ "handle": 42,
+ "memory_device_handle": 39,
+ "array_map_handle": 40,
+ "start_address": 0,
+ "end_address": 4294967296,
+ "row_position": 255,
+ "interleave_position": 2,
+ "interleave_depth": 1
+ }
+ ],
+ "pointing_device": [
+ {
+ "handle": 43,
+ "mouse_type": {
+ "hex": "0007",
+ "name": "Touch Pad",
+ "value": 7
+ },
+ "interface": {
+ "hex": "0004",
+ "name": "PS/2",
+ "value": 4
+ },
+ "buttons": 4
+ }
+ ],
+ "port_connector": [
+ {
+ "handle": 8,
+ "port_type": {
+ "hex": "000d",
+ "name": "Keyboard Port",
+ "value": 13
+ },
+ "internal_reference_designator": "J1A1",
+ "external_connector_type": {
+ "hex": "000f",
+ "name": "PS/2",
+ "value": 15
+ },
+ "external_reference_designator": "Keyboard"
+ },
+ {
+ "handle": 9,
+ "port_type": {
+ "hex": "000e",
+ "name": "Mouse Port",
+ "value": 14
+ },
+ "internal_reference_designator": "J1A1",
+ "external_connector_type": {
+ "hex": "000f",
+ "name": "PS/2",
+ "value": 15
+ },
+ "external_reference_designator": "Mouse"
+ },
+ {
+ "handle": 10,
+ "port_type": {
+ "hex": "001c",
+ "name": "Video Port",
+ "value": 28
+ },
+ "internal_reference_designator": "J2A1",
+ "external_connector_type": {
+ "hex": "000d",
+ "name": "Mini-DIN",
+ "value": 13
+ },
+ "external_reference_designator": "TV OUT"
+ },
+ {
+ "handle": 11,
+ "port_type": {
+ "hex": "001c",
+ "name": "Video Port",
+ "value": 28
+ },
+ "internal_reference_designator": "J2A2",
+ "external_connector_type": {
+ "hex": "0007",
+ "name": "DB-15 pin female",
+ "value": 7
+ },
+ "external_reference_designator": "CRT"
+ },
+ {
+ "handle": 12,
+ "port_type": {
+ "hex": "0009",
+ "name": "Serial Port 16550A Compatible",
+ "value": 9
+ },
+ "internal_reference_designator": "J2A2",
+ "external_connector_type": {
+ "hex": "0008",
+ "name": "DB-9 pin male",
+ "value": 8
+ },
+ "external_reference_designator": "COM 1"
+ },
+ {
+ "handle": 13,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 14,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 15,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 16,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 17,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 18,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A2",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 19,
+ "port_type": {
+ "hex": "001f",
+ "name": "Network Port",
+ "value": 31
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "000b",
+ "name": "RJ-45",
+ "value": 11
+ },
+ "external_reference_designator": "Network"
+ },
+ {
+ "handle": 20,
+ "port_type": {
+ "hex": "00ff",
+ "name": "Other",
+ "value": 255
+ },
+ "internal_connector_type": {
+ "hex": "0017",
+ "name": "On Board Floppy",
+ "value": 23
+ },
+ "internal_reference_designator": "J9G2",
+ "external_reference_designator": "OnBoard Floppy Type"
+ },
+ {
+ "handle": 21,
+ "port_type": {
+ "hex": "00ff",
+ "name": "Other",
+ "value": 255
+ },
+ "internal_connector_type": {
+ "hex": "0016",
+ "name": "On Board IDE",
+ "value": 22
+ },
+ "internal_reference_designator": "J7J1",
+ "external_reference_designator": "OnBoard Primary IDE"
+ },
+ {
+ "handle": 22,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Microphone In"
+ },
+ {
+ "handle": 23,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Line In"
+ },
+ {
+ "handle": 24,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Speaker Out"
+ }
+ ],
+ "processor": [
+ {
+ "handle": 4,
+ "socket": "U3E1",
+ "socket_type": {
+ "hex": "0033",
+ "name": "Other",
+ "value": 51
+ },
+ "socket_populated": true,
+ "manufacturer": "Intel(R) Corporation",
+ "version": "Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz",
+ "part": "To Be Filled By O.E.M.",
+ "processor_type": {
+ "hex": "0003",
+ "name": "CPU",
+ "value": 3
+ },
+ "processor_family": {
+ "hex": "00cd",
+ "name": "Other",
+ "value": 205
+ },
+ "processor_status": {
+ "hex": "0001",
+ "name": "Enabled",
+ "value": 1
+ },
+ "clock_ext": 100,
+ "clock_max": 8300,
+ "cache_handle_l1": 5,
+ "cache_handle_l2": 6,
+ "cache_handle_l3": 7
+ }
+ ],
+ "slot": [
+ {
+ "handle": 25,
+ "designation": "J6C1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0004",
+ "name": "In Use",
+ "value": 4
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 1,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 26,
+ "designation": "J6D2",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 2,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 27,
+ "designation": "J7C1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 3,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 28,
+ "designation": "J7D1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 4,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 29,
+ "designation": "J8C1",
+ "slot_type": {
+ "hex": "00a8",
+ "name": "Other",
+ "value": 168
+ },
+ "bus_width": {
+ "hex": "000a",
+ "name": "Other",
+ "value": 10
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 5,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ }
+ ],
+ "system": {
+ "handle": 1,
+ "manufacturer": "LENOVO",
+ "product": "81CT",
+ "version": "Lenovo YOGA 730-13IKB",
+ "wake_up": {
+ "hex": "0006",
+ "name": "Power Switch",
+ "value": 6
+ }
+ }
+ }
+}
diff --git a/hosts/ganymede/iwlwifi.nix b/hosts/ganymede/iwlwifi.nix
new file mode 100644
index 0000000..729034f
--- /dev/null
+++ b/hosts/ganymede/iwlwifi.nix
@@ -0,0 +1,23 @@
+{
+ # Append Kernel modules
+ boot.kernelModules = [
+ "brcmfmac"
+ "brcmutil"
+ "iwlmvm"
+ "iwlwifi"
+ "mmc_core"
+ "mt76_usb"
+ "mt76"
+ "mt76x0_common"
+ "mt76x02_lib"
+ "mt76x02_usb"
+ "mt76x0u"
+ "r8188eu"
+ "rtl_usb"
+ "rtl8192c_common"
+ "rtl8192cu"
+ "rtlwifi"
+ ];
+ hardware.enableAllFirmware = true;
+ hardware.enableRedistributableFirmware = true;
+}
diff --git a/hosts/ganymede/nixos.nix b/hosts/ganymede/nixos.nix
index bdede45..af0716d 100644
--- a/hosts/ganymede/nixos.nix
+++ b/hosts/ganymede/nixos.nix
@@ -1,8 +1,10 @@
{inputs, ...}: {
- # imports = [
- # inputs.disko.nixosModules.disko
- # ./disks.nix
- # ];
+ imports = [
+ inputs.disko.nixosModules.disko
+ ./disks.nix
+
+ ./iwlwifi.nix
+ ];
nixpkgs.hostPlatform = "x86_64-linux";
}
diff --git a/hosts/jupiter/system.nix b/hosts/jupiter/system.nix
index 1c63845..906ee2a 100644
--- a/hosts/jupiter/system.nix
+++ b/hosts/jupiter/system.nix
@@ -16,10 +16,8 @@
time.timeZone = "America/Chicago";
- systemd.network.wait-online.enable = false; # fix for weird wifi issue
-
services.pipewire.jack.enable = true;
- environment.systemPackages = with pkgs; [puredata vital helvum];
+ environment.systemPackages = with pkgs; [vital helvum];
system.stateVersion = "25.05";
}
diff --git a/hosts/mercury/ai.nix b/hosts/mercury/ai.nix
index 1ce6c25..4bdb8e0 100644
--- a/hosts/mercury/ai.nix
+++ b/hosts/mercury/ai.nix
@@ -1,7 +1,4 @@
{pkgs, ...}: {
- services.ollama = {
- enable = true;
- loadModels = ["deepseek-r1:1.5b"];
- };
+ services.ollama.enable = true;
# environment.systemPackages = [pkgs.mcphost];
}
diff --git a/hosts/mercury/config.nix b/hosts/mercury/config.nix
index d72277a..268c767 100644
--- a/hosts/mercury/config.nix
+++ b/hosts/mercury/config.nix
@@ -1,6 +1,6 @@
-{
+{pkgs, ...}: {
collinux = {
- theme = "catppuccin";
+ theme = "kanagawa";
user = {
name = "collin";
@@ -8,21 +8,28 @@
};
desktop = {
- wallpaper = ./wallpaper.jpg;
+ # wallpaper = ./wallpaper.jpg;
+ # wallpaper = ./hintergrund2.png;
+ # wallpaper = ./kanagawa.jpg;
+ wallpaper = ./riverboats.png;
- gtk.enable = true;
+ # gtk.enable = true;
greetd.enable = true;
- sway = {
- enable = true;
+ wm = {
+ # sway.enable = true;
+ niri.enable = true;
components.fuzzel.enable = true;
components.dunst.enable = true;
};
programs = {
firefox.enable = true;
- foot.enable = true;
+ foot = {
+ theme = "kanagawa";
+ enable = true;
+ };
research.enable = true;
};
@@ -46,7 +53,7 @@
shells.bash.enable = true; # for nix-shells
programs = {
- tmux.enable = true;
+ # tmux.enable = true;
lazygit.enable = true;
starship.enable = true;
@@ -64,6 +71,7 @@
nh.enable = true;
helix = {
+ theme = "kanagawa";
enable = true;
hardMode = true;
};
diff --git a/hosts/mercury/hintergrund2.png b/hosts/mercury/hintergrund2.png
new file mode 100644
index 0000000..6cf9a8f
--- /dev/null
+++ b/hosts/mercury/hintergrund2.png
Binary files differ
diff --git a/hosts/mercury/nixos.nix b/hosts/mercury/nixos.nix
index dfed04f..48aa92c 100644
--- a/hosts/mercury/nixos.nix
+++ b/hosts/mercury/nixos.nix
@@ -1,24 +1,28 @@
{
lib,
- pkgs,
inputs,
...
}: {
imports = [
./disks.nix
./battery.nix
+ ./ai.nix
inputs.nixos-facter-modules.nixosModules.facter
- {facter.reportPath = ./facter.json;}
-
inputs.lanzaboote.nixosModules.lanzaboote
];
+ systemd.services.systemd-udev-settle.enable = false;
+ networking.interfaces.wlp2s0.useDHCP = false;
+
+ facter.reportPath = ./facter.json;
+
environment.defaultPackages = lib.mkForce []; # im not a noob
- networking.firewall.allowedUDPPorts = [445];
- networking.firewall.allowedTCPPorts = [8000];
- users.users.collin.packages = [pkgs.cifs-utils];
+ networking.firewall = {
+ allowedUDPPorts = [445];
+ allowedTCPPorts = [8000];
+ };
system.stateVersion = "25.05";
}
diff --git a/hosts/mercury/riverboats.png b/hosts/mercury/riverboats.png
new file mode 100644
index 0000000..c390ca7
--- /dev/null
+++ b/hosts/mercury/riverboats.png
Binary files differ
diff --git a/lib/lib.nix b/lib/lib.nix
index 640f0ca..00cc334 100644
--- a/lib/lib.nix
+++ b/lib/lib.nix
@@ -32,19 +32,15 @@ let
config,
}: let
inherit (lib) mkOption mkEnableOption;
- mkProgramOption' = name: extraOpts:
- {
- enable = mkEnableOption "whether to enable ${name}";
- theme = mkOption {
- type = lib.types.enum ["catppuccin" "adwaita"];
- default = config.collinux.terminal.theme;
- };
- }
- // extraOpts;
-
- mkProgramOption = name: mkProgramOption' name {};
+ mkProgramOption = name: {
+ enable = mkEnableOption "whether to enable ${name}";
+ theme = mkOption {
+ type = lib.types.enum ["catppuccin" "adwaita" "kanagawa"];
+ default = config.collinux.theme;
+ };
+ };
in {
- inherit mkProgramOption' mkProgramOption;
+ inherit mkProgramOption;
};
in {
inherit globimport;
diff --git a/modules/desktop/hjem/default.nix b/modules/desktop/hjem/default.nix
index f7dd95e..12623ef 100644
--- a/modules/desktop/hjem/default.nix
+++ b/modules/desktop/hjem/default.nix
@@ -3,6 +3,8 @@
./gtk.nix
./wm/sway.nix
+ ./wm/niri.nix
+ ./wm/default.nix
./wm/dunst.nix
./wm/fuzzel.nix
diff --git a/modules/desktop/hjem/gtk.nix b/modules/desktop/hjem/gtk.nix
index 3ea3b37..4665bac 100644
--- a/modules/desktop/hjem/gtk.nix
+++ b/modules/desktop/hjem/gtk.nix
@@ -22,17 +22,20 @@ in
gtk-icon-theme-name = "Papirus";
gtk-theme-name = cfg.theme_data.name;
};
- in {
- "gtk-3.0/settings.ini" = {
- generator = lib.generators.toINI {};
- inherit value;
+ in
+ {
+ "gtk-3.0/settings.ini" = {
+ generator = lib.generators.toINI {};
+ inherit value;
+ };
+ "gtk-4.0/settings.ini" = {
+ generator = lib.generators.toINI {};
+ inherit value;
+ };
+ }
+ // lib.optionalAttrs (cfg.theme == "catppuccin") {
+ "gtk-4.0/gtk.css".text = ''
+ @import url("file://${cfg.theme_data.package}/share/themes/catppuccin-mocha-blue-standard/gtk-4.0/gtk.css");
+ '';
};
- "gtk-4.0/settings.ini" = {
- generator = lib.generators.toINI {};
- inherit value;
- };
- "gtk-4.0/gtk.css".text = ''
- @import url("file://${cfg.theme_data.package}/gtk-4.0/gtk.css");
- '';
- };
}
diff --git a/modules/desktop/hjem/programs/foot.nix b/modules/desktop/hjem/programs/foot.nix
index 4d630c6..c05e22c 100644
--- a/modules/desktop/hjem/programs/foot.nix
+++ b/modules/desktop/hjem/programs/foot.nix
@@ -12,40 +12,33 @@
shell = "${pkgs.fish}/bin/fish";
};
- colors = {
- foreground = "cdd6f4";
- background = "1e1e2e";
- cursor = "11111b f5e0dc";
+ colors = with config.collinux.palette; {
+ alpha = "0.6";
- regular0 = "45475a";
- regular1 = "f38ba8";
- regular2 = "a6e3a1";
- regular3 = "f9e2af";
- regular4 = "89b4fa";
- regular5 = "f5c2e7";
- regular6 = "94e2d5";
- regular7 = "bac2de";
-
- bright0 = "585b70";
- bright1 = "f38ba8";
- bright2 = "a6e3a1";
- bright3 = "f9e2af";
- bright4 = "89b4fa";
- bright5 = "f5c2e7";
- bright6 = "94e2d5";
- bright7 = "a6adc8";
-
- "16" = "fab387";
- "17" = "f5e0dc";
-
- selection-foreground = "cdd6f4";
- selection-background = "414356";
-
- search-box-no-match = "11111b f38ba8";
- search-box-match = "cdd6f4 313244";
-
- jump-labels = "11111b fab387";
- urls = "89b4fa";
+ foreground = base05;
+ background = base00;
+ regular0 = base01;
+ regular1 = base08;
+ regular2 = base11;
+ regular3 = base10;
+ regular4 = base13;
+ regular5 = base14;
+ regular6 = base12;
+ regular7 = base06;
+ bright0 = base02;
+ bright1 = base08;
+ bright2 = base11;
+ bright3 = base10;
+ bright4 = base13;
+ bright5 = base14;
+ bright6 = base12;
+ bright7 = base07;
+ "16" = base09;
+ "17" = base15;
+ "18" = base01;
+ "19" = base02;
+ "20" = base04;
+ "21" = base06;
};
};
in
diff --git a/modules/desktop/hjem/programs/research.nix b/modules/desktop/hjem/programs/research.nix
index 3bfde76..1d31479 100644
--- a/modules/desktop/hjem/programs/research.nix
+++ b/modules/desktop/hjem/programs/research.nix
@@ -11,6 +11,7 @@ in
zotero
zathura
xournalpp
+ ocrmypdf
];
files = {
".config/xournalpp/toolbar.ini" = {
@@ -22,5 +23,51 @@ in
};
};
};
+
+ ".config/zathura/zathurarc".text = lib.mkIf (config.collinux.theme == "adwaita") ''
+ set font "Iosevka Nerd Font 11.5"
+
+ set recolor 'true'
+ set recolor-keephue 'false'
+ set recolor-reverse-video 'false'
+
+ # flipped to make dark mode
+ set recolor-lightcolor rgba(0,0,0,0)
+ set recolor-darkcolor '#DEDDDA'
+
+ set completion-fg '#DEDDDA'
+ set completion-bg '#303030'
+ set completion-group-fg '#33B2A4'
+ set completion-group-bg '#303030'
+ set completion-highlight-fg '#303030'
+ set completion-highlight-bg '#DEDDDA'
+
+ set default-fg '#DEDDDA'
+ set default-bg rgba(29,29,29,0.6)
+
+ set inputbar-fg '#DEDDDA'
+ set inputbar-bg '#303030'
+
+ set notification-fg '#DEDDDA'
+ set notification-bg '#303030'
+ set notification-error-fg '#DEDDDA'
+ set notification-error-bg '#E01B24'
+ set notification-warning-fg '#DEDDDA'
+ set notification-warning-bg '#E01B24'
+
+ set statusbar-fg '#DEDDDA'
+ set statusbar-bg '#303030'
+
+ set highlight-color '#33B2A4'
+ set highlight-active-color '#33B2A4'
+
+ set render-loading-fg '#DEDDDA'
+ set render-loading-bg '#303030'
+
+ set index-fg '#DEDDDA'
+ set index-bg '#303030'
+ set index-active-fg '#303030'
+ set index-active-bg '#DEDDDA'
+ '';
};
}
diff --git a/modules/desktop/hjem/wm/default.nix b/modules/desktop/hjem/wm/default.nix
new file mode 100644
index 0000000..a5575ad
--- /dev/null
+++ b/modules/desktop/hjem/wm/default.nix
@@ -0,0 +1,147 @@
+{pkgs, ...}: {
+ files.".config/util.lua" = {
+ text = let
+ lua = pkgs.lua.withPackages (p: [p.lua-subprocess]);
+ in
+ # lua
+ ''
+ #!${lua}/bin/lua
+ local subprocess = require("subprocess")
+
+ local function get_volume()
+ local proc, err = subprocess.popen({
+ "wpctl", "get-volume", "@DEFAULT_AUDIO_SINK@",
+ stdout = subprocess.PIPE,
+ stderr = subprocess.PIPE
+ })
+ if not proc then
+ error("Failed to run wpctl get-volume: " .. tostring(err))
+ end
+
+ local out = proc.stdout:read("*a") or ""
+ local _, _, code = proc:wait()
+ if (code or 0) ~= 0 then
+ local errout = proc.stderr and proc.stderr:read("*a") or ""
+ error(("wpctl get-volume failed (code %d): %s"):format(code, errout))
+ end
+
+ local num = out:match("^Volume:%s*([%d%.]+)")
+ if not num then
+ error("Unexpected wpctl output: " .. out)
+ end
+
+ return tonumber(num) * 100
+ end
+
+ local function notify_volume()
+ local ok, reason, code = subprocess.call({
+ "dunstify", "-t", "300",
+ "-h", "string:x-canonical-private-synchronous:audio",
+ "Volume:", "-h", "int:value:"..get_volume()
+ })
+ if not ok then
+ io.stderr:write(("dunstify failed (%s, code %s)\n"):format(reason or "?", code or "?"))
+ end
+ end
+
+ local function set_volume(vol)
+ local ok, reason, code = subprocess.call({
+ "wpctl", "set-volume", "@DEFAULT_AUDIO_SINK@", vol
+ })
+ if not ok then
+ io.stderr:write(("wpctl set-volume failed (%s, code %s)\n"):format(reason or "?", code or "?"))
+ end
+ end
+
+ local function get_brightness()
+ local proc = subprocess.popen({
+ "${pkgs.brightnessctl}/bin/brightnessctl", "-e", "get",
+ stdout = subprocess.PIPE
+ })
+ if not proc then error("Failed to run brightnessctl get") end
+ local cur = tonumber(proc.stdout:read("*a"))
+ proc:wait()
+ if not cur then error("Failed to parse brightnessctl get output") end
+
+ local proc2 = subprocess.popen({
+ "${pkgs.brightnessctl}/bin/brightnessctl", "-e", "max",
+ stdout = subprocess.PIPE
+ })
+ if not proc2 then error("Failed to run brightnessctl max") end
+ local max = tonumber(proc2.stdout:read("*a"))
+ proc2:wait()
+ if not max or max == 0 then error("Failed to parse brightnessctl max output") end
+
+ return (cur / max) * 100
+ end
+
+ local function notify_brightness()
+ local ok, reason, code = subprocess.call({
+ "dunstify", "-t", "300",
+ "-h", "string:x-canonical-private-synchronous:brightness",
+ "Brightness", "-h", "int:value:"..get_brightness()
+ })
+ if not ok then
+ io.stderr:write(("dunstify failed (%s, code %s)\n"):format(reason or "?", code or "?"))
+ end
+ end
+
+ local function set_brightness(brightness)
+ local ok, reason, code = subprocess.call({
+ "${pkgs.brightnessctl}/bin/brightnessctl", "-e", "set", brightness
+ })
+ if not ok then
+ io.stderr:write(("brightnessctl set failed (%s, code %s)\n"):format(reason or "?", code or "?"))
+ end
+ end
+
+ local function list_music_players()
+ local proc = subprocess.popen({
+ "${pkgs.playerctl}/bin/playerctl", "-l",
+ stdout = subprocess.PIPE
+ })
+ if not proc then error("Failed to run playerctl -l") end
+
+ local cur = proc.stdout:lines()
+
+ local out = {}
+ for i in cur do
+ table.insert(out, i)
+ end
+
+ return out
+ end
+
+ local function toggle_music()
+ local ok, reason, code = subprocess.call({
+ "${pkgs.playerctl}/bin/playerctl", "play-pause",
+ })
+ if not ok then
+ io.stderr:write(("playerctl play-pause failed (%s, code %s)\n"):format(reason or "?", code or "?"))
+ end
+ end
+
+ -- main logic
+ if arg[2] and arg[2]:match("^(%d+)%%([%+%-])$") then
+ if arg[1] == "vol" then
+ set_volume(arg[2])
+ notify_volume()
+ elseif arg[1] == "brightness" then
+ set_brightness(arg[2])
+ notify_brightness()
+ else
+ error(("arg[2] '%s' incorrect format. Should look like 5%%+ or 10%%-"):format(tostring(arg[2])))
+ end
+ elseif arg[1] and arg[1] == "music" then
+ if arg[2] == "play" then
+ toggle_music()
+ else
+ error(("Invalid arg[2]: '%s'. should be `play`"):format(arg[3]))
+ end
+ else
+ error("Unknown command: " .. tostring(arg[1]))
+ end
+ '';
+ executable = true;
+ };
+}
diff --git a/modules/desktop/hjem/wm/dunst.nix b/modules/desktop/hjem/wm/dunst.nix
index 38a8240..9366975 100644
--- a/modules/desktop/hjem/wm/dunst.nix
+++ b/modules/desktop/hjem/wm/dunst.nix
@@ -4,30 +4,31 @@
pkgs,
...
}: let
- cfg = config.collinux.desktop.sway.components.dunst;
+ cfg = config.collinux.desktop.wm.components.dunst;
- settings = ''
+ settings = with config.collinux.palette; ''
[global]
- frame_color = "#89b4fa"
+ frame_color = "#ffffff00"
separator_color = frame
- highlight = "#89b4fa"
+
+ highlight = "#${base13}"
+
+ font = "Iosevka Nerd Font"
offset = "(8,8)"
origin = "top-right"
- transparency = 10
- font = "Iosevka Nerd Font"
[urgency_low]
- background = "#1e1e2e"
- foreground = "#cdd6f4"
+ background = "#${base00}99"
+ foreground = "#${base05}ff"
[urgency_normal]
- background = "#1e1e2e"
- foreground = "#cdd6f4"
+ background = "#${base00}99"
+ foreground = "#${base05}ff"
[urgency_critical]
- background = "#1e1e2e"
- foreground = "#cdd6f4"
- frame_color = "#fab387"
+ background = "#${base00}99"
+ foreground = "#${base05}ff"
+ frame_color = "#${base08}"
'';
in
lib.mkIf cfg.enable {
diff --git a/modules/desktop/hjem/wm/fuzzel.nix b/modules/desktop/hjem/wm/fuzzel.nix
index 7b9d075..ab11d6b 100644
--- a/modules/desktop/hjem/wm/fuzzel.nix
+++ b/modules/desktop/hjem/wm/fuzzel.nix
@@ -4,7 +4,7 @@
pkgs,
...
}: let
- cfg = config.collinux.desktop.sway.components.fuzzel;
+ cfg = config.collinux.desktop.wm.components.fuzzel;
settings = {
main = {
@@ -21,21 +21,21 @@
};
border = {
radius = 0;
- width = 2;
+ width = 3;
};
- colors = {
- background = "1e1e2edd";
- text = "cdd6f4ff";
- prompt = "bac2deff";
- placeholder = "7f849cff";
- input = "cdd6f4ff";
- match = "89b4faff";
- selection = "585b70ff";
- selection-text = "cdd6f4ff";
- selection-match = "89b4faff";
- counter = "7f849cff";
- border = "89b4faff";
+ colors = with config.collinux.palette; {
+ background = "${base00}99";
+ border = "ffffff00";
+ input = base05;
+ match = base13;
+ placeholder = base03;
+ text = base04;
+ prompt = base04;
+
+ selection = "${base01}5a";
+ selection-match = base13;
+ selection-text = base05;
};
};
in
diff --git a/modules/desktop/hjem/wm/niri.nix b/modules/desktop/hjem/wm/niri.nix
new file mode 100644
index 0000000..4449f82
--- /dev/null
+++ b/modules/desktop/hjem/wm/niri.nix
@@ -0,0 +1,119 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.desktop.wm.niri;
+in
+ lib.mkIf cfg.enable {
+ files.".config/niri/config.kdl".text = ''
+ spawn-sh-at-startup "${config.collinux.desktop.wallpaper_cmd}"
+ spawn-at-startup "${pkgs.playerctl}/bin/playerctld daemon"
+ spawn-at-startup "dunst"
+
+ prefer-no-csd
+ environment {
+ GTK_CSD "1"
+ }
+
+ output "eDP-1" {
+ scale 1.0
+ }
+
+ input {
+ focus-follows-mouse
+ }
+
+ hotkey-overlay {
+ skip-at-startup
+ hide-not-bound
+ }
+
+ binds {
+ Mod+Q { close-window; }
+
+ Mod+Space { spawn "fuzzel"; }
+ Mod+Return { spawn "foot"; }
+ Mod+B { spawn "firefox"; }
+
+ Mod+m { maximize-column; }
+
+ XF86MonBrightnessUp { spawn "~/.config/util.lua" "brightness" "5%+"; }
+ XF86MonBrightnessDown { spawn "~/.config/util.lua" "brightness" "5%-"; }
+ XF86AudioRaiseVolume { spawn "~/.config/util.lua" "vol" "5%+"; }
+ XF86AudioLowerVolume { spawn "~/.config/util.lua" "vol" "5%-"; }
+ }
+
+ gestures {
+ hot-corners {
+ off
+ }
+ }
+
+ overview {
+ zoom 0.66
+ workspace-shadow {
+ off
+ }
+ }
+
+ layout {
+ gaps 12
+
+ focus-ring {
+ off
+ }
+
+ border {
+ width 3
+ active-color "#ffffff00"
+ inactive-color "#ffffff00"
+ urgent-color "#ffffff00"
+ }
+
+ struts {
+ left 16
+ right 16
+ top 16
+ bottom 16
+ }
+
+ background-color "transparent"
+ }
+
+ layer-rule {
+ match namespace="^wallpaper$"
+ place-within-backdrop true
+ }
+
+ layer-rule {
+ match namespace="^launcher$"
+ shadow {
+ on
+ }
+ }
+
+ layer-rule {
+ match namespace="^notifications$"
+ shadow {
+ on
+ }
+ }
+
+ window-rule {
+ match app-id="firefox"
+ open-maximized true
+ }
+
+ window-rule {
+ match is-focused=true
+ shadow {
+ on
+ }
+ }
+
+ '';
+
+ packages = [pkgs.niri pkgs.xwayland-satellite];
+ }
diff --git a/modules/desktop/hjem/wm/sway.nix b/modules/desktop/hjem/wm/sway.nix
index 1cd7750..367cd0d 100644
--- a/modules/desktop/hjem/wm/sway.nix
+++ b/modules/desktop/hjem/wm/sway.nix
@@ -4,7 +4,7 @@
lib,
...
}: let
- cfg = config.collinux.desktop.sway;
+ cfg = config.collinux.desktop.wm.sway;
colors = ''
set $rosewater #f5e0dc
@@ -36,7 +36,6 @@
'';
settings = ''
- exec ${pkgs.foot}/bin/foot --server
exec ${pkgs.swaybg}/bin/swaybg -i ${config.collinux.desktop.wallpaper}
exec ${pkgs.dunst}/bin/dunst
@@ -74,13 +73,15 @@
bindsym Mod4+Shift+8 move container to workspace number 8
bindsym Mod4+Shift+9 move container to workspace number 9
- bindsym Mod4+Return exec ${pkgs.foot}/bin/footclient
- bindsym Mod4+Shift+Return exec ${pkgs.foot}/bin/foot
+ bindsym Mod4+Return exec ${pkgs.foot}/bin/foot
bindsym Mod4+Space exec ${pkgs.fuzzel}/bin/fuzzel
bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox
bindsym Mod4+Shift+b exec ${pkgs.qutebrowser}/bin/qutebrowser
bindsym Mod4+q kill
+ bindsym Mod4+Shift+s exec '${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" ~/Pictures/$(date +"%s_grim.png")'
+ bindsym Mod4+Alt+s exec '${pkgs.hyprpicker}/bin/hyprpicker'
+
bindsym XF86AudioRaiseVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h "int:value:$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d\" \" -f2);echo "$dec * 100" | ${pkgs.bc}/bin/bc)"'
bindsym XF86AudioLowerVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h "int:value:$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d\" \" -f2);echo "$dec * 100" | ${pkgs.bc}/bin/bc)"'
@@ -106,5 +107,6 @@ in
sway
brightnessctl
playerctl
+ wl-clipboard
];
}
diff --git a/modules/desktop/nixos/greeters/greetd.nix b/modules/desktop/nixos/greeters/greetd.nix
index 42ff9a7..b612c86 100644
--- a/modules/desktop/nixos/greeters/greetd.nix
+++ b/modules/desktop/nixos/greeters/greetd.nix
@@ -10,7 +10,7 @@ in
enable = true;
settings = rec {
initial_session = {
- command = lib.getExe cfg.command;
+ command = cfg.command;
user = config.collinux.user.name;
};
default_session = initial_session;
diff --git a/modules/desktop/nixos/programs/firefox.nix b/modules/desktop/nixos/programs/firefox.nix
index be5c2cf..5dcfec2 100644
--- a/modules/desktop/nixos/programs/firefox.nix
+++ b/modules/desktop/nixos/programs/firefox.nix
@@ -16,7 +16,7 @@ in
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
- Homepage = "";
+ Homepage = "about:blank";
NewTabPage = false;
@@ -30,6 +30,13 @@ in
"browser.tabs.inTitlebar" = opt 0;
"browser.tabs.hoverPreview.enabled" = opt 0;
+ "browser.theme.content-theme" = opt 0;
+ "browser.theme.toolbar-theme" = opt 0;
+ "browser.display.background_color.dark" =
+ if cfg.theme == "adwaita"
+ then opt "#1d1d1d"
+ else opt "";
+
"browser.tabs.loadBookmarksInTabs" = opt true;
"browser.toolbars.bookmarks.visibility" = opt "never";
"browser.uiCustomization.state" = opt (lib.replaceStrings ["\n" " "] ["" ""] ''
@@ -80,7 +87,7 @@ in
"accessibility.force_disabled" = opt 1;
"browser.aboutConfig.showWarning" = opt false;
- "startup.homepage_welcome_url" = opt "";
+ "startup.homepage_welcome_url" = opt "about:blank";
"trailhead.firstrun.didSeeAboutWelcome" = opt true;
"datareporting.policy.dataSubmissionPolicyBypassNotification" = opt true;
"browser.startup.homepage" = opt "about:blank";
@@ -106,10 +113,14 @@ in
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = ext "bitwarden-password-manager";
"uBlock0@raymondhill.net" = ext "uBlock0@raymondhill.net";
"addon@darkreader.org" = ext "addon@darkreader.org";
+ "*" = {installation_mode = "blocked";}; # force uninstall inactive extensions
}
// (lib.optionalAttrs (cfg.theme == "catppuccin") {
"{88b098c8-19be-421e-8ffa-85ddd1f3f004}" = ext "catppuccin-mocha-blue";
})
+ // (lib.optionalAttrs (cfg.theme == "adwaita") {
+ "{f1128560-8b23-46c1-aa6f-fb3e79f23cf3}" = ext "gnome-adwaita-gtk4-dark";
+ })
// (lib.optionalAttrs (cfg.extensions.zotero.enable) {
"zotero@chnm.gmu.edu" = {
installation_mode = "force_installed";
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix
index 72dda95..5820cc6 100644
--- a/modules/desktop/options.nix
+++ b/modules/desktop/options.nix
@@ -14,23 +14,31 @@ in {
type = with types; oneOf [str path];
description = "File to use as the wallpaper on this machine";
};
+ wallpaper_cmd = mkOption {
+ type = types.str;
+ default = "${lib.getExe pkgs.wbg} -s ${config.collinux.desktop.wallpaper}";
+ };
greetd = {
enable = mkEnableOption "greetd greeter";
command = mkOption {
- type = lib.types.package;
+ type = lib.types.str;
default = let
cfg = config.collinux.desktop;
in
- if (cfg.sway.enable && !cfg.gnome.enable)
- then pkgs.sway
+ if (cfg.wm.sway.enable && !cfg.gnome.enable && !cfg.wm.niri.enable)
+ then lib.getExe pkgs.sway
+ else if (cfg.wm.niri.enable && !cfg.gnome.enable && !cfg.wm.sway.enable)
+ then "${pkgs.niri}/bin/niri-session"
else null;
};
};
gdm.enable = mkEnableOption "gdm display manager";
- sway = {
- enable = mkEnableOption "sway";
+ wm = {
+ sway.enable = mkEnableOption "sway";
+ niri.enable = mkEnableOption "niri";
+
components = {
# waybar = mkProgramOption "waybar";
dunst = mkProgramOption "dunst";
@@ -42,7 +50,7 @@ in {
gtk = {
enable = mkEnableOption "gtk theming";
theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
+ type = types.enum ["catppuccin" "adwaita" "kanagawa"];
default = config.collinux.theme;
};
cursor_data = {
@@ -100,7 +108,7 @@ in {
default = config.collinux.user.name;
};
theme = mkOption {
- type = types.enum ["none" "catppuccin" "adwaita"];
+ type = types.enum ["none" "catppuccin" "adwaita" "kanagawa"];
default = config.collinux.theme;
};
extensions.zotero.enable = mkOption {
@@ -109,11 +117,20 @@ in {
};
};
- foot.enable = mkEnableOption "foot";
+ foot = mkProgramOption "foot";
blackbox.enable = mkEnableOption "blackbox";
research.enable = mkEnableOption "zathura, Xournal++, Zotero, Zotero Connector";
};
};
};
+
+ config = {
+ assertions = [
+ {
+ assertion = with config.collinux.desktop; !(gdm.enable && greetd.enable);
+ message = "Can't enable gdm and greetd at the same time";
+ }
+ ];
+ };
}
diff --git a/modules/nix/nixos/default.nix b/modules/nix/nixos/default.nix
index 9c5c51e..07e7f44 100644
--- a/modules/nix/nixos/default.nix
+++ b/modules/nix/nixos/default.nix
@@ -1,4 +1,8 @@
-{config, pkgs, ...}: {
+{
+ config,
+ pkgs,
+ ...
+}: {
nix = {
gc.automatic = false; # use nh cleaner instead
diff --git a/modules/options.nix b/modules/options.nix
index b890831..65de32e 100644
--- a/modules/options.nix
+++ b/modules/options.nix
@@ -1,9 +1,100 @@
-{lib, ...}: let
+{
+ lib,
+ config,
+ ...
+}: let
inherit (lib) mkOption types;
in {
options = {
collinux.theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
+ type = types.enum ["catppuccin" "adwaita" "kanagawa"];
};
+
+ collinux.palette = let
+ colorOption = lib.mkOption {
+ type = lib.types.strMatching "^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$";
+ };
+ in
+ lib.mkOption {
+ type = lib.types.submodule {
+ options = {
+ base00 = colorOption;
+ base01 = colorOption;
+ base02 = colorOption;
+ base03 = colorOption;
+ base04 = colorOption;
+ base05 = colorOption;
+ base06 = colorOption;
+ base07 = colorOption;
+ base08 = colorOption;
+ base09 = colorOption;
+ base10 = colorOption;
+ base11 = colorOption;
+ base12 = colorOption;
+ base13 = colorOption;
+ base14 = colorOption;
+ base15 = colorOption;
+ };
+ };
+ default =
+ if (config.collinux.theme == "catppuccin")
+ then {
+ base00 = "1E1E2E";
+ base01 = "181825";
+ base02 = "313244";
+ base03 = "45475A";
+ base04 = "585B70";
+ base05 = "CDD6F4";
+ base06 = "F5E0DC";
+ base07 = "B4BEFE";
+ base08 = "F38BA8";
+ base09 = "FAB387";
+ base10 = "F9E2AF";
+ base11 = "A6E3A1";
+ base12 = "94E2D5";
+ base13 = "89B4FA";
+ base14 = "CBA6F7";
+ base15 = "F2CDCD";
+ }
+ else if (config.collinux.theme == "adwaita")
+ then {
+ base00 = "1D1D1D";
+ base01 = "303030";
+ base02 = "3D3846";
+ base03 = "77767B";
+ base04 = "B0AFAC";
+ base05 = "DEDDDA";
+ base06 = "F6F5F4";
+ base07 = "FCFCFC";
+ base08 = "E01B24";
+ base09 = "FF7800";
+ base10 = "F5C211";
+ base11 = "33D17A";
+ base12 = "33B2A4";
+ base13 = "3584E4";
+ base14 = "9141AC";
+ base15 = "986A44";
+ }
+ else if (config.collinux.theme == "kanagawa")
+ then {
+ base00 = "1F1F28";
+ base01 = "16161D";
+ base02 = "223249";
+ base03 = "54546D";
+ base04 = "727169";
+ base05 = "DCD7BA";
+ base06 = "C8C093";
+ base07 = "717C7C";
+ base08 = "C34043";
+ base09 = "FFA066";
+ base10 = "C0A36E";
+ base11 = "76946A";
+ base12 = "6A9589";
+ base13 = "7E9CD8";
+ base14 = "957FB8";
+ base15 = "D27E99";
+ }
+ else {};
+ };
};
}
diff --git a/modules/services/nixos/audio.nix b/modules/services/nixos/audio.nix
index 273f1a4..93f8289 100644
--- a/modules/services/nixos/audio.nix
+++ b/modules/services/nixos/audio.nix
@@ -7,7 +7,7 @@
cfg = config.collinux.services.audio;
in
lib.mkIf cfg.enable {
- security.rtkit.enable = false;
+ security.rtkit.enable = true;
services.pipewire = {
enable = true;
wireplumber.enable = true;
diff --git a/modules/services/nixos/networking/default.nix b/modules/services/nixos/networking/default.nix
index 68c794c..de22f8b 100644
--- a/modules/services/nixos/networking/default.nix
+++ b/modules/services/nixos/networking/default.nix
@@ -14,5 +14,7 @@
};
networking.resolvconf.enable = false;
+
+ systemd.network.wait-online.enable = false;
};
}
diff --git a/modules/terminal/hjem/programs/cmus.nix b/modules/terminal/hjem/programs/cmus.nix
index afd2350..7a5ac81 100644
--- a/modules/terminal/hjem/programs/cmus.nix
+++ b/modules/terminal/hjem/programs/cmus.nix
@@ -25,57 +25,34 @@
'';
cmus_theme = ''
- set color_cmdline_bg=default
- set color_cmdline_fg=default
- set color_error=211
- set color_info=223
- set color_separator=8
- set color_statusline_bg=default
- set color_statusline_fg=default
- set color_titleline_bg=183
- set color_titleline_fg=8
- set color_titleline_attr=bold
- set color_win_bg=default
- set color_win_cur=117
- set color_win_cur_sel_bg=117
- set color_win_cur_sel_fg=235
- set color_win_dir=default
- set color_win_fg=default
- set color_win_inactive_cur_sel_bg=0
- set color_win_inactive_cur_sel_fg=default
- set color_win_inactive_sel_bg=0
- set color_win_inactive_sel_fg=default
- set color_win_sel_bg=15
- set color_win_sel_fg=235
- set color_win_title_bg=default
- set color_win_title_fg=183
- set color_win_title_attr=bold
+ set color_cmdline_error=lightred
+ set color_cmdline_info=lightyellow
+ set color_cmdline_fg=lightred
+ set color_cmdline_bg=237
+ set color_separator=238
+ set color_statusline_bg=blue
+ set color_statusline_fg=233
+ set color_titleline_bg=237
+ set color_titleline_fg=white
+ set color_win_bg=black
+ set color_win_fg=241
+ set color_win_cur=lightgreen
+ set color_win_cur_sel_bg=green
+ set color_win_cur_sel_fg=233
+ set color_win_dir=lightblue
+ set color_win_fg=white
+ set color_win_inactive_cur_sel_bg=016
+ set color_win_inactive_cur_sel_fg=233
+ set color_win_sel_bg=237
+ set color_win_sel_fg=white
+ set color_win_title_bg=237
+ set color_win_title_fg=lightred
'';
cmus_rc = ''
- ${
- if (cfg.theme == "catppuccin")
- then "colorscheme catppuccin"
- else ""
- }
+ colorscheme all
set status_display_program=${scriptsDir}/status.sh
'';
-
- cava_config =
- if cfg.theme == "catppuccin"
- then ''
- [color]
- gradient=1
- gradient_color_1='#94e2d5'
- gradient_color_2='#89dceb'
- gradient_color_3='#74c7ec'
- gradient_color_4='#89b4fa'
- gradient_color_5='#cba6f7'
- gradient_color_6='#f5c2e7'
- gradient_color_7='#eba0ac'
- gradient_color_8='#f38ba8'
- ''
- else "";
in
lib.mkIf cfg.enable {
files = let
@@ -87,9 +64,8 @@ in
".config/cmus/scripts/status.sh" = e scripts.statusDisplay;
".config/cmus/rc".text = cmus_rc;
- ".config/cmus/catppuccin.theme".text = lib.mkIf (cfg.theme == "catppuccin") cmus_theme;
- ".config/cava/config".text = cava_config;
+ ".config/cmus/all.theme".text = cmus_theme;
};
- packages = with pkgs; [cava cmus];
+ packages = [pkgs.cmus];
}
diff --git a/modules/terminal/hjem/programs/fzf.nix b/modules/terminal/hjem/programs/fzf.nix
index 5a51739..f697a24 100644
--- a/modules/terminal/hjem/programs/fzf.nix
+++ b/modules/terminal/hjem/programs/fzf.nix
@@ -8,18 +8,24 @@
in
lib.mkIf cfg.enable {
files =
- (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ lib.optionalAttrs config.collinux.terminal.shells.fish.enable (with config.collinux.palette; {
".config/fish/conf.d/fzf.fish".text = ''
fzf --fish | source
- set -gx FZF_DEFAULT_OPTS "--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ set -Ux FZF_DEFAULT_OPTS "$FZF_NON_COLOR_OPTS"\
+ " --color=bg+:#${base01},bg:#${base00},spinner:#${base12},hl:#${base13}"\
+ " --color=fg:#${base04},header:#${base13},info:#${base10},pointer:#${base12}"\
+ " --color=marker:#${base12},fg+:#${base06},prompt:#${base10},hl+:#${base13}"
'';
})
- // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable (with config.collinux.palette; {
".config/bash/conf.d/fzf.bash".text = ''
eval "$(fzf --bash)"
- export FZF_DEFAULT_OPTS="--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS"\
+ " --color=bg+:#${base01},bg:#${base00},spinner:#${base12},hl:#${base13}"\
+ " --color=fg:#${base04},header:#${base13},info:#${base10},pointer:#${base12}"\
+ " --color=marker:#${base12},fg+:#${base06},prompt:#${base10},hl+:#${base13}"
'';
- });
+ }));
packages = [pkgs.fzf];
}
diff --git a/modules/terminal/hjem/programs/helix.nix b/modules/terminal/hjem/programs/helix.nix
index 2c30881..80279c4 100644
--- a/modules/terminal/hjem/programs/helix.nix
+++ b/modules/terminal/hjem/programs/helix.nix
@@ -44,8 +44,8 @@
];
};
- theme = {
- inherits = "catppuccin_mocha";
+ mkTransparentBackground = inherits: {
+ inherit inherits;
"ui.background" = {};
};
@@ -134,7 +134,9 @@
if cfg.theme == "catppuccin"
then "catppuccin_mocha_transparent"
else if cfg.theme == "adwaita"
- then "adwaita_dark"
+ then "adwaita_dark_transparent"
+ else if cfg.theme == "kanagawa"
+ then "kanagawa_transparent"
else "";
};
in
@@ -148,7 +150,9 @@ in
{
".config/helix/config.toml" = t settings;
".config/helix/languages.toml" = t languages;
- ".config/helix/themes/catppuccin_mocha_transparent.toml" = t theme;
+ ".config/helix/themes/catppuccin_mocha_transparent.toml" = t (mkTransparentBackground "catppuccin_mocha");
+ ".config/helix/themes/adwaita_dark_transparent.toml" = t (mkTransparentBackground "adwaita-dark");
+ ".config/helix/themes/kanagawa_transparent.toml" = t (mkTransparentBackground "kanagawa");
}
// (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
".config/fish/conf.d/helix.fish".text = ''
diff --git a/modules/terminal/hjem/programs/tmux.nix b/modules/terminal/hjem/programs/tmux.nix
index fd2737e..d6c7cf8 100644
--- a/modules/terminal/hjem/programs/tmux.nix
+++ b/modules/terminal/hjem/programs/tmux.nix
@@ -14,12 +14,57 @@ in {
config = lib.mkIf cfg.enable {
tsunami = {
enable = true;
+
+ theme =
+ if (cfg.theme == "catppuccin")
+ then {
+ bg = "#1e1e2e";
+ bg_dark = "#181825";
+ }
+ else if (cfg.theme == "adwaita")
+ then {
+ bg = "#1d1d1d";
+ bg_dark = "#171717";
+ }
+ else {};
+
+ scripts.switch_to_utility =
+ # bash
+ ''
+ # if utility session doesn't exist, create it
+ if ! tmux has-session -t "utility"; then
+ tmux new-session -ds "utility" -c "$HOME"
+ fi
+
+ if [ -z "$TMUX" ]; then
+ # we're not in tmux
+ tmux attach-session -t "utility"
+ else
+ tmux switch -t "utility"
+ fi
+
+ # if cmus window doesn't exist, create it
+ if ! tmux list-windows -t "utility" -F "#{window_name}" | grep -qx "utility_cmus"; then
+ tmux new-window -t "utility" -n "utility_cmus" "cmus"
+ fi
+
+ # if bluetuith window doesn't exist, create it
+ if ! tmux list-windows -t "utility" -F "#{window_name}" | grep -qx "utility_bluetuith"; then
+ tmux new-window -t "utility" -n "utility_bluetuith" "bluetuith"
+ fi
+ '';
+
keys.leader = [
{
name = "Lazygit";
key = "C-g";
exec = "display-popup -E -w 80% -h 80% -x C -y C -d '#{?@default-path,#{@default-path},#{pane_current_path}}' ${lib.getExe pkgs.lazygit}";
}
+ {
+ name = "Utility";
+ key = "C-u";
+ exec = "display-popup -w 80% -h 80% -x C -y C 'TMUX= ~/.config/tmux/scripts/switch_to_utility.sh'";
+ }
];
confs."main" = ''
set -g mouse on
diff --git a/modules/terminal/options.nix b/modules/terminal/options.nix
index 8799c0b..d4c4a1b 100644
--- a/modules/terminal/options.nix
+++ b/modules/terminal/options.nix
@@ -6,15 +6,10 @@
...
}: let
inherit (lib) mkOption mkEnableOption types;
- inherit (my-lib.options {inherit lib config;}) mkProgramOption' mkProgramOption;
+ inherit (my-lib.options {inherit lib config;}) mkProgramOption;
in {
options = {
collinux.terminal = {
- theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
- default = config.collinux.theme;
- };
-
shells = {
fish = mkProgramOption "fish shell";
bash = mkProgramOption "bash shell";
@@ -36,7 +31,7 @@ in {
starship = mkProgramOption "starship prompt";
lazygit.enable = mkEnableOption "lazygit";
- cmus = mkProgramOption "cmus";
+ cmus.enable = mkEnableOption "cmus";
nh.enable = mkEnableOption "nh nix helper";
git = {
@@ -50,7 +45,12 @@ in {
};
};
- helix = mkProgramOption' "helix text editor" {
+ helix = {
+ enable = mkEnableOption "helix text editor";
+ theme = mkOption {
+ type = lib.types.enum ["catppuccin" "adwaita" "kanagawa"];
+ default = config.collinux.theme;
+ };
hardMode = mkOption {
type = types.bool;
description = "Disable arrow keys and mouse";
diff --git a/modules/user/nixos/default.nix b/modules/user/nixos/default.nix
index 8692652..05afe37 100644
--- a/modules/user/nixos/default.nix
+++ b/modules/user/nixos/default.nix
@@ -8,7 +8,7 @@ in {
users.users."${cfg.name}" = {
isNormalUser = true;
description = cfg.name;
- extraGroups = ["networkmanager" "disks" "input" "video"] ++ (lib.optional cfg.isAdmin "wheel");
+ extraGroups = ["networkmanager" "pipewire" "disks" "input" "video" "dialout" "kvm"] ++ (lib.optional cfg.isAdmin "wheel");
hashedPassword = cfg.password;
};
security.sudo-rs.enable = true;