From 98e94297af73c583c9636c99772b2c1c34f98743 Mon Sep 17 00:00:00 2001 From: Kj Tsanaktsidis Date: Fri, 9 Jan 2026 11:58:31 +1100 Subject: some refactor --- .sops.yaml | 9 +- flake.nix | 2 +- homes/kjtsanaktsidis/default.nix | 140 + homes/kjtsanaktsidis/secrets.yaml | 27 + homes/kjtsanaktsidis/zsh-config.zsh | 48 + kj-laptop01/configuration.nix | 134 - kj-laptop01/disk-config.nix | 83 - kj-laptop01/facter.json | 4100 ------------------------- kj-laptop01/home.nix | 109 - kj-laptop01/lazyvim-config.lua | 49 - kj-laptop01/secrets.yaml | 30 - kj-laptop01/zsh-config.zsh | 45 - labsrv01/alt-arrow-vt.nix | 29 - labsrv01/cgit.nix | 74 - labsrv01/configuration.nix | 108 - labsrv01/disk-config.nix | 83 - labsrv01/facter.json | 5065 ------------------------------- labsrv01/home-kjtsanaktsidis.nix | 140 - labsrv01/homes.nix | 12 - labsrv01/network.nix | 50 - labsrv01/secrets.yaml | 31 - labsrv01/secureboot.nix | 66 - labsrv01/zsh-config.zsh | 48 - machines/kj-laptop01/configuration.nix | 134 + machines/kj-laptop01/disk-config.nix | 83 + machines/kj-laptop01/facter.json | 4100 +++++++++++++++++++++++++ machines/kj-laptop01/home.nix | 109 + machines/kj-laptop01/lazyvim-config.lua | 49 + machines/kj-laptop01/secrets.yaml | 30 + machines/kj-laptop01/zsh-config.zsh | 45 + machines/labsrv01/default.nix | 108 + machines/labsrv01/disk-config.nix | 83 + machines/labsrv01/facter.json | 5065 +++++++++++++++++++++++++++++++ machines/labsrv01/homes.nix | 12 + machines/labsrv01/network.nix | 50 + machines/labsrv01/secrets.yaml | 28 + modules/alt-arrow-vt.nix | 29 + modules/cgit.nix | 74 + modules/secureboot.nix | 66 + nixos-update.rb | 2 +- 40 files changed, 10289 insertions(+), 10260 deletions(-) create mode 100644 homes/kjtsanaktsidis/default.nix create mode 100644 homes/kjtsanaktsidis/secrets.yaml create mode 100644 homes/kjtsanaktsidis/zsh-config.zsh delete mode 100644 kj-laptop01/configuration.nix delete mode 100644 kj-laptop01/disk-config.nix delete mode 100644 kj-laptop01/facter.json delete mode 100644 kj-laptop01/home.nix delete mode 100644 kj-laptop01/lazyvim-config.lua delete mode 100644 kj-laptop01/secrets.yaml delete mode 100644 kj-laptop01/zsh-config.zsh delete mode 100644 labsrv01/alt-arrow-vt.nix delete mode 100644 labsrv01/cgit.nix delete mode 100644 labsrv01/configuration.nix delete mode 100644 labsrv01/disk-config.nix delete mode 100644 labsrv01/facter.json delete mode 100644 labsrv01/home-kjtsanaktsidis.nix delete mode 100644 labsrv01/homes.nix delete mode 100644 labsrv01/network.nix delete mode 100644 labsrv01/secrets.yaml delete mode 100644 labsrv01/secureboot.nix delete mode 100644 labsrv01/zsh-config.zsh create mode 100644 machines/kj-laptop01/configuration.nix create mode 100644 machines/kj-laptop01/disk-config.nix create mode 100644 machines/kj-laptop01/facter.json create mode 100644 machines/kj-laptop01/home.nix create mode 100644 machines/kj-laptop01/lazyvim-config.lua create mode 100644 machines/kj-laptop01/secrets.yaml create mode 100644 machines/kj-laptop01/zsh-config.zsh create mode 100644 machines/labsrv01/default.nix create mode 100644 machines/labsrv01/disk-config.nix create mode 100644 machines/labsrv01/facter.json create mode 100644 machines/labsrv01/homes.nix create mode 100644 machines/labsrv01/network.nix create mode 100644 machines/labsrv01/secrets.yaml create mode 100644 modules/alt-arrow-vt.nix create mode 100644 modules/cgit.nix create mode 100644 modules/secureboot.nix diff --git a/.sops.yaml b/.sops.yaml index 4c12c37..c03a3de 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -3,12 +3,17 @@ keys: - &server_kj_laptop01 age1dlhywyz63uyyv5z2w6mhax7dcn37akymy2e4ujcdppf85hr3ccrqgwpqmu - &server_labsrv01 age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey creation_rules: - - path_regex: kj-laptop01/.*\.yaml$ + - path_regex: machines/kj-laptop01/.*\.yaml$ key_groups: - age: - *admin_kj - *server_kj_laptop01 - - path_regex: labsrv01/.*\.yaml$ + - path_regex: machines/labsrv01/.*\.yaml$ + key_groups: + - age: + - *admin_kj + - *server_labsrv01 + - path_regex: homes/kjtsanaktsidis/.*\.yaml$ key_groups: - age: - *admin_kj diff --git a/flake.nix b/flake.nix index 854c14b..81207e8 100644 --- a/flake.nix +++ b/flake.nix @@ -26,7 +26,7 @@ system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ - ./labsrv01/configuration.nix + ./machines/labsrv01 ]; }; diff --git a/homes/kjtsanaktsidis/default.nix b/homes/kjtsanaktsidis/default.nix new file mode 100644 index 0000000..8195727 --- /dev/null +++ b/homes/kjtsanaktsidis/default.nix @@ -0,0 +1,140 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + home.username = "kjtsanaktsidis"; + home.homeDirectory = "/home/kjtsanaktsidis"; + home.stateVersion = "25.11"; + + programs.home-manager.enable = true; + + # Install packages + home.packages = with pkgs; [ + htop + zellij + tmux + git-absorb + # LazyVim dependencies + lazygit + ripgrep + fd + nodejs + python3 + nixos-rebuild-ng + ]; + + # Configure sops for home-manager + sops = { + age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + defaultSopsFile = ./secrets.yaml; + secrets = { + kj_id_ed25519 = { + path = "${config.home.homeDirectory}/.ssh/id_ed25519"; + }; + kj_gpg_private_key = { + path = "${config.home.homeDirectory}/.gnupg/private-key.asc"; + }; + fastmail_app_password = { + path = "${config.xdg.configHome}/secrets/fastmail_app_password"; + }; + }; + }; + + accounts.email.accounts.fastmail = { + enable = true; + primary = true; + address = "kj@kjtsanaktsidis.id.au"; + realName = "KJ Tsanaktsidis"; + userName = "kj@kjtsanaktsidis.id.au"; + flavor = "fastmail.com"; + msmtp = { + enable = true; + extraConfig = { + host = "smtp.fastmail.com"; + port = "465"; + tls = "on"; + auth = "on"; + user = "kj@kjtsanaktsidis.id.au"; + from = "kj@kjtsanaktsidis.id.au"; + passwordeval = "cat ${config.sops.secrets.fastmail_app_password.path}"; + }; + }; + }; + programs.msmtp.enable = true; + + # Git configuration + programs.git = { + enable = true; + settings = { + user.name = "KJ Tsanaktsidis"; + user.email = "kj@kjtsanaktsidis.id.au"; + pull.rebase = true; + sendemail = { + sendmailCmd = "${pkgs.msmtp}/bin/msmtp -a default"; + from = "KJ Tsanaktsidis "; + confirm = "always"; + annotate = true; + }; + }; + signing = { + key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; + signByDefault = true; + }; + }; + + programs.neovim = { + enable = true; + defaultEditor = true; + }; + + # Zsh configuration + programs.zsh = { + enable = true; + history = { + size = 1000000; + save = 1000000; + append = true; + extended = true; + ignoreSpace = false; + ignoreDups = false; + }; + + initContent = lib.mkOrder 1000 (builtins.readFile ./zsh-config.zsh); + }; + + # FZF with standard keybindings + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + programs.gpg = { + enable = true; + homedir = "${config.home.homeDirectory}/.gnupg"; + }; + services.gpg-agent = { + enable = true; + }; + systemd.user.services.manage-secrets = { + Unit = { + Description = "Import GPG and SSH keys from sops secrets"; + After = [ "sops-nix.service" ]; + Requires = [ "sops-nix.service" ]; + }; + Service = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = toString (pkgs.writeShellScript "manage-secrets" '' + export GNUPGHOME="${config.programs.gpg.homedir}" + ${pkgs.gnupg}/bin/gpg --batch --verbose --trust-model always --import "${config.sops.secrets.kj_gpg_private_key.path}" + ${pkgs.openssh}/bin/ssh-keygen -y -f "${config.home.homeDirectory}/.ssh/id_ed25519" > "${config.home.homeDirectory}/.ssh/id_ed25519.pub" + ''); + }; + Install = { + WantedBy = [ "default.target" ]; + }; + }; +} diff --git a/homes/kjtsanaktsidis/secrets.yaml b/homes/kjtsanaktsidis/secrets.yaml new file mode 100644 index 0000000..d6fea82 --- /dev/null +++ b/homes/kjtsanaktsidis/secrets.yaml @@ -0,0 +1,27 @@ +kj_gpg_private_key: ENC[AES256_GCM,data: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,iv:yjqgZRU2Fa00QMtzcyneeK6accUH0FKElqSxn5q9IfE=,tag:pPzFaZQcDJ0kIW7agfFcOQ==,type:str] +kj_id_ed25519: ENC[AES256_GCM,data:ZGFlSmmm03+l+ObxptMCkq+b63uNdWQ90yZeMi3uq639vxlFMIAUu7872pXYj1U1BtCzOgurzcJuCRcvBvhmSLIJa0pIsOHRsgfpATf56XtKHCpeamFc7yZhGAqRDXvmbz/1ruOmcUU76m1X8Vqt4IB2K3m043M2RhQSHyB0p7U/jGBPkOhwDICUsb6huMzk3qeYKIwySQKcQR0CXeK13+oIj/oLJUSQK/wvdLTdf4zgKpIKfJBXitA4UHI+MRC1MN5d37YUd8cOVTvVmYSzQpiWItXvSw1sedwvHZka4V19ZnDFQTPWY+MJR5yIkUx/Jko2kXfsD/YfaPvOAdJ62MjP1TxodW7L5ZwuTb69efaQKCCXhryEosW89lLS1LlpgZYmo5705Z4Dnd9F/yckdx1odbhdxj8J1qIo29e2bqEU5gvWBqLGR+WhmS98hABdMm9bAWyCP++RByYQTVEqAmn9rOSwhUt+23CaOhqumpFddmGPGxVqSTAx8a9t71Yrjfp4Fl7m6k7QPBeI19oxx1Szet8L7IKY3oWggFvsxEL+YL4=,iv:0hN40wBtACcyCySMlhf9PCrs6sBv3XmSxk9RMn07Pxk=,tag:CzvVt6XKrf1M3GTY3H6wfg==,type:str] +fastmail_app_password: ENC[AES256_GCM,data:8SIV2Sg2qfW+FUvHtt74sg==,iv:J1KNEpaKnXtxyytKCeKb+XvD7Gk/RCUl2EHhILDDqcI=,tag:TANwlpVGawVdxekPi8O3sA==,type:str] +sops: + age: + - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4WjRVWkptNXF5cjlKZXFn + ZEF0UHBUbUgyMHY5NzR0WmRNNmJoMEdTRURRCmQzTFhYb2grWFowVHovNGgzM1RX + elBxZ29aRHkrblROKzlaTkdzQWU2QzAKLS0tIHVLVGVMQkJCRzRIUE9mTVBHMGMv + YjlzZ2lPOEV0Q05TdDE2Yi9oSlpXaDAKjR8BFjMfGKibe5aLkUlkDrJ82kLN+4Ue + ffRWLwiZjSxhh3mSQ2zo+yVfafgyyBG5DGY62iFEKAqKYjE7jyzUtg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWdHhRdFdKeTRQREpsYmZZ + N0dnZzRJb2lwRkkvRS9YdWNnT1dFc28yeVNFCjBQUEZrZFRqNEhaRXhvdmVwbmQv + bjdVdWNlT3VOdDZOUHZyekloTmlheUUKLS0tIHI4SGFITE1YMlNpUzdONHI1SFdh + c3RVYzBIbmwwVzdIcHJMZjdndTdlS1EKhJCqTL3bBMQu/skSXrg3wRQNMClHQT9y + TqWN5oZRMrlf3uSX1+H27Yp0ItouRY85zSqoutVJsfnPJQwvyuBWeA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-09T00:57:18Z" + mac: ENC[AES256_GCM,data:/moETVdr8PNUCkJV3JmxvoYxgIiLHBmAb+dElBNNtAsvh7KtamXqOiLeGUnsiEx9rG5JIWOuiz/uU5XMIorp3ZddJCGv96EgtCjZkTrg2cJj1p0wQ87wwTYsIv/Szvw+xtCeVTQ2sxpIp8XCOVaa9Jbgtv56cdg23PTz/V4H1qA=,iv:CyyHWJNcWv9MbxlyxOjA/sH/Oi6kArqdrR4fj3xtvx4=,tag:qPW2LP1bENO7B833HmmPeA==,type:str] + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/homes/kjtsanaktsidis/zsh-config.zsh b/homes/kjtsanaktsidis/zsh-config.zsh new file mode 100644 index 0000000..1c38138 --- /dev/null +++ b/homes/kjtsanaktsidis/zsh-config.zsh @@ -0,0 +1,48 @@ +# Initialize completion system +autoload -Uz compinit +compinit + +# Initialize prompt system +autoload -Uz promptinit +promptinit + +# Set options +setopt extendedglob nomatch notify + +# Define gentoo prompt theme +prompt_gentoo_help () { + cat <<'EOF' +This prompt is color-scheme-able. You can invoke it thus: + + prompt gentoo [ [ []]] + +EOF +} + +prompt_gentoo_setup () { + local prompt_gentoo_prompt=${1:-'blue'} + local prompt_gentoo_user=${2:-'green'} + local prompt_gentoo_root=${3:-'red'} + + if [ "$USER" = 'root' ] + then + local base_prompt="%B%F{$prompt_gentoo_root}%m%k " + else + local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " + fi + local post_prompt="%b%f%k" + + local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" + typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" + typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" + typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" +} + +# Register the prompt with promptinit +prompt_themes+=( gentoo ) + +# Use the gentoo prompt +prompt gentoo + +# Make sure GPG & SSH keys are properly imported +systemctl --user start manage-secrets.service 2>/dev/null || true diff --git a/kj-laptop01/configuration.nix b/kj-laptop01/configuration.nix deleted file mode 100644 index 610ecd3..0000000 --- a/kj-laptop01/configuration.nix +++ /dev/null @@ -1,134 +0,0 @@ -{ - modulesPath, - lib, - pkgs, - sops, - config, - ... -}@args: -{ - imports = [ - ./disk-config.nix - ]; - - nix = { - extraOptions = '' - experimental-features = ca-derivations nix-command flakes - ''; - settings = { - substituters = [ - "https://cache.nixos.org" - "https://cache.ngi0.nixos.org/" - ]; - trusted-public-keys = [ - "cache.ngi0.nixos.org-1:KqH5CBLNSyX184S9BKZJo1LxrxJ9ltnY2uAs5c/f1MA=" - ]; - }; - }; - - sops = { - defaultSopsFile = ./secrets.yaml; - age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - age.generateKey = false; - - secrets = { - luks_passphrase = { }; - kj_hashed_password = { - neededForUsers = true; - }; - ssh_host_key_ed25519 = { }; - ssh_host_key_rsa = { }; - }; - }; - - boot.loader.systemd-boot.enable = true; - system.stateVersion = "25.05"; - swapDevices = [ - { - device = "/swap/swapfile"; - size = 32768; - } - ]; - - security.sudo.enable = true; - users.mutableUsers = false; - users.groups.kjtsanaktsidis = { }; - users.users = { - kjtsanaktsidis = { - createHome = true; - isNormalUser = true; - description = "KJ Tsanaktsidis"; - group = "kjtsanaktsidis"; - extraGroups = [ - "wheel" - "networkmanager" - ]; - shell = pkgs.zsh; - hashedPasswordFile = config.sops.secrets.kj_hashed_password.path; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" - ]; - }; - }; - - # Enable systemd-resolved for DNS - services.resolved = { - enable = true; - llmnr = "true"; - extraConfig = '' - MulticastDNS=yes - ''; - }; - networking.hostName = "kj-laptop01"; - networking.nameservers = [ "127.0.0.53" ]; - networking.networkmanager = { - enable = true; - dns = "systemd-resolved"; - # Enable mDNS on NetworkManager connections - connectionConfig = { - "connection.mdns" = "2"; # 2 = yes (resolve & register) - }; - }; - - services.openssh = { - enable = true; - hostKeys = [ - { - type = "ed25519"; - path = config.sops.secrets.ssh_host_key_ed25519.path; - } - { - type = "rsa"; - path = config.sops.secrets.ssh_host_key_rsa.path; - } - ]; - }; - - environment.systemPackages = with pkgs; []; - - # Enable zsh system-wide - programs.zsh.enable = true; - - # Disable Alt+Left/Right virtual terminal switching - console.keyMap = "us"; - - # Create systemd service to disable only Alt+Arrow VT switching - systemd.services.disable-alt-arrow-vt = { - description = "Disable Alt+Arrow VT switching"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-vconsole-setup.service" ]; - script = '' - # Define string sequences for Alt+Arrow that generate proper terminal escape sequences - cat << 'EOF' | ${pkgs.kbd}/bin/loadkeys - string F200 = "\033[1;3D" - string F201 = "\033[1;3C" - alt keycode 105 = F200 - alt keycode 106 = F201 - EOF - ''; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - }; -} diff --git a/kj-laptop01/disk-config.nix b/kj-laptop01/disk-config.nix deleted file mode 100644 index b0f74c9..0000000 --- a/kj-laptop01/disk-config.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ - config, - ... -}: -{ - disko.devices = { - disk.nvme0n1 = { - device = "/dev/nvme0n1"; - type = "disk"; - content = { - type = "gpt"; - partitions = { - esp = { - name = "ESP"; - start = "1MiB"; - size = "1023M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - luks = { - name = "cryptroot"; - type = "8300"; - size = "100%"; - content = { - type = "luks"; - name = "crypted"; - passwordFile = config.sops.secrets.luks_passphrase.path; - settings = { - allowDiscards = true; - bypassWorkqueues = true; - }; - content = { - type = "btrfs"; - subvolumes = { - "@" = { }; - "@/root" = { - mountpoint = "/"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/home" = { - mountpoint = "/home"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/var" = { - mountpoint = "/var"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/nix" = { - mountpoint = "/nix"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/swap" = { - mountpoint = "/swap"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/kj-laptop01/facter.json b/kj-laptop01/facter.json deleted file mode 100644 index aadd9b4..0000000 --- a/kj-laptop01/facter.json +++ /dev/null @@ -1,4100 +0,0 @@ -{ - "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": 770 - }, - "bluetooth": [ - { - "index": 43, - "attached_to": 41, - "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": "8087", - "value": 32903 - }, - "device": { - "hex": "0026", - "value": 38 - }, - "revision": { - "hex": "0000", - "name": "0.02", - "value": 0 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", - "sysfs_bus_id": "3-10: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:v8087p0026d0002dcE0dsc01dp01icE0isc01ip01in00" - }, - { - "index": 48, - "attached_to": 41, - "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": "8087", - "value": 32903 - }, - "device": { - "hex": "0026", - "value": 38 - }, - "revision": { - "hex": "0000", - "name": "0.02", - "value": 0 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", - "sysfs_bus_id": "3-10: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:v8087p0026d0002dcE0dsc01dp01icE0isc01ip01in01" - } - ], - "bridge": [ - { - "index": 12, - "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": "a0b8", - "value": 41144 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.0", - "sysfs_bus_id": "0000:00:1c.0", - "sysfs_iommu_group_id": 10, - "resources": [ - { - "type": "irq", - "base": 127, - "triggered": 0, - "enabled": true - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 1, - "secondary_bus": 8, - "irq": 127, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": ["pcieport"], - "driver_modules": ["pcieportdrv"], - "module_alias": "pci:v00008086d0000A0B8sv000017AAsd000022C9bc06sc04i00" - }, - { - "index": 14, - "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": "a082", - "value": 41090 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel ISA bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", - "sysfs_bus_id": "0000:00:1f.0", - "sysfs_iommu_group_id": 12, - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d0000A082sv000017AAsd000022C9bc06sc01i00" - }, - { - "index": 15, - "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": "a0bf", - "value": 41151 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.7", - "sysfs_bus_id": "0000:00:1c.7", - "sysfs_iommu_group_id": 11, - "resources": [ - { - "type": "irq", - "base": 128, - "triggered": 0, - "enabled": true - } - ], - "detail": { - "function": 7, - "command": 1031, - "header_type": 1, - "secondary_bus": 10, - "irq": 128, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": ["pcieport"], - "driver_modules": ["pcieportdrv"], - "module_alias": "pci:v00008086d0000A0BFsv000017AAsd000022C9bc06sc04i00" - }, - { - "index": 17, - "attached_to": 0, - "class_list": ["pci", "bridge"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 7 - }, - "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": "9a27", - "value": 39463 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:07.2", - "sysfs_bus_id": "0000:00:07.2", - "sysfs_iommu_group_id": 0, - "resources": [ - { - "type": "irq", - "base": 126, - "triggered": 0, - "enabled": true - } - ], - "detail": { - "function": 2, - "command": 1031, - "header_type": 1, - "secondary_bus": 80, - "irq": 126, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": ["pcieport"], - "driver_modules": ["pcieportdrv"], - "module_alias": "pci:v00008086d00009A27sv000017AAsd000022C9bc06sc04i00" - }, - { - "index": 22, - "attached_to": 0, - "class_list": ["pci", "bridge"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 7 - }, - "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": "9a25", - "value": 39461 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:07.0", - "sysfs_bus_id": "0000:00:07.0", - "sysfs_iommu_group_id": 1, - "resources": [ - { - "type": "irq", - "base": 125, - "triggered": 0, - "enabled": true - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 1, - "secondary_bus": 32, - "irq": 125, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": ["pcieport"], - "driver_modules": ["pcieportdrv"], - "module_alias": "pci:v00008086d00009A25sv000017AAsd000022C9bc06sc04i00" - }, - { - "index": 26, - "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": "9a14", - "value": 39444 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Host bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:00.0", - "sysfs_bus_id": "0000:00:00.0", - "sysfs_iommu_group_id": 3, - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d00009A14sv000017AAsd000022C9bc06sc00i00" - }, - { - "index": 27, - "attached_to": 0, - "class_list": ["pci", "bridge"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 6 - }, - "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": "9a09", - "value": 39433 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:06.0", - "sysfs_bus_id": "0000:00:06.0", - "sysfs_iommu_group_id": 5, - "resources": [ - { - "type": "irq", - "base": 124, - "triggered": 0, - "enabled": true - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 1, - "secondary_bus": 4, - "irq": 124, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": ["pcieport"], - "driver_modules": ["pcieportdrv"], - "module_alias": "pci:v00008086d00009A09sv000017AAsd000022C9bc06sc04i00" - } - ], - "camera": [ - { - "index": 40, - "attached_to": 41, - "class_list": ["camera", "usb"], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "04f2", - "name": "Chicony Electronics Co., Ltd.", - "value": 1266 - }, - "device": { - "hex": "b6d0", - "name": "Integrated Camera", - "value": 46800 - }, - "revision": { - "hex": "0000", - "name": "59.18", - "value": 0 - }, - "serial": "0001", - "model": "Chicony Electronics Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.2", - "sysfs_bus_id": "3-4:1.2", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 2, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 2 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": ["uvcvideo"], - "driver_modules": ["uvcvideo"], - "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc01ip01in02" - }, - { - "index": 42, - "attached_to": 41, - "class_list": ["camera", "usb"], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "04f2", - "name": "Chicony Electronics Co., Ltd.", - "value": 1266 - }, - "device": { - "hex": "b6d0", - "name": "Integrated Camera", - "value": 46800 - }, - "revision": { - "hex": "0000", - "name": "59.18", - "value": 0 - }, - "serial": "0001", - "model": "Chicony Electronics Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0", - "sysfs_bus_id": "3-4:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 0 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": ["uvcvideo"], - "driver_modules": ["uvcvideo"], - "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc01ip00in00" - }, - { - "index": 45, - "attached_to": 41, - "class_list": ["camera", "usb"], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "04f2", - "name": "Chicony Electronics Co., Ltd.", - "value": 1266 - }, - "device": { - "hex": "b6d0", - "name": "Integrated Camera", - "value": 46800 - }, - "revision": { - "hex": "0000", - "name": "59.18", - "value": 0 - }, - "serial": "0001", - "model": "Chicony Electronics Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.3", - "sysfs_bus_id": "3-4:1.3", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "interface_protocol": 1, - "interface_number": 3, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 2 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": ["uvcvideo"], - "driver_modules": ["uvcvideo"], - "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc02ip01in03" - }, - { - "index": 47, - "attached_to": 41, - "class_list": ["camera", "usb"], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "04f2", - "name": "Chicony Electronics Co., Ltd.", - "value": 1266 - }, - "device": { - "hex": "b6d0", - "name": "Integrated Camera", - "value": 46800 - }, - "revision": { - "hex": "0000", - "name": "59.18", - "value": 0 - }, - "serial": "0001", - "model": "Chicony Electronics Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.1", - "sysfs_bus_id": "3-4:1.1", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "interface_protocol": 0, - "interface_number": 1, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 0 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": ["uvcvideo"], - "driver_modules": ["uvcvideo"], - "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc02ip00in01" - } - ], - "cpu": [ - { - "architecture": "x86_64", - "vendor_name": "GenuineIntel", - "family": 6, - "model": 140, - "stepping": 1, - "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", - "tsc_known_freq", - "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", - "cat_l2", - "cdp_l2", - "ssbd", - "ibrs", - "ibpb", - "stibp", - "ibrs_enhanced", - "tpr_shadow", - "flexpriority", - "ept", - "vpid", - "ept_ad", - "fsgsbase", - "tsc_adjust", - "bmi1", - "avx2", - "smep", - "bmi2", - "erms", - "invpcid", - "rdt_a", - "avx512f", - "avx512dq", - "rdseed", - "adx", - "smap", - "avx512ifma", - "clflushopt", - "clwb", - "intel_pt", - "avx512cd", - "sha_ni", - "avx512bw", - "avx512vl", - "xsaveopt", - "xsavec", - "xgetbv1", - "xsaves", - "split_lock_detect", - "user_shstk", - "dtherm", - "ida", - "arat", - "pln", - "pts", - "hwp", - "hwp_notify", - "hwp_act_window", - "hwp_epp", - "hwp_pkg_req", - "vnmi", - "avx512vbmi", - "umip", - "pku", - "ospke", - "avx512_vbmi2", - "gfni", - "vaes", - "vpclmulqdq", - "avx512_vnni", - "avx512_bitalg", - "avx512_vpopcntdq", - "rdpid", - "movdiri", - "movdir64b", - "fsrm", - "avx512_vp2intersect", - "md_clear", - "ibt", - "flush_l1" - ], - "bugs": [ - "spectre_v1", - "spectre_v2", - "spec_store_bypass", - "swapgs", - "eibrs_pbrsb", - "gds", - "bhi", - "spectre_v2_user", - "old_microcode", - "its", - "its_native_only" - ], - "bogo": 5606.4, - "cache": 12288, - "units": 16, - "physical_id": 0, - "siblings": 8, - "cores": 4, - "fpu": true, - "fpu_exception": true, - "cpuid_level": 27, - "write_protect": false, - "clflush_size": 64, - "cache_alignment": 64, - "address_sizes": { - "physical": "0x27", - "virtual": "0x30" - } - } - ], - "disk": [ - { - "index": 36, - "attached_to": 30, - "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 MZVLB1T0HBLR-000L7", - "value": 43016 - }, - "sub_device": { - "hex": "a801", - "value": 43009 - }, - "serial": "S4EMNX0R530959", - "model": "SAMSUNG MZVLB1T0HBLR-000L7", - "sysfs_id": "/class/block/nvme0n1", - "sysfs_bus_id": "nvme0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:04: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-id/nvme-SAMSUNG_MZVLB1T0HBLR-000L7_S4EMNX0R530959", - "/dev/disk/by-id/nvme-SAMSUNG_MZVLB1T0HBLR-000L7_S4EMNX0R530959_1", - "/dev/disk/by-id/nvme-eui.0025388511b126ba", - "/dev/disk/by-path/pci-0000:04:00.0-nvme-1", - "/dev/nvme0n1" - ], - "resources": [ - { - "type": "disk_geo", - "cylinders": 976762, - "heads": 64, - "sectors": 32, - "size": "0x0", - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 2000409264, - "value_2": 512 - } - ], - "driver": "nvme", - "driver_module": "nvme", - "drivers": ["nvme"], - "driver_modules": ["nvme"] - }, - { - "index": 37, - "attached_to": 32, - "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": "0781", - "name": "SanDisk", - "value": 1921 - }, - "device": { - "hex": "5581", - "name": "Sandisk Ultra", - "value": 21889 - }, - "revision": { - "hex": "0000", - "name": "PMAP", - "value": 0 - }, - "serial": "AF2F00011030", - "model": "SanDisk Sandisk Ultra", - "sysfs_id": "/class/block/sda", - "sysfs_bus_id": "0:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1: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-id/usb-SanDisk_Sandisk_Ultra_A20013F341FFFF01-0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:1: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": 15120, - "heads": 64, - "sectors": 32, - "size": "0x0", - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 30965760, - "value_2": 512 - } - ], - "driver": "usb-storage", - "driver_module": "usb_storage", - "drivers": ["sd", "usb-storage"], - "driver_modules": ["sd_mod", "usb_storage"], - "module_alias": "usb:v0781p5581d0100dc00dsc00dp00ic08isc06ip50in00" - } - ], - "graphics_card": [ - { - "index": 31, - "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": "9a49", - "value": 39497 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel VGA compatible controller", - "sysfs_id": "/devices/pci0000:00/0000:00:02.0", - "sysfs_bus_id": "0000:00:02.0", - "sysfs_iommu_group_id": 2, - "resources": [ - { - "type": "io", - "base": 12288, - "range": 64, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 204, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 274877906944, - "range": 268435456, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 413323493376, - "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": 204, - "prog_if": 0 - }, - "driver": "i915", - "driver_module": "i915", - "drivers": ["i915"], - "driver_modules": ["i915"], - "module_alias": "pci:v00008086d00009A49sv000017AAsd000022C9bc03sc00i00" - } - ], - "hub": [ - { - "index": 41, - "attached_to": 32, - "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.16.4 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "xHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.16", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.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", - "driver_module": "usbcore", - "drivers": ["hub"], - "driver_modules": ["usbcore"], - "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 44, - "attached_to": 32, - "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.16.4 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0003", - "name": "xHCI Host Controller", - "value": 3 - }, - "revision": { - "hex": "0000", - "name": "6.16", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.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", - "driver_module": "usbcore", - "drivers": ["hub"], - "driver_modules": ["usbcore"], - "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" - }, - { - "index": 46, - "attached_to": 13, - "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.16.4 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "xHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.16", - "value": 0 - }, - "serial": "0000:00:0d.0", - "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", - "driver_module": "usbcore", - "drivers": ["hub"], - "driver_modules": ["usbcore"], - "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 50, - "attached_to": 13, - "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.16.4 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0003", - "name": "xHCI Host Controller", - "value": 3 - }, - "revision": { - "hex": "0000", - "name": "6.16", - "value": 0 - }, - "serial": "0000:00:0d.0", - "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", - "driver_module": "usbcore", - "drivers": ["hub"], - "driver_modules": ["usbcore"], - "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" - } - ], - "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": 24909262848, - "enabled": true, - "access": "read_write", - "prefetch": "unknown" - }, - { - "type": "phys_mem", - "range": 25769803776 - } - ] - } - ], - "monitor": [ - { - "index": 35, - "attached_to": 31, - "class_list": ["monitor"], - "base_class": { - "hex": "0100", - "name": "Monitor", - "value": 256 - }, - "sub_class": { - "hex": "0002", - "name": "LCD Monitor", - "value": 2 - }, - "vendor": { - "hex": "09e5", - "name": "BOE CQ", - "value": 2533 - }, - "device": { - "hex": "09de", - "value": 2526 - }, - "serial": "0", - "model": "BOE CQ LCD Monitor", - "resources": [ - { - "type": "monitor", - "width": 1920, - "height": 1080, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "size", - "unit": "mm", - "value_1": 309, - "value_2": 174 - } - ], - "detail": { - "manufacture_year": 2020, - "manufacture_week": 32, - "vertical_sync": { - "min": 40, - "max": 60 - }, - "horizontal_sync": { - "min": 74, - "max": 74 - }, - "horizontal_sync_timings": { - "disp": 1920, - "sync_start": 1968, - "sync_end": 2000, - "total": 2220 - }, - "vertical_sync_timings": { - "disp": 1080, - "sync_start": 1083, - "sync_end": 1089, - "total": 1240 - }, - "clock": 165170, - "width": 1920, - "height": 1080, - "width_millimetres": 309, - "height_millimetres": 174, - "horizontal_flag": 45, - "vertical_flag": 43, - "vendor": "BOE CQ", - "name": "" - }, - "driver_info": { - "type": "display", - "width": 1920, - "height": 1080, - "vertical_sync": { - "min": 40, - "max": 60 - }, - "horizontal_sync": { - "min": 74, - "max": 74 - }, - "bandwidth": 0, - "horizontal_sync_timings": { - "disp": 1920, - "sync_start": 1968, - "sync_end": 2000, - "total": 2220 - }, - "vertical_sync_timings": { - "disp": 1080, - "sync_start": 1083, - "sync_end": 1089, - "total": 1240 - }, - "horizontal_flag": 45, - "vertical_flag": 43 - } - } - ], - "mouse": [ - { - "index": 55, - "attached_to": 0, - "bus_type": { - "hex": "0080", - "name": "ps2", - "value": 128 - }, - "base_class": { - "hex": "0118", - "name": "touchpad", - "value": 280 - }, - "sub_class": { - "hex": "0000", - "name": "ps2", - "value": 0 - }, - "vendor": { - "hex": "0002", - "value": 2 - }, - "device": { - "hex": "0007", - "value": 7 - }, - "sysfs_id": "/devices/platform/i8042/serio1/input/input6", - "unix_device_names": ["/dev/input/event7", "/dev/input/ + handler"] - } - ], - "network_controller": [ - { - "index": 19, - "attached_to": 0, - "class_list": ["network_controller", "pci", "wlan_card"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 20 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0082", - "name": "WLAN controller", - "value": 130 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "device": { - "hex": "a0f0", - "value": 41200 - }, - "sub_device": { - "hex": "0070", - "value": 112 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel WLAN controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.3", - "sysfs_bus_id": "0000:00:14.3", - "sysfs_iommu_group_id": 8, - "unix_device_name": "wlp0s20f3", - "unix_device_names": ["wlp0s20f3"], - "resources": [ - { - "type": "hwaddr", - "address": 101 - }, - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413342121984, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "phwaddr", - "address": 101 - }, - { - "type": "wlan", - "channels": [ - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "36", - "40", - "44", - "48", - "52", - "56", - "60", - "64", - "100", - "104", - "108", - "112", - "116", - "120", - "124", - "128", - "132", - "136", - "140" - ], - "frequencies": [ - "2.412", - "2.417", - "2.422", - "2.427", - "2.432", - "2.437", - "2.442", - "2.447", - "2.452", - "2.457", - "2.462", - "2.467", - "2.472", - "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" - ], - "auth_modes": ["open", "sharedkey", "wpa-psk", "wpa-eap"], - "enc_modes": ["WEP40", "WEP104", "TKIP", "CCMP"] - } - ], - "detail": { - "function": 3, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 16, - "prog_if": 0 - }, - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": ["iwlwifi"], - "driver_modules": ["iwlwifi"], - "module_alias": "pci:v00008086d0000A0F0sv00008086sd00000070bc02sc80i00" - }, - { - "index": 29, - "attached_to": 0, - "class_list": ["network_controller", "pci"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 31 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0000", - "name": "Ethernet controller", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "15fc", - "value": 5628 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel Ethernet controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.6", - "sysfs_bus_id": "0000:00:1f.6", - "sysfs_iommu_group_id": 12, - "unix_device_name": "enp0s31f6", - "unix_device_names": ["enp0s31f6"], - "resources": [ - { - "type": "hwaddr", - "address": 102 - }, - { - "type": "irq", - "base": 193, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 3159359488, - "range": 131072, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "phwaddr", - "address": 102 - } - ], - "detail": { - "function": 6, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 193, - "prog_if": 0 - }, - "driver": "e1000e", - "driver_module": "e1000e", - "drivers": ["e1000e"], - "driver_modules": ["e1000e"], - "module_alias": "pci:v00008086d000015FCsv000017AAsd000022C9bc02sc00i00" - } - ], - "network_interface": [ - { - "index": 51, - "attached_to": 19, - "class_list": ["network_interface"], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0001", - "name": "Ethernet", - "value": 1 - }, - "model": "Ethernet network interface", - "sysfs_id": "/class/net/wlp0s20f3", - "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", - "unix_device_name": "wlp0s20f3", - "unix_device_names": ["wlp0s20f3"], - "resources": [ - { - "type": "hwaddr", - "address": 101 - }, - { - "type": "phwaddr", - "address": 101 - } - ], - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": ["iwlwifi"], - "driver_modules": ["iwlwifi"] - }, - { - "index": 52, - "attached_to": 29, - "class_list": ["network_interface"], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0001", - "name": "Ethernet", - "value": 1 - }, - "model": "Ethernet network interface", - "sysfs_id": "/class/net/enp0s31f6", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.6", - "unix_device_name": "enp0s31f6", - "unix_device_names": ["enp0s31f6"], - "resources": [ - { - "type": "hwaddr", - "address": 102 - }, - { - "type": "phwaddr", - "address": 102 - } - ], - "driver": "e1000e", - "driver_module": "e1000e", - "drivers": ["e1000e"], - "driver_modules": ["e1000e"] - }, - { - "index": 53, - "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"] - }, - { - "index": 54, - "attached_to": 0, - "class_list": ["network_interface"], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0080", - "name": "Network Interface", - "value": 128 - }, - "model": "Network Interface", - "sysfs_id": "/class/net/wwan0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1c.0/0000:08:00.0/mhi0/wwan/wwan0", - "unix_device_name": "wwan0", - "unix_device_names": ["wwan0"], - "driver": "wwan", - "drivers": ["wwan"] - } - ], - "pci": [ - { - "index": 16, - "attached_to": 12, - "class_list": ["pci", "unknown"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 8, - "number": 0 - }, - "base_class": { - "hex": "00ff", - "name": "Unclassified device", - "value": 255 - }, - "vendor": { - "hex": "1eac", - "value": 7852 - }, - "sub_vendor": { - "hex": "1eac", - "value": 7852 - }, - "device": { - "hex": "1001", - "value": 4097 - }, - "sub_device": { - "hex": "2001", - "value": 8193 - }, - "model": "Unclassified device", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:08:00.0", - "sysfs_bus_id": "0000:08:00.0", - "sysfs_iommu_group_id": 14, - "resources": [ - { - "type": "irq", - "base": 171, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 3157262336, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 3157266432, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 171, - "prog_if": 0 - }, - "driver": "mhi-pci-generic", - "driver_module": "mhi_pci_generic", - "drivers": ["mhi-pci-generic"], - "driver_modules": ["mhi_pci_generic"], - "module_alias": "pci:v00001EACd00001001sv00001EACsd00002001bcFFsc00i00" - }, - { - "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": "9a03", - "value": 39427 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Signal processing controller", - "sysfs_id": "/devices/pci0000:00/0000:00:04.0", - "sysfs_bus_id": "0000:00:04.0", - "sysfs_iommu_group_id": 4, - "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413341843456, - "range": 131072, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 2, - "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:v00008086d00009A03sv000017AAsd000022C9bc11sc80i00" - }, - { - "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": "a0e0", - "value": 41184 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel Communication controller", - "sysfs_id": "/devices/pci0000:00/0000:00:16.0", - "sysfs_bus_id": "0000:00:16.0", - "sysfs_iommu_group_id": 9, - "resources": [ - { - "type": "irq", - "base": 137, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413342158848, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 137, - "prog_if": 0 - }, - "driver": "mei_me", - "driver_module": "mei_me", - "drivers": ["mei_me"], - "driver_modules": ["mei_me"], - "module_alias": "pci:v00008086d0000A0E0sv000017AAsd000022C9bc07sc80i00" - }, - { - "index": 21, - "attached_to": 15, - "class_list": ["pci", "unknown"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 10, - "number": 0 - }, - "base_class": { - "hex": "00ff", - "name": "Unclassified device", - "value": 255 - }, - "vendor": { - "hex": "10ec", - "value": 4332 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "522a", - "value": 21034 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Unclassified device", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.7/0000:0a:00.0", - "sysfs_bus_id": "0000:0a:00.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 170, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 3156213760, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 170, - "prog_if": 0 - }, - "driver": "rtsx_pci", - "driver_module": "rtsx_pci", - "drivers": ["rtsx_pci"], - "driver_modules": ["rtsx_pci"], - "module_alias": "pci:v000010ECd0000522Asv000017AAsd000022C9bcFFsc00i00" - }, - { - "index": 23, - "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": "0080", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "a0a4", - "value": 41124 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel Serial bus controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", - "sysfs_bus_id": "0000:00:1f.5", - "sysfs_iommu_group_id": 12, - "resources": [ - { - "type": "mem", - "base": 2692743168, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 5, - "command": 1026, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "driver": "intel-spi", - "driver_module": "spi_intel_pci", - "drivers": ["intel-spi"], - "driver_modules": ["spi_intel_pci"], - "module_alias": "pci:v00008086d0000A0A4sv000017AAsd000022C9bc0Csc80i00" - }, - { - "index": 28, - "attached_to": 0, - "class_list": ["pci", "unknown"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 20 - }, - "base_class": { - "hex": "0005", - "name": "Memory controller", - "value": 5 - }, - "sub_class": { - "hex": "0000", - "name": "RAM memory", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "a0ef", - "value": 41199 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel RAM memory", - "sysfs_id": "/devices/pci0000:00/0000:00:14.2", - "sysfs_bus_id": "0000:00:14.2", - "sysfs_iommu_group_id": 7, - "resources": [ - { - "type": "mem", - "base": 413342138368, - "range": 16384, - "enabled": false, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 413342162944, - "range": 4096, - "enabled": false, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 2, - "command": 0, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d0000A0EFsv000017AAsd000022C9bc05sc00i00" - }, - { - "index": 33, - "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": "a0a3", - "value": 41123 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel SMBus", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", - "sysfs_bus_id": "0000:00:1f.4", - "sysfs_iommu_group_id": 12, - "resources": [ - { - "type": "io", - "base": 61344, - "range": 32, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413342154752, - "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:v00008086d0000A0A3sv000017AAsd000022C9bc0Csc05i00" - } - ], - "sound": [ - { - "index": 25, - "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": "a0c8", - "value": 41160 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel Multimedia controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", - "sysfs_bus_id": "0000:00:1f.3", - "sysfs_iommu_group_id": 12, - "resources": [ - { - "type": "irq", - "base": 205, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413340270592, - "range": 1048576, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 413342105600, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 3, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 205, - "prog_if": 128 - }, - "driver": "sof-audio-pci-intel-tgl", - "driver_module": "snd_sof_pci_intel_tgl", - "drivers": ["sof-audio-pci-intel-tgl"], - "driver_modules": ["snd_sof_pci_intel_tgl"], - "module_alias": "pci:v00008086d0000A0C8sv000017AAsd000022C9bc04sc03i80" - } - ], - "storage_controller": [ - { - "index": 30, - "attached_to": 27, - "class_list": ["storage_controller", "pci"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 4, - "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:06.0/0000:04:00.0", - "sysfs_bus_id": "0000:04:00.0", - "sysfs_iommu_group_id": 13, - "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 3158310912, - "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": 38, - "attached_to": 41, - "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": "00bd", - "value": 189 - }, - "serial": "13899f4d8720", - "model": "Unclassified device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0", - "sysfs_bus_id": "3-3: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:v06CBp00BDd0000dcFFdsc10dpFFicFFisc00ip00in00" - }, - { - "index": 39, - "attached_to": 41, - "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": "04f2", - "name": "Chicony Electronics Co., Ltd.", - "value": 1266 - }, - "device": { - "hex": "b6d0", - "name": "Integrated Camera", - "value": 46800 - }, - "revision": { - "hex": "0000", - "name": "59.18", - "value": 0 - }, - "serial": "0001", - "model": "Chicony Electronics Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.4", - "sysfs_bus_id": "3-4:1.4", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "00fe", - "name": "application", - "value": 254 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 4, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "00fe", - "name": "application", - "value": 254 - }, - "function_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "function_protocol": 0, - "interface_count": 1, - "first_interface": 4 - } - }, - "hotplug": "usb", - "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01icFEisc01ip01in04" - } - ], - "usb_controller": [ - { - "index": 13, - "attached_to": 0, - "class_list": ["usb_controller", "pci"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 13 - }, - "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": "9a13", - "value": 39443 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", - "sysfs_bus_id": "0000:00:0d.0", - "sysfs_iommu_group_id": 6, - "resources": [ - { - "type": "irq", - "base": 129, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413342040064, - "range": 65536, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 129, - "prog_if": 48 - }, - "driver": "xhci_hcd", - "driver_module": "xhci_pci", - "drivers": ["xhci_hcd"], - "driver_modules": ["xhci_pci"], - "module_alias": "pci:v00008086d00009A13sv000017AAsd000022C9bc0Csc03i30" - }, - { - "index": 24, - "attached_to": 0, - "class_list": ["usb_controller", "pci"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 13 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0003", - "name": "USB Controller", - "value": 3 - }, - "pci_interface": { - "hex": "0040", - "value": 64 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "9a1d", - "value": 39453 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.3", - "sysfs_bus_id": "0000:00:0d.3", - "sysfs_iommu_group_id": 6, - "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413341319168, - "range": 262144, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 413342167040, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 3, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 16, - "prog_if": 64 - }, - "driver": "thunderbolt", - "driver_module": "thunderbolt", - "drivers": ["thunderbolt"], - "driver_modules": ["thunderbolt"], - "module_alias": "pci:v00008086d00009A1Dsv000017AAsd000022C9bc0Csc03i40" - }, - { - "index": 32, - "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": "a0ed", - "value": 41197 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0020", - "value": 32 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0", - "sysfs_bus_id": "0000:00:14.0", - "sysfs_iommu_group_id": 7, - "resources": [ - { - "type": "irq", - "base": 138, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413341974528, - "range": 65536, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 138, - "prog_if": 48 - }, - "driver": "xhci_hcd", - "driver_module": "xhci_pci", - "drivers": ["xhci_hcd"], - "driver_modules": ["xhci_pci"], - "module_alias": "pci:v00008086d0000A0EDsv000017AAsd000022C9bc0Csc03i30" - }, - { - "index": 34, - "attached_to": 0, - "class_list": ["usb_controller", "pci"], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 13 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0003", - "name": "USB Controller", - "value": 3 - }, - "pci_interface": { - "hex": "0040", - "value": 64 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "9a1b", - "value": 39451 - }, - "sub_device": { - "hex": "22c9", - "value": 8905 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", - "sysfs_bus_id": "0000:00:0d.2", - "sysfs_iommu_group_id": 6, - "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 413341581312, - "range": 262144, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 413342171136, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 2, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 16, - "prog_if": 64 - }, - "driver": "thunderbolt", - "driver_module": "thunderbolt", - "drivers": ["thunderbolt"], - "driver_modules": ["thunderbolt"], - "module_alias": "pci:v00008086d00009A1Bsv000017AAsd000022C9bc0Csc03i40" - } - ] - }, - "smbios": { - "bios": { - "handle": 16, - "vendor": "LENOVO", - "version": "N34ET62W (1.62 )", - "date": "04/29/2024", - "features": [ - "PCI supported", - "PnP supported", - "BIOS flashable", - "BIOS shadowing allowed", - "CD boot supported", - "Selectable boot supported", - "EDD spec supported", - "720kB Floppy supported", - "Print Screen supported", - "8042 Keyboard Services supported", - "Serial Services supported", - "Printer Services supported", - "CGA/Mono Video supported", - "ACPI supported", - "USB Legacy supported", - "BIOS Boot Spec supported" - ], - "start_address": "0xe0000", - "rom_size": 16777216 - }, - "board": { - "handle": 18, - "manufacturer": "LENOVO", - "product": "20W0S09000", - "version": "SDK0K17763 WIN", - "board_type": { - "hex": "000a", - "name": "Motherboard", - "value": 10 - }, - "features": ["Hosting Board", "Replaceable"], - "location": "Not Available", - "chassis": 19 - }, - "cache": [ - { - "handle": 11, - "socket": "L1 Cache", - "size_max": 192, - "size_current": 192, - "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": "0004", - "name": "Data", - "value": 4 - }, - "associativity": { - "hex": "0009", - "name": "Other", - "value": 9 - }, - "sram_type_current": ["Synchronous"], - "sram_type_supported": ["Synchronous"] - }, - { - "handle": 12, - "socket": "L1 Cache", - "size_max": 128, - "size_current": 128, - "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": "0003", - "name": "Instruction", - "value": 3 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": ["Synchronous"], - "sram_type_supported": ["Synchronous"] - }, - { - "handle": 13, - "socket": "L2 Cache", - "size_max": 5120, - "size_current": 5120, - "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": "0001", - "name": "Other", - "value": 1 - }, - "sram_type_current": ["Synchronous"], - "sram_type_supported": ["Synchronous"] - }, - { - "handle": 14, - "socket": "L3 Cache", - "size_max": 12288, - "size_current": 12288, - "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": 19, - "manufacturer": "LENOVO", - "version": "None", - "chassis_type": { - "hex": "000a", - "name": "Notebook", - "value": 10 - }, - "lock_present": false, - "bootup_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "power_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "thermal_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "security_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "oem": "0x0" - } - ], - "config": { - "handle": 24 - }, - "group_associations": [ - { - "handle": 33, - "power": { - "hex": "0000", - "name": "Disabled", - "value": 0 - }, - "keyboard": { - "hex": "0002", - "name": "Not Implemented", - "value": 2 - }, - "admin": { - "hex": "0000", - "name": "Disabled", - "value": 0 - }, - "reset": { - "hex": "0002", - "name": "Not Implemented", - "value": 2 - } - }, - { - "handle": 35, - "name": "$MEI", - "handles": [0] - } - ], - "language": [ - { - "handle": 25, - "languages": ["en-US"] - } - ], - "memory_array": [ - { - "handle": 0, - "location": { - "hex": "0003", - "name": "Motherboard", - "value": 3 - }, - "usage": { - "hex": "0003", - "name": "System memory", - "value": 3 - }, - "ecc": { - "hex": "0003", - "name": "None", - "value": 3 - }, - "max_size": "0x4000000", - "error_handle": 65534, - "slots": 2 - } - ], - "memory_array_mapped_address": [ - { - "handle": 3, - "array_handle": 0, - "start_address": "0x0", - "end_address": "0x600000000", - "part_width": 2 - } - ], - "memory_device": [ - { - "handle": 1, - "location": "Controller0-ChannelA", - "bank_location": "BANK 0", - "manufacturer": "Micron Technology", - "part_number": "4ATS2G64HZ-3G2B1", - "array_handle": 0, - "error_handle": 65534, - "width": 64, - "ecc_bits": 0, - "size": 16777216, - "form_factor": { - "hex": "000d", - "name": "SODIMM", - "value": 13 - }, - "set": 0, - "memory_type": { - "hex": "001a", - "name": "Other", - "value": 26 - }, - "memory_type_details": ["Synchronous"], - "speed": 3200 - }, - { - "handle": 2, - "location": "Controller1-ChannelA-DIMM0", - "bank_location": "BANK 0", - "manufacturer": "SK Hynix", - "part_number": "HMAA1GS6CJR6N-XN", - "array_handle": 0, - "error_handle": 65534, - "width": 64, - "ecc_bits": 0, - "size": 8388608, - "form_factor": { - "hex": "000d", - "name": "SODIMM", - "value": 13 - }, - "set": 0, - "memory_type": { - "hex": "001a", - "name": "Other", - "value": 26 - }, - "memory_type_details": ["Synchronous"], - "speed": 3200 - } - ], - "memory_error": [ - { - "handle": 37, - "error_type": { - "hex": "0003", - "name": "OK", - "value": 3 - }, - "granularity": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "operation": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "syndrome": 0, - "array_address": "0x80000000", - "device_address": "0x80000000", - "range": 2147483648 - } - ], - "pointing_device": [ - { - "handle": 38, - "mouse_type": { - "hex": "0005", - "name": "Track Point", - "value": 5 - }, - "interface": { - "hex": "0004", - "name": "PS/2", - "value": 4 - }, - "buttons": 3 - }, - { - "handle": 39, - "mouse_type": { - "hex": "0007", - "name": "Touch Pad", - "value": 7 - }, - "interface": { - "hex": "0004", - "name": "PS/2", - "value": 4 - }, - "buttons": 2 - } - ], - "port_connector": [ - { - "handle": 20, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 1" - }, - { - "handle": 21, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 2" - }, - { - "handle": 22, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "Headphone/Microphone Combo Jack1" - } - ], - "processor": [ - { - "handle": 15, - "socket": "U3E1", - "socket_type": { - "hex": "0001", - "name": "Other", - "value": 1 - }, - "socket_populated": true, - "manufacturer": "Intel(R) Corporation", - "version": "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", - "part": "None", - "processor_type": { - "hex": "0003", - "name": "CPU", - "value": 3 - }, - "processor_family": { - "hex": "00c6", - "name": "Other", - "value": 198 - }, - "processor_status": { - "hex": "0001", - "name": "Enabled", - "value": 1 - }, - "clock_ext": 100, - "clock_max": 2800, - "cache_handle_l1": 12, - "cache_handle_l2": 13, - "cache_handle_l3": 14 - } - ], - "slot": [ - { - "handle": 23, - "designation": "SimCard Slot", - "slot_type": { - "hex": "0001", - "name": "Other", - "value": 1 - }, - "bus_width": { - "hex": "0001", - "name": "Other", - "value": 1 - }, - "usage": { - "hex": "0003", - "name": "Available", - "value": 3 - }, - "length": { - "hex": "0001", - "name": "Other", - "value": 1 - }, - "id": 0 - } - ], - "system": { - "handle": 17, - "manufacturer": "LENOVO", - "product": "20W0S09000", - "version": "ThinkPad T14 Gen 2i", - "wake_up": { - "hex": "0006", - "name": "Power Switch", - "value": 6 - } - } - } -} diff --git a/kj-laptop01/home.nix b/kj-laptop01/home.nix deleted file mode 100644 index 7d18022..0000000 --- a/kj-laptop01/home.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ - config, - pkgs, - ... -}: -{ - home.username = "kjtsanaktsidis"; - home.homeDirectory = "/home/kjtsanaktsidis"; - home.stateVersion = "25.05"; - - programs.home-manager.enable = true; - - # Install packages - home.packages = with pkgs; [ - htop - zellij - tmux - neovim - git-absorb - # LazyVim dependencies - lazygit - ripgrep - fd - nodejs - python3 - ]; - - # Configure sops for home-manager - sops = { - age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = ./secrets.yaml; - secrets = { - kj_id_ed25519 = { - path = "${config.home.homeDirectory}/.ssh/id_ed25519"; - }; - kj_gpg_private_key = { - path = "${config.home.homeDirectory}/.gnupg/private-key.asc"; - }; - }; - }; - - # LazyVim configuration for Neovim - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - plugins = with pkgs.vimPlugins; [ - LazyVim - ]; - extraLuaConfig = '' - require("lazyvim").setup() - ${builtins.readFile ./lazyvim-config.lua} - ''; - }; - - # Git configuration - programs.git = { - enable = true; - userName = "KJ Tsanaktsidis"; - userEmail = "kj@kjtsanaktsidis.id.au"; - signing = { - key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; - signByDefault = true; - }; - extraConfig = { - pull.rebase = true; - }; - }; - - # SSH public key (private key is managed by sops) - home.file.".ssh/id_ed25519.pub" = { - text = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMtGcEXu5S/0zsF6Suxc65DmGFGt1JWRnqadoVhErOed kjtsanaktsidis@KJMacbookGroq.local"; - }; - - # Zsh configuration - programs.zsh = { - enable = true; - history = { - size = 1000000; - save = 1000000; - append = true; - extended = true; - ignoreSpace = false; - ignoreDups = false; - }; - - initContent = builtins.readFile ./zsh-config.zsh; - }; - - # FZF with standard keybindings - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - programs.gpg = { - enable = true; - homedir = "${config.home.homeDirectory}/.gnupg"; - }; - services.gpg-agent = { - enable = true; - }; - home.activation.importGpgPrivateKey = config.lib.dag.entryAfter ["sops-nix" "onFilesChange"] '' - export GNUPGHOME="${config.programs.gpg.homedir}" - $DRY_RUN_CMD ${pkgs.gnupg}/bin/gpg --batch --verbose --trust-model always --import "${config.sops.secrets.kj_gpg_private_key.path}" - echo "GPG private key imported from sops secret" - ''; -} diff --git a/kj-laptop01/lazyvim-config.lua b/kj-laptop01/lazyvim-config.lua deleted file mode 100644 index 038ed1b..0000000 --- a/kj-laptop01/lazyvim-config.lua +++ /dev/null @@ -1,49 +0,0 @@ --- Store a lot of history -vim.opt.history = 10000 --- Enable mouse support -vim.opt.mouse = "a" --- Line numbers -vim.opt.number = true --- Vim janks about a lot as the LSP floats in or out if the sign column width --- is not fixed ahead of time. -vim.opt.signcolumn = "yes:1" --- don't take up the whole screen with popups -vim.opt.pumheight = 15 --- lazy.nvim does relative line numbers -vim.wo.relativenumber = false --- .nvimrc files -vim.opt.exrc = true --- disable autoformat by default -vim.g.autoformat = false -vim.g.root_spec = { "cwd" } - ---[[ -local cmp = require("cmp") -local enabled_except_in_comments = function() - if vim.api.nvim_get_mode().mode == "c" then - return true - else - local context = require("cmp.config.context") - return not context.in_treesitter_capture("comment") and not context.in_syntax_group("Comment") - end -end -cmp.setup.filetype("markdown", { - enabled = false, -}) - -for _, ft in ipairs({ "c", "cpp", "ruby" }) do - cmp.setup.filetype(ft, { - enabled = enabled_except_in_comments, - }) -end -]]-- - -vim.api.nvim_create_user_command("DiagHide", function(args) - vim.diagnostic.enable(false) -end, {}) -vim.api.nvim_create_user_command("DiagShow", function(args) - vim.diagnostic.enable(true) -end, {}) -vim.api.nvim_create_user_command("FindRefs", function(args) - require("telescope.builtin").lsp_references() -end, {}) diff --git a/kj-laptop01/secrets.yaml b/kj-laptop01/secrets.yaml deleted file mode 100644 index 6a8a038..0000000 --- a/kj-laptop01/secrets.yaml +++ /dev/null @@ -1,30 +0,0 @@ -kj_hashed_password: ENC[AES256_GCM,data:oBXnSVctLZOEulvaKQlQcWznTlaUViS5u2c6kyKaDCQVQ+wColZqnEeVxvAw3l/1+PkdfxwsojP9ldjJZAoCnnlBs0WoLCsN7A==,iv:hANLxQSqnwd7J+WpIpPz0j5ZV/k0ksdvxARsTq8U2B8=,tag:in8ALpLpBvyDvX/+ZUCxhg==,type:str] -luks_passphrase: ENC[AES256_GCM,data:1HVj/AKohfIkZjzrsJd/S+jG,iv:WSEbPjLUDLsHgR3LdexNRbXOFpCCec0JJy8VnrMy5s8=,tag:/79ZayGOdZb0+tuWPpwbxw==,type:str] -ssh_host_key_ed25519: ENC[AES256_GCM,data:GYcBJqP05QNpFYpZkhomJzFL48SfE+YwmaWeyLPf1c1XQHXKRkUqsAnfsWOrWY+Jkur4ILfUr0iKaWAKEz7Cci+wzYErffBt0awAL93JsUuzlEQEIPepnPrORdrGKMuQn5ipNzSi+dVzuCk7q+z/ZuQWnK6g/xEE+LUfonCRczhCdG6BhB9qM/5fmpRR3y5K3qCJn+FkoENVvB+TBEDQsofttSK9K8mYbsfYdY+lzv6A3Ax2EFlipFDBR6tO5skkDdi8O6TAPdVtHJNLW0mLG2RaF3npSLUzJvJ1/6KjzWGSbFM2eJfEVniF46MuFtcy9ku4D9AYgxmmkmtEoasKHfPg9ucGBh4HXZstzUaPO010wO8BCAB626UkdoAUYAaTKzal9vxfjRuhtaMYMLphaZqQ1+azM2aZkmoymWbvmb/rFjZcYtsq6OY4ivjadhw/An3Lwdo6MdW0Xycn87CYX1pJzTwNCVxbNMmtAkdPeeOKRUP35FfHpor1YXllb1UPPCcfglt1MlQAPx+nog05,iv:P5jP5N7+dAOLnuV3TP2Vg9O86CuQJzCWsmquhjJTVWg=,tag:BLV1tM1awyfY06kpY4c0jw==,type:str] -ssh_host_key_rsa: ENC[AES256_GCM,data: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,iv:Tj1/3zP3D/3T6LjpkMYb7aebixmcctOT/cuO9mLMoUw=,tag:BI22/6vv6Ey8L3639aVJ4Q==,type:str] -kj_id_ed25519: ENC[AES256_GCM,data:TzG4qKXGyOItzm3mWkP95uyr41tovk1kkzzvOnXEY09x3Y9IRgxCC7lmjNd0rSoSk+Z6cN1AjKl5djDr2fwKNehkWU+hj/E1iJG95TFhazGdL9P/JaS/GPEJSoPWexaiVA9mhZ54qTWMjJ6whY8LYyi0wNN+3kueYvNEPh7MpJia142OGEoeso3d5QCkhTPpmBUmjai9+Oa2UTOLyD6vpE5Zs3hoa3b/Nn9zVgoCJbQnjGe9kXZ0ZwZZVKgSsazF80wswgOXaCMx+Zye6ISrgHJvQTTH5egRO48IrjwKBWyx1U+r86Qb0DuWWdUyI5/o3o++UzUTpBTeZIJayxuLCcc5ohS8uq642SPnHTMxLvYMDutPk6XmZcBSPCAm/29uBgiTyD+rxLfSVAEtSX4rLC+aPTMUCrNxwimlN4YZmRg7t+43R5Gm71JhlU3fHfnCdx9WssJ1UVX8hYtj9qdySaXyFDRcphSaMzM+KcrEOeatsoVwmJ3T5LNXkRDgB5P4Lp/+XCPZb62AgGw167K8Do0GFADEKVK/r1O9w6IiTpar2/Rnzeh20Ii9C3KDkkZL,iv:ArYug8GfbAJRxS4WH1yEzwD7mVjIb7uWG4EW/zjxITk=,tag:FacLr+B5UoLXEUaM4kR4/A==,type:str] -kj_gpg_private_key: ENC[AES256_GCM,data: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,iv:F8kUcbAZIwogLtT5f+v5tQCz8lgLbKuPtCqDoOnu06s=,tag:o62MrXkEknaCQ3QB4XhD5Q==,type:str] -sops: - age: - - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Rnh2TjY5YkxDeldnNHB4 - VzJjazRORnFBWWNWdkI4Rm5LOGFYTDRITm5RCkh0dUpySmZhdG8xYXhNSnRXaUhk - SlNub2FMM2gzb3BzN1d0RzVwTjZxQk0KLS0tIG9Da0IrYWUxVFRCdFBtWHAybUVO - aGNoeFhvUGc1ME9CSno1T1BUQWsxOUEKVV/EGdulVldaqjmgqVgybTAVA8un/IcZ - oy95TzamDs1rztz9oA71bSYc6YawdDuMAr3NUJobPzBOGDE7DlzIQw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1dlhywyz63uyyv5z2w6mhax7dcn37akymy2e4ujcdppf85hr3ccrqgwpqmu - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1dkFLOXBoaEFRUHkyajNv - ODRtR2k3aU1RT051cGIzMWN0SkFJZkJPaG1RCnFsS3FVa3NwSHBZcHl5MTIvVFFm - OGxDY1hMbHFicG1YOWxBRmdISkFxVUUKLS0tIDlRVVZSMUJNcVVNWWNRdHB6U1Ex - SW02NGZkTlRzWEIzNFZFOVJGdG9JMk0KxuvdafYhE6v4tl/JlnfbYoXK4AzEKGAW - 8909LJVUMLeY8acGB5SNBxo14rvTjd4Hfnmc6W516Ujq+fzapl3pkA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-09-12T09:15:52Z" - mac: ENC[AES256_GCM,data:7/WpJ5LY0MG3QDHp9Sfsnav62pRopwMaTzlcAXwfrU1c4Niox1l5RR8c6wegod0FZDkwD6N//jZ9oXNy3QL10KamLaW2x7BNALNXDrUrG9I96HLn74Oep2tvKorfN+D/vCD62TxgYC+afDxzrp3VZar89KwwJnEnv2JDjwo9hD8=,iv:qMWwt7O8Yq1PZABgGo+fYdYSPCVc1y1x8JAP5nb3RaI=,tag:q5Q06c4wEknITE7AfDguGg==,type:str] - unencrypted_suffix: _unencrypted - version: 3.10.2 diff --git a/kj-laptop01/zsh-config.zsh b/kj-laptop01/zsh-config.zsh deleted file mode 100644 index 8ef8747..0000000 --- a/kj-laptop01/zsh-config.zsh +++ /dev/null @@ -1,45 +0,0 @@ -# Initialize completion system -autoload -Uz compinit -compinit - -# Initialize prompt system -autoload -Uz promptinit -promptinit - -# Set options -setopt extendedglob nomatch notify - -# Define gentoo prompt theme -prompt_gentoo_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt gentoo [ [ []]] - -EOF -} - -prompt_gentoo_setup () { - local prompt_gentoo_prompt=${1:-'blue'} - local prompt_gentoo_user=${2:-'green'} - local prompt_gentoo_root=${3:-'red'} - - if [ "$USER" = 'root' ] - then - local base_prompt="%B%F{$prompt_gentoo_root}%m%k " - else - local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " - fi - local post_prompt="%b%f%k" - - local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" - typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" - typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" - typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" -} - -# Register the prompt with promptinit -prompt_themes+=( gentoo ) - -# Use the gentoo prompt -prompt gentoo diff --git a/labsrv01/alt-arrow-vt.nix b/labsrv01/alt-arrow-vt.nix deleted file mode 100644 index d0dbb90..0000000 --- a/labsrv01/alt-arrow-vt.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - pkgs, - ... -}: -{ - # Disable Alt+Left/Right virtual terminal switching - console.keyMap = "us"; - - # Create systemd service to disable only Alt+Arrow VT switching - systemd.services.disable-alt-arrow-vt = { - description = "Disable Alt+Arrow VT switching"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-vconsole-setup.service" ]; - script = '' - # Define string sequences for Alt+Arrow that generate proper terminal escape sequences - cat << 'EOF' | ${pkgs.kbd}/bin/loadkeys - string F200 = "\033[1;3D" - string F201 = "\033[1;3C" - alt keycode 105 = F200 - alt keycode 106 = F201 - EOF - ''; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - }; - -} diff --git a/labsrv01/cgit.nix b/labsrv01/cgit.nix deleted file mode 100644 index 34fa377..0000000 --- a/labsrv01/cgit.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - pkgs, - ... -}: -{ - nixpkgs.overlays = [ - (import ../overlays/git-fix) - ]; - - users.users.git = { - isSystemUser = true; - group = "git"; - home = "/var/lib/git"; - createHome = false; # tmpfiles creates it - shell = "${pkgs.git}/bin/git-shell"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHsyhMLrlNiffDrqz0s46hZF8IdR9/qX63TUyllK0LCA kj@KJ-PC" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS77sno1zVa6uO+2wCbBK489snNIp3uvymca2cHX/33 kjtsanaktsidis@labsrv01" - ]; - }; - users.groups.git = { }; - systemd.tmpfiles.rules = [ - "d /var/lib/git 0755 git git -" - ]; - - services.openssh.extraConfig = '' - Match User git - PasswordAuthentication no - PubkeyAuthentication yes - X11Forwarding no - AllowTcpForwarding no - PermitTTY no - ''; - - networking.firewall.allowedTCPPorts = [ 80 443 ]; - services.fcgiwrap.instances."git-http" = { - socket.user = "nginx"; - socket.group = "nginx"; - process.user = "nginx"; - process.group = "nginx"; - socket.type = "unix"; - socket.address = "/run/fcgiwrap-git-http.sock"; - }; - services.nginx = { - enable = true; - virtualHosts."git.kjtsanaktsidis.id.au" = { - forceSSL = false; - enableACME = false; - locations = { - # Block HTTP pushes explicitly (receive-pack) - "~ ^/git/.+\\.git/git-receive-pack$" = { - return = "403"; - }; - - # Smart HTTP for clone/fetch - "~ ^/git(/.+\\.git)(/.*)?$" = { - extraConfig = '' - client_max_body_size 0; - - include ${pkgs.nginx}/conf/fastcgi_params; - fastcgi_param SCRIPT_FILENAME ${pkgs.git}/libexec/git-core/git-http-backend; - fastcgi_param GIT_PROJECT_ROOT /var/lib/git; - fastcgi_param GIT_HTTP_EXPORT_ALL ""; - fastcgi_param PATH_INFO $1$2; - fastcgi_param REMOTE_USER $remote_user; - - fastcgi_pass unix:/run/fcgiwrap-git-http.sock; - ''; - }; - }; - }; - }; -} diff --git a/labsrv01/configuration.nix b/labsrv01/configuration.nix deleted file mode 100644 index 50c5a0d..0000000 --- a/labsrv01/configuration.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ - inputs, - modulesPath, - lib, - pkgs, - sops, - config, - ... -}@args: -{ - imports = [ - inputs.determinate.nixosModules.default - inputs.disko.nixosModules.disko - ./disk-config.nix - inputs.sops-nix.nixosModules.sops - ./secureboot.nix - ./network.nix - ./alt-arrow-vt.nix - - inputs.home-manager.nixosModules.home-manager - ./homes.nix - - ./cgit.nix - ]; - hardware.facter.reportPath = ./facter.json; - - nix = { - extraOptions = '' - experimental-features = ca-derivations nix-command flakes - ''; - settings = { - trusted-users = [ "root" "kjtsanaktsidis" ]; - substituters = [ - "https://cache.nixos.org" - # the ca-derivations cache seems to be down - # "https://cache.ngi0.nixos.org/" - ]; - trusted-public-keys = [ - "cache.ngi0.nixos.org-1:KqH5CBLNSyX184S9BKZJo1LxrxJ9ltnY2uAs5c/f1MA=" - ]; - }; - }; - - sops = { - defaultSopsFile = ./secrets.yaml; - age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - age.generateKey = false; - - secrets = { - luks_passphrase = { }; - kj_hashed_password = { - neededForUsers = true; - }; - ssh_host_key_ed25519 = { }; - ssh_host_key_rsa = { }; - }; - }; - - system.stateVersion = "25.11"; - swapDevices = [ - { - device = "/swap/swapfile"; - size = 32768; - } - ]; - - security.sudo.enable = true; - users.mutableUsers = false; - users.groups.kjtsanaktsidis = { }; - users.users = { - kjtsanaktsidis = { - createHome = true; - isNormalUser = true; - description = "KJ Tsanaktsidis"; - group = "kjtsanaktsidis"; - extraGroups = [ - "wheel" - "networkmanager" - ]; - shell = pkgs.zsh; - hashedPasswordFile = config.sops.secrets.kj_hashed_password.path; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHsyhMLrlNiffDrqz0s46hZF8IdR9/qX63TUyllK0LCA kj@KJ-PC" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS77sno1zVa6uO+2wCbBK489snNIp3uvymca2cHX/33 kjtsanaktsidis@labsrv01" - ]; - }; - }; - - services.openssh = { - enable = true; - hostKeys = [ - { - type = "ed25519"; - path = config.sops.secrets.ssh_host_key_ed25519.path; - } - { - type = "rsa"; - path = config.sops.secrets.ssh_host_key_rsa.path; - } - ]; - }; - - services.fwupd.enable = true; - - # Enable zsh system-wide - programs.zsh.enable = true; -} diff --git a/labsrv01/disk-config.nix b/labsrv01/disk-config.nix deleted file mode 100644 index b0f74c9..0000000 --- a/labsrv01/disk-config.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ - config, - ... -}: -{ - disko.devices = { - disk.nvme0n1 = { - device = "/dev/nvme0n1"; - type = "disk"; - content = { - type = "gpt"; - partitions = { - esp = { - name = "ESP"; - start = "1MiB"; - size = "1023M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - luks = { - name = "cryptroot"; - type = "8300"; - size = "100%"; - content = { - type = "luks"; - name = "crypted"; - passwordFile = config.sops.secrets.luks_passphrase.path; - settings = { - allowDiscards = true; - bypassWorkqueues = true; - }; - content = { - type = "btrfs"; - subvolumes = { - "@" = { }; - "@/root" = { - mountpoint = "/"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/home" = { - mountpoint = "/home"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/var" = { - mountpoint = "/var"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/nix" = { - mountpoint = "/nix"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - "@/swap" = { - mountpoint = "/swap"; - mountOptions = [ - "compress=zstd" - "noatime" - ]; - }; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/labsrv01/facter.json b/labsrv01/facter.json deleted file mode 100644 index f082969..0000000 --- a/labsrv01/facter.json +++ /dev/null @@ -1,5065 +0,0 @@ -{ - "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": 773 - }, - "bluetooth": [ - { - "index": 48, - "attached_to": 47, - "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": "8087", - "value": 32903 - }, - "device": { - "hex": "0032", - "value": 50 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", - "sysfs_bus_id": "3-10: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:v8087p0032d0000dcE0dsc01dp01icE0isc01ip01in00" - }, - { - "index": 58, - "attached_to": 47, - "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": "8087", - "value": 32903 - }, - "device": { - "hex": "0032", - "value": 50 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", - "sysfs_bus_id": "3-10: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:v8087p0032d0000dcE0dsc01dp01icE0isc01ip01in01" - } - ], - "bridge": [ - { - "index": 25, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "5182", - "value": 20866 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel ISA bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", - "sysfs_bus_id": "0000:00:1f.0", - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d00005182sv00001043sd000087F2bc06sc01i00", - "label": "Onboard - Other" - }, - { - "index": 27, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "51b1", - "value": 20913 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.1", - "sysfs_bus_id": "0000:00:1d.1", - "detail": { - "function": 1, - "command": 1031, - "header_type": 1, - "secondary_bus": 3, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": [ - "pcieport" - ], - "driver_modules": [ - "pcieportdrv" - ], - "module_alias": "pci:v00008086d000051B1sv00001043sd000087F2bc06sc04i00" - }, - { - "index": 33, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "4621", - "value": 17953 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0002", - "value": 2 - }, - "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, - "prog_if": 0 - }, - "driver": "igen6_edac", - "driver_module": "igen6_edac", - "drivers": [ - "igen6_edac" - ], - "driver_modules": [ - "igen6_edac" - ], - "module_alias": "pci:v00008086d00004621sv00001043sd000087F2bc06sc00i00", - "label": "Onboard - Other" - }, - { - "index": 35, - "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 6 - }, - "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 - }, - "device": { - "hex": "464d", - "value": 17997 - }, - "revision": { - "hex": "0002", - "value": 2 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:06.0", - "sysfs_bus_id": "0000:00:06.0", - "detail": { - "function": 0, - "command": 1031, - "header_type": 1, - "secondary_bus": 1, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": [ - "pcieport" - ], - "driver_modules": [ - "pcieportdrv" - ], - "module_alias": "pci:v00008086d0000464Dsv00000000sd00000000bc06sc04i00" - }, - { - "index": 36, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "51b0", - "value": 20912 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", - "sysfs_bus_id": "0000:00:1d.0", - "detail": { - "function": 0, - "command": 1031, - "header_type": 1, - "secondary_bus": 2, - "prog_if": 0 - }, - "driver": "pcieport", - "driver_module": "pcieportdrv", - "drivers": [ - "pcieport" - ], - "driver_modules": [ - "pcieportdrv" - ], - "module_alias": "pci:v00008086d000051B0sv00001043sd000087F2bc06sc04i00" - } - ], - "camera": [ - { - "index": 49, - "attached_to": 53, - "class_list": [ - "camera", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "082c", - "name": "HD Webcam C615", - "value": 2092 - }, - "revision": { - "hex": "0000", - "name": "0.11", - "value": 0 - }, - "serial": "0B8FA460", - "model": "Logitech HD Webcam C615", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.2", - "sysfs_bus_id": "3-5.4:1.2", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 0, - "interface_number": 2, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 2 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": [ - "uvcvideo" - ], - "driver_modules": [ - "uvcvideo" - ], - "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic0Eisc01ip00in02" - }, - { - "index": 60, - "attached_to": 53, - "class_list": [ - "camera", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "082c", - "name": "HD Webcam C615", - "value": 2092 - }, - "revision": { - "hex": "0000", - "name": "0.11", - "value": 0 - }, - "serial": "0B8FA460", - "model": "Logitech HD Webcam C615", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.3", - "sysfs_bus_id": "3-5.4:1.3", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "interface_protocol": 0, - "interface_number": 3, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 2 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": [ - "uvcvideo" - ], - "driver_modules": [ - "uvcvideo" - ], - "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic0Eisc02ip00in03" - } - ], - "cpu": [ - { - "architecture": "x86_64", - "vendor_name": "GenuineIntel", - "model_name": "12th Gen Intel(R) Core(TM) i5-12500H", - "family": 6, - "model": 154, - "stepping": 3, - "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", - "tsc_known_freq", - "pni", - "pclmulqdq", - "dtes64", - "monitor", - "ds_cpl", - "vmx", - "smx", - "est", - "tm2", - "ssse3", - "sdbg", - "fma", - "cx16", - "xtpr", - "pdcm", - "sse4_1", - "sse4_2", - "x2apic", - "movbe", - "popcnt", - "tsc_deadline_timer", - "aes", - "xsave", - "avx", - "f16c", - "rdrand", - "lahf_lm", - "abm", - "3dnowprefetch", - "cpuid_fault", - "epb", - "ssbd", - "ibrs", - "ibpb", - "stibp", - "ibrs_enhanced", - "tpr_shadow", - "flexpriority", - "ept", - "vpid", - "ept_ad", - "fsgsbase", - "tsc_adjust", - "bmi1", - "avx2", - "smep", - "bmi2", - "erms", - "invpcid", - "rdseed", - "adx", - "smap", - "clflushopt", - "clwb", - "intel_pt", - "sha_ni", - "xsaveopt", - "xsavec", - "xgetbv1", - "xsaves", - "split_lock_detect", - "user_shstk", - "avx_vnni", - "dtherm", - "ida", - "arat", - "pln", - "pts", - "hwp", - "hwp_notify", - "hwp_act_window", - "hwp_epp", - "hwp_pkg_req", - "hfi", - "vnmi", - "umip", - "pku", - "ospke", - "waitpkg", - "gfni", - "vaes", - "vpclmulqdq", - "rdpid", - "movdiri", - "movdir64b", - "fsrm", - "md_clear", - "serialize", - "arch_lbr", - "ibt", - "flush_l1d", - "arch_capabilities" - ], - "bugs": [ - "spectre_v1", - "spectre_v2", - "spec_store_bypass", - "swapgs", - "eibrs_pbrsb", - "rfds", - "bhi", - "vmscape" - ], - "power_management": [ - "" - ], - "bogo": 6220, - "cache": 18432, - "units": 64, - "page_size": 4096, - "physical_id": 0, - "siblings": 16, - "cores": 12, - "fpu": false, - "fpu_exception": false, - "cpuid_level": 32, - "write_protect": false, - "tlb_size": 32765, - "clflush_size": 64, - "cache_alignment": 64, - "address_sizes": { - "physical": "0x27", - "virtual": "0x30" - } - } - ], - "disk": [ - { - "index": 44, - "attached_to": 30, - "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": "a80a", - "name": "Samsung SSD 980 PRO 2TB", - "value": 43018 - }, - "sub_device": { - "hex": "a801", - "value": 43009 - }, - "serial": "S69ENF0W831022Y", - "model": "Samsung SSD 980 PRO 2TB", - "sysfs_id": "/class/block/nvme0n1", - "sysfs_bus_id": "nvme0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0/nvme/nvme0", - "unix_device_names": [ - "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_2TB_S69ENF0W831022Y", - "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_2TB_S69ENF0W831022Y_1", - "/dev/disk/by-id/nvme-eui.002538b831b900c4", - "/dev/disk/by-path/pci-0000:01:00.0-nvme-1", - "/dev/nvme0n1" - ], - "resources": [ - { - "type": "disk_geo", - "cylinders": 1907729, - "heads": 64, - "sectors": 32, - "size": "0x0", - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 3907029168, - "value_2": 512 - } - ], - "driver": "nvme", - "driver_module": "nvme", - "drivers": [ - "nvme" - ], - "driver_modules": [ - "nvme" - ] - }, - { - "index": 45, - "attached_to": 40, - "class_list": [ - "disk", - "usb", - "scsi", - "block_device" - ], - "bus_type": { - "hex": "0084", - "name": "SCSI", - "value": 132 - }, - "slot": { - "bus": 2, - "number": 0 - }, - "base_class": { - "hex": "0106", - "name": "Mass Storage Device", - "value": 262 - }, - "sub_class": { - "hex": "0000", - "name": "Disk", - "value": 0 - }, - "vendor": { - "hex": "0781", - "name": "SanDisk", - "value": 1921 - }, - "device": { - "hex": "5581", - "name": "Sandisk Ultra", - "value": 21889 - }, - "revision": { - "hex": "0000", - "name": "PMAP", - "value": 0 - }, - "serial": "AF2F00011030", - "model": "SanDisk Sandisk Ultra", - "sysfs_id": "/class/block/sda", - "sysfs_bus_id": "2:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host2/target2:0:0/2:0:0:0", - "unix_device_names": [ - "/dev/disk/by-id/usb-SanDisk_Sandisk_Ultra_A20013F341FFFF01-0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:1:1.0-scsi-0:0:0:0", - "/dev/sda" - ], - "unix_device_name2": "/dev/sg0", - "resources": [ - { - "type": "disk_geo", - "cylinders": 15120, - "heads": 64, - "sectors": 32, - "size": "0x0", - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 30965760, - "value_2": 512 - } - ], - "driver": "usb-storage", - "driver_module": "usb_storage", - "drivers": [ - "sd", - "usb-storage" - ], - "driver_modules": [ - "sd_mod", - "usb_storage" - ], - "module_alias": "usb:v0781p5581d0100dc00dsc00dp00ic08isc06ip50in00" - } - ], - "graphics_card": [ - { - "index": 39, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "46a6", - "value": 18086 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "000c", - "value": 12 - }, - "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": 12288, - "range": 64, - "enabled": true, - "access": "read_write" - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "i915", - "driver_module": "i915", - "drivers": [ - "i915" - ], - "driver_modules": [ - "i915" - ], - "module_alias": "pci:v00008086d000046A6sv00001043sd000087F2bc03sc00i00", - "label": "Onboard - Video" - } - ], - "hub": [ - { - "index": 47, - "attached_to": 40, - "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.12.63 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "xHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.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", - "driver_module": "usbcore", - "drivers": [ - "hub" - ], - "driver_modules": [ - "usbcore" - ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 52, - "attached_to": 40, - "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.12.63 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0003", - "name": "xHCI Host Controller", - "value": 3 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.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", - "driver_module": "usbcore", - "drivers": [ - "hub" - ], - "driver_modules": [ - "usbcore" - ], - "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" - }, - { - "index": 53, - "attached_to": 47, - "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": "0451", - "name": "Texas Instruments", - "value": 1105 - }, - "device": { - "hex": "8442", - "value": 33858 - }, - "revision": { - "hex": "0000", - "name": "1.00", - "value": 0 - }, - "serial": "4709007959C0", - "model": "Texas Instruments Hub", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0", - "sysfs_bus_id": "3-5: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": 2, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 2, - "interface_number": 0, - "interface_alternate_setting": 1 - }, - "hotplug": "usb", - "driver": "hub", - "driver_module": "usbcore", - "drivers": [ - "hub" - ], - "driver_modules": [ - "usbcore" - ], - "module_alias": "usb:v0451p8442d0100dc09dsc00dp02ic09isc00ip02in00" - }, - { - "index": 56, - "attached_to": 23, - "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.12.63 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "xHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:0d.0", - "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", - "driver_module": "usbcore", - "drivers": [ - "hub" - ], - "driver_modules": [ - "usbcore" - ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 64, - "attached_to": 23, - "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.12.63 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0003", - "name": "xHCI Host Controller", - "value": 3 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:0d.0", - "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", - "driver_module": "usbcore", - "drivers": [ - "hub" - ], - "driver_modules": [ - "usbcore" - ], - "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" - } - ], - "keyboard": [ - { - "index": 50, - "attached_to": 53, - "class_list": [ - "keyboard", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0108", - "name": "Keyboard", - "value": 264 - }, - "sub_class": { - "hex": "0000", - "name": "Keyboard", - "value": 0 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c094", - "name": "PRO X Wireless", - "value": 49300 - }, - "revision": { - "hex": "0000", - "name": "25.01", - "value": 0 - }, - "serial": "E53F6E14", - "model": "Logitech PRO X Wireless", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.1", - "sysfs_bus_id": "3-5.2:1.1", - "unix_device_names": [ - "/dev/input/by-id/usb-Logitech_PRO_X_Wireless_E53F6E14-if01-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.2:1.1-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.2:1.1-event-kbd", - "/dev/input/event4" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 1, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "keyboard", - "xkb_rules": "xfree86", - "xkb_model": "pc104" - }, - "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc01ip01in01" - }, - { - "index": 55, - "attached_to": 53, - "class_list": [ - "keyboard", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0108", - "name": "Keyboard", - "value": 264 - }, - "sub_class": { - "hex": "0000", - "name": "Keyboard", - "value": 0 - }, - "vendor": { - "hex": "1b1c", - "name": "Corsair", - "value": 6940 - }, - "device": { - "hex": "1b09", - "name": "Corsair K70R Gaming Keyboard", - "value": 6921 - }, - "revision": { - "hex": "0000", - "name": "1.09", - "value": 0 - }, - "model": "Corsair K70R Gaming Keyboard", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.0", - "sysfs_bus_id": "3-5.1:1.0", - "unix_device_names": [ - "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.0-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.0-kbd", - "/dev/input/js0" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "keyboard", - "xkb_rules": "xfree86", - "xkb_model": "pc104" - }, - "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc01ip01in00" - } - ], - "memory": [ - { - "index": 19, - "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": "phys_mem", - "range": 68719476736 - } - ] - } - ], - "monitor": [ - { - "index": 43, - "attached_to": 39, - "class_list": [ - "monitor" - ], - "base_class": { - "hex": "0100", - "name": "Monitor", - "value": 256 - }, - "sub_class": { - "hex": "0002", - "name": "LCD Monitor", - "value": 2 - }, - "vendor": { - "hex": "10ac", - "name": "DELL", - "value": 4268 - }, - "device": { - "hex": "a125", - "name": "DELL U3219Q", - "value": 41253 - }, - "serial": "CP2P413", - "model": "DELL U3219Q", - "resources": [ - { - "type": "monitor", - "width": 1024, - "height": 768, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 1024, - "height": 768, - "vertical_frequency": 75, - "interlaced": false - }, - { - "type": "monitor", - "width": 1152, - "height": 864, - "vertical_frequency": 75, - "interlaced": false - }, - { - "type": "monitor", - "width": 1280, - "height": 1024, - "vertical_frequency": 60, - "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": 3840, - "height": 2160, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 640, - "height": 480, - "vertical_frequency": 60, - "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": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 800, - "height": 600, - "vertical_frequency": 75, - "interlaced": false - }, - { - "type": "size", - "unit": "mm", - "value_1": 697, - "value_2": 392 - } - ], - "detail": { - "manufacture_year": 2021, - "manufacture_week": 21, - "vertical_sync": { - "min": 49, - "max": 86 - }, - "horizontal_sync": { - "min": 10, - "max": 137 - }, - "horizontal_sync_timings": { - "disp": 3840, - "sync_start": 3888, - "sync_end": 3920, - "total": 4000 - }, - "vertical_sync_timings": { - "disp": 2160, - "sync_start": 2163, - "sync_end": 2168, - "total": 2222 - }, - "clock": 533250, - "width": 3840, - "height": 2160, - "width_millimetres": 697, - "height_millimetres": 392, - "horizontal_flag": 45, - "vertical_flag": 43, - "vendor": "", - "name": "DELL U3219Q" - }, - "driver_info": { - "type": "display", - "width": 3840, - "height": 2160, - "vertical_sync": { - "min": 49, - "max": 86 - }, - "horizontal_sync": { - "min": 10, - "max": 137 - }, - "bandwidth": 0, - "horizontal_sync_timings": { - "disp": 3840, - "sync_start": 3888, - "sync_end": 3920, - "total": 4000 - }, - "vertical_sync_timings": { - "disp": 2160, - "sync_start": 2163, - "sync_end": 2168, - "total": 2222 - }, - "horizontal_flag": 45, - "vertical_flag": 43 - } - } - ], - "mouse": [ - { - "index": 63, - "attached_to": 53, - "class_list": [ - "mouse", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0105", - "name": "Mouse", - "value": 261 - }, - "sub_class": { - "hex": "0003", - "name": "USB Mouse", - "value": 3 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c094", - "name": "PRO X Wireless", - "value": 49300 - }, - "revision": { - "hex": "0000", - "name": "25.01", - "value": 0 - }, - "serial": "E53F6E14", - "compat_vendor": "Unknown", - "compat_device": "Generic USB Mouse", - "model": "Logitech PRO X Wireless", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.0", - "sysfs_bus_id": "3-5.2:1.0", - "unix_device_names": [ - "/dev/input/mice" - ], - "unix_device_name2": "/dev/input/mouse0", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 2, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], - "xf86": "explorerps/2", - "gpm": "exps2", - "buttons": -1, - "wheels": -1 - }, - "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc01ip02in00" - } - ], - "network_controller": [ - { - "index": 20, - "attached_to": 27, - "class_list": [ - "network_controller", - "pci", - "wlan_card" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 3, - "number": 0 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0082", - "name": "WLAN controller", - "value": 130 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "device": { - "hex": "2725", - "value": 10021 - }, - "sub_device": { - "hex": "0024", - "value": 36 - }, - "revision": { - "hex": "001a", - "value": 26 - }, - "model": "Intel WLAN controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.1/0000:03:00.0", - "sysfs_bus_id": "0000:03:00.0", - "unix_device_names": [ - "wlp3s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 52 - }, - { - "type": "phwaddr", - "address": 49 - }, - { - "type": "wlan", - "channels": [ - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "36", - "40", - "44", - "48", - "52", - "56", - "60", - "64", - "100", - "104", - "108", - "112", - "116", - "120", - "124", - "128", - "132", - "136", - "140" - ], - "frequencies": [ - "2.412", - "2.417", - "2.422", - "2.427", - "2.432", - "2.437", - "2.442", - "2.447", - "2.452", - "2.457", - "2.462", - "2.467", - "2.472", - "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" - ], - "auth_modes": [ - "open", - "sharedkey", - "wpa-psk", - "wpa-eap" - ], - "enc_modes": [ - "WEP40", - "WEP104", - "TKIP", - "CCMP" - ] - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ], - "module_alias": "pci:v00008086d00002725sv00008086sd00000024bc02sc80i00" - }, - { - "index": 26, - "attached_to": 36, - "class_list": [ - "network_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 2, - "number": 0 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0000", - "name": "Ethernet controller", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "15f3", - "value": 5619 - }, - "sub_device": { - "hex": "87d2", - "value": 34770 - }, - "revision": { - "hex": "0003", - "value": 3 - }, - "model": "Intel Ethernet controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/0000:02:00.0", - "sysfs_bus_id": "0000:02:00.0", - "unix_device_names": [ - "enp2s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 99 - }, - { - "type": "phwaddr", - "address": 99 - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "igc", - "driver_module": "igc", - "drivers": [ - "igc" - ], - "driver_modules": [ - "igc" - ], - "module_alias": "pci:v00008086d000015F3sv00001043sd000087D2bc02sc00i00" - } - ], - "network_interface": [ - { - "index": 65, - "attached_to": 20, - "class_list": [ - "network_interface" - ], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0001", - "name": "Ethernet", - "value": 1 - }, - "model": "Ethernet network interface", - "sysfs_id": "/class/net/wlp3s0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.1/0000:03:00.0", - "unix_device_names": [ - "wlp3s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 52 - }, - { - "type": "phwaddr", - "address": 49 - } - ], - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ] - }, - { - "index": 66, - "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_names": [ - "lo" - ] - }, - { - "index": 67, - "attached_to": 26, - "class_list": [ - "network_interface" - ], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0001", - "name": "Ethernet", - "value": 1 - }, - "model": "Ethernet network interface", - "sysfs_id": "/class/net/enp2s0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.0/0000:02:00.0", - "unix_device_names": [ - "enp2s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 99 - }, - { - "type": "phwaddr", - "address": 99 - } - ], - "driver": "igc", - "driver_module": "igc", - "drivers": [ - "igc" - ], - "driver_modules": [ - "igc" - ] - } - ], - "pci": [ - { - "index": 22, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 8 - }, - "base_class": { - "hex": "0008", - "name": "Generic system peripheral", - "value": 8 - }, - "sub_class": { - "hex": "0080", - "name": "System peripheral", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "464f", - "value": 17999 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0002", - "value": 2 - }, - "model": "Intel System peripheral", - "sysfs_id": "/devices/pci0000:00/0000:00:08.0", - "sysfs_bus_id": "0000:00:08.0", - "detail": { - "function": 0, - "command": 0, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d0000464Fsv00001043sd000087F2bc08sc80i00", - "label": "Onboard - Other" - }, - { - "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": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0080", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51e9", - "value": 20969 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Serial bus controller", - "sysfs_id": "/devices/pci0000:00/0000:00:15.1", - "sysfs_bus_id": "0000:00:15.1", - "detail": { - "function": 1, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "intel-lpss", - "driver_module": "intel_lpss_pci", - "drivers": [ - "intel-lpss" - ], - "driver_modules": [ - "intel_lpss_pci" - ], - "module_alias": "pci:v00008086d000051E9sv00001043sd000087F2bc0Csc80i00", - "label": "Onboard - Other" - }, - { - "index": 28, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "461d", - "value": 17949 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0002", - "value": 2 - }, - "model": "Intel Signal processing controller", - "sysfs_id": "/devices/pci0000:00/0000:00:04.0", - "sysfs_bus_id": "0000:00:04.0", - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "proc_thermal_pci", - "driver_module": "processor_thermal_device_pci", - "drivers": [ - "proc_thermal_pci" - ], - "driver_modules": [ - "processor_thermal_device_pci" - ], - "module_alias": "pci:v00008086d0000461Dsv00001043sd000087F2bc11sc80i00", - "label": "Onboard - Other" - }, - { - "index": 29, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "51e0", - "value": 20960 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Communication controller", - "sysfs_id": "/devices/pci0000:00/0000:00:16.0", - "sysfs_bus_id": "0000:00:16.0", - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "mei_me", - "driver_module": "mei_me", - "drivers": [ - "mei_me" - ], - "driver_modules": [ - "mei_me" - ], - "module_alias": "pci:v00008086d000051E0sv00001043sd000087F2bc07sc80i00", - "label": "Onboard - Other" - }, - { - "index": 31, - "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": "0080", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51a4", - "value": 20900 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Serial bus controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", - "sysfs_bus_id": "0000:00:1f.5", - "detail": { - "function": 5, - "command": 1026, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "intel-spi", - "driver_module": "spi_intel_pci", - "drivers": [ - "intel-spi" - ], - "driver_modules": [ - "spi_intel_pci" - ], - "module_alias": "pci:v00008086d000051A4sv00001043sd000087F2bc0Csc80i00", - "label": "Onboard - Other" - }, - { - "index": 34, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 21 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0080", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51e8", - "value": 20968 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Serial bus controller", - "sysfs_id": "/devices/pci0000:00/0000:00:15.0", - "sysfs_bus_id": "0000:00:15.0", - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "intel-lpss", - "driver_module": "intel_lpss_pci", - "drivers": [ - "intel-lpss" - ], - "driver_modules": [ - "intel_lpss_pci" - ], - "module_alias": "pci:v00008086d000051E8sv00001043sd000087F2bc0Csc80i00", - "label": "Onboard - Other" - }, - { - "index": 38, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 20 - }, - "base_class": { - "hex": "0005", - "name": "Memory controller", - "value": 5 - }, - "sub_class": { - "hex": "0000", - "name": "RAM memory", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51ef", - "value": 20975 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel RAM memory", - "sysfs_id": "/devices/pci0000:00/0000:00:14.2", - "sysfs_bus_id": "0000:00:14.2", - "detail": { - "function": 2, - "command": 0, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "module_alias": "pci:v00008086d000051EFsv00001043sd000087F2bc05sc00i00", - "label": "Onboard - Other" - }, - { - "index": 41, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "51a3", - "value": 20899 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel SMBus", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", - "sysfs_bus_id": "0000:00:1f.4", - "resources": [ - { - "type": "io", - "base": 61344, - "range": 32, - "enabled": true, - "access": "read_write" - } - ], - "detail": { - "function": 4, - "command": 3, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "i801_smbus", - "driver_module": "i2c_i801", - "drivers": [ - "i801_smbus" - ], - "driver_modules": [ - "i2c_i801" - ], - "module_alias": "pci:v00008086d000051A3sv00001043sd000087F2bc0Csc05i00", - "label": "Onboard - Other" - }, - { - "index": 42, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 10 - }, - "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 - }, - "device": { - "hex": "467d", - "value": 18045 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Signal processing controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0a.0", - "sysfs_bus_id": "0000:00:0a.0", - "detail": { - "function": 0, - "command": 2, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "intel_vsec", - "driver_module": "intel_vsec", - "drivers": [ - "intel_vsec" - ], - "driver_modules": [ - "intel_vsec" - ], - "module_alias": "pci:v00008086d0000467Dsv00000000sd00000000bc11sc80i00", - "label": "Onboard - Other" - } - ], - "sound": [ - { - "index": 32, - "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 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51c8", - "value": 20936 - }, - "sub_device": { - "hex": "8873", - "value": 34931 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Multimedia controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", - "sysfs_bus_id": "0000:00:1f.3", - "detail": { - "function": 3, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "snd_hda_intel", - "driver_module": "snd_hda_intel", - "drivers": [ - "snd_hda_intel" - ], - "driver_modules": [ - "snd_hda_intel" - ], - "module_alias": "pci:v00008086d000051C8sv00001043sd00008873bc04sc03i00", - "label": "Onboard - Sound" - }, - { - "index": 51, - "attached_to": 53, - "class_list": [ - "sound", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0004", - "name": "Multimedia controller", - "value": 4 - }, - "sub_class": { - "hex": "0001", - "name": "Multimedia audio controller", - "value": 1 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "082c", - "name": "HD Webcam C615", - "value": 2092 - }, - "revision": { - "hex": "0000", - "name": "0.11", - "value": 0 - }, - "serial": "0B8FA460", - "model": "Logitech HD Webcam C615", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.0", - "sysfs_bus_id": "3-5.4:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "function_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 0 - } - }, - "hotplug": "usb", - "driver": "snd-usb-audio", - "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], - "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic01isc01ip00in00" - }, - { - "index": 62, - "attached_to": 53, - "class_list": [ - "sound", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0004", - "name": "Multimedia controller", - "value": 4 - }, - "sub_class": { - "hex": "0001", - "name": "Multimedia audio controller", - "value": 1 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "082c", - "name": "HD Webcam C615", - "value": 2092 - }, - "revision": { - "hex": "0000", - "name": "0.11", - "value": 0 - }, - "serial": "0B8FA460", - "model": "Logitech HD Webcam C615", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.1", - "sysfs_bus_id": "3-5.4:1.1", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "interface_protocol": 0, - "interface_number": 1, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "function_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 0 - } - }, - "hotplug": "usb", - "driver": "snd-usb-audio", - "driver_module": "snd_usb_audio", - "drivers": [ - "snd-usb-audio" - ], - "driver_modules": [ - "snd_usb_audio" - ], - "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic01isc02ip00in01" - } - ], - "storage_controller": [ - { - "index": 21, - "attached_to": 0, - "class_list": [ - "storage_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 23 - }, - "base_class": { - "hex": "0001", - "name": "Mass storage controller", - "value": 1 - }, - "sub_class": { - "hex": "0006", - "value": 6 - }, - "pci_interface": { - "hex": "0001", - "value": 1 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1043", - "value": 4163 - }, - "device": { - "hex": "51d3", - "value": 20947 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel Mass storage controller", - "sysfs_id": "/devices/pci0000:00/0000:00:17.0", - "sysfs_bus_id": "0000:00:17.0", - "resources": [ - { - "type": "io", - "base": 12384, - "range": 32, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 12416, - "range": 4, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 12432, - "range": 8, - "enabled": true, - "access": "read_write" - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 1 - }, - "driver": "ahci", - "driver_module": "ahci", - "drivers": [ - "ahci" - ], - "driver_modules": [ - "ahci" - ], - "module_alias": "pci:v00008086d000051D3sv00001043sd000087F2bc01sc06i01", - "label": "Onboard - SATA" - }, - { - "index": 30, - "attached_to": 35, - "class_list": [ - "storage_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 1, - "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": "a80a", - "value": 43018 - }, - "sub_device": { - "hex": "a801", - "value": 43009 - }, - "model": "Mass storage controller", - "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0", - "sysfs_bus_id": "0000:01:00.0", - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 2 - }, - "driver": "nvme", - "driver_module": "nvme", - "drivers": [ - "nvme" - ], - "driver_modules": [ - "nvme" - ], - "module_alias": "pci:v0000144Dd0000A80Asv0000144Dsd0000A801bc01sc08i02" - }, - { - "index": 37, - "attached_to": 0, - "class_list": [ - "storage_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 14 - }, - "base_class": { - "hex": "0001", - "name": "Mass storage controller", - "value": 1 - }, - "sub_class": { - "hex": "0004", - "name": "RAID bus controller", - "value": 4 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "device": { - "hex": "467f", - "value": 18047 - }, - "sub_device": { - "hex": "0000", - "value": 0 - }, - "model": "Intel RAID bus controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0e.0", - "sysfs_bus_id": "0000:00:0e.0", - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 0 - }, - "driver": "vmd", - "driver_module": "vmd", - "drivers": [ - "vmd" - ], - "driver_modules": [ - "vmd" - ], - "module_alias": "pci:v00008086d0000467Fsv00008086sd00000000bc01sc04i00", - "label": "Onboard - Other" - } - ], - "system": { - "form_factor": "laptop" - }, - "usb": [ - { - "index": 46, - "attached_to": 53, - "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": "1b1c", - "name": "Corsair", - "value": 6940 - }, - "device": { - "hex": "1b09", - "name": "Corsair K70R Gaming Keyboard", - "value": 6921 - }, - "revision": { - "hex": "0000", - "name": "1.09", - "value": 0 - }, - "model": "Corsair K70R Gaming Keyboard", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.1", - "sysfs_bus_id": "3-5.1:1.1", - "unix_device_names": [ - "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-event-if01", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.1-event", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.1-event", - "/dev/input/event1" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 1, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc00ip00in01" - }, - { - "index": 54, - "attached_to": 53, - "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": "1b1c", - "name": "Corsair", - "value": 6940 - }, - "device": { - "hex": "1b09", - "name": "Corsair K70R Gaming Keyboard", - "value": 6921 - }, - "revision": { - "hex": "0000", - "name": "1.09", - "value": 0 - }, - "model": "Corsair K70R Gaming Keyboard", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.2", - "sysfs_bus_id": "3-5.1:1.2", - "unix_device_names": [ - "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-if02-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.2-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.2-event-kbd", - "/dev/input/event2" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 2, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc00ip00in02" - }, - { - "index": 57, - "attached_to": 53, - "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": "0451", - "name": "Texas Instruments", - "value": 1105 - }, - "device": { - "hex": "82ff", - "value": 33535 - }, - "revision": { - "hex": "0000", - "name": "2.00", - "value": 0 - }, - "model": "Texas Instruments Unclassified device", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.5/3-5.5:1.0", - "sysfs_bus_id": "3-5.5:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v0451p82FFd0200dc00dsc00dp00ic03isc00ip00in00" - }, - { - "index": 61, - "attached_to": 53, - "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": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c094", - "name": "PRO X Wireless", - "value": 49300 - }, - "revision": { - "hex": "0000", - "name": "25.01", - "value": 0 - }, - "serial": "E53F6E14", - "model": "Logitech PRO X Wireless", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.2", - "sysfs_bus_id": "3-5.2:1.2", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 2, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc00ip00in02" - } - ], - "usb_controller": [ - { - "index": 23, - "attached_to": 0, - "class_list": [ - "usb_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 13 - }, - "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 - }, - "device": { - "hex": "461e", - "value": 17950 - }, - "revision": { - "hex": "0002", - "value": 2 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", - "sysfs_bus_id": "0000:00:0d.0", - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 48 - }, - "driver": "xhci_hcd", - "driver_module": "xhci_pci", - "drivers": [ - "xhci_hcd" - ], - "driver_modules": [ - "xhci_pci" - ], - "module_alias": "pci:v00008086d0000461Esv00000000sd00000000bc0Csc03i30", - "label": "Onboard - Other" - }, - { - "index": 40, - "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": "1043", - "value": 4163 - }, - "device": { - "hex": "51ed", - "value": 20973 - }, - "sub_device": { - "hex": "87f2", - "value": 34802 - }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0", - "sysfs_bus_id": "0000:00:14.0", - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "prog_if": 48 - }, - "driver": "xhci_hcd", - "driver_module": "xhci_pci", - "drivers": [ - "xhci_hcd" - ], - "driver_modules": [ - "xhci_pci" - ], - "module_alias": "pci:v00008086d000051EDsv00001043sd000087F2bc0Csc03i30", - "label": "Onboard - Other" - } - ] - }, - "smbios": { - "bios": { - "handle": 0, - "vendor": "ASUSTeK COMPUTER INC.", - "version": "2.14.00", - "date": "09/20/2023", - "features": [ - "PCI supported", - "BIOS flashable", - "BIOS shadowing allowed", - "CD boot supported", - "Selectable boot supported", - "BIOS ROM socketed", - "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", - "Print Screen supported", - "Serial Services supported", - "Printer Services supported", - "CGA/Mono Video supported", - "ACPI supported", - "USB Legacy supported", - "BIOS Boot Spec supported" - ], - "start_address": "0xf0000", - "rom_size": 16777216 - }, - "board": { - "handle": 2, - "manufacturer": "ASUSTeK COMPUTER INC.", - "product": "PN64", - "version": "Default string", - "board_type": { - "hex": "000a", - "name": "Motherboard", - "value": 10 - }, - "features": [ - "Hosting Board", - "Replaceable" - ], - "location": "Default string", - "chassis": 3 - }, - "cache": [ - { - "handle": 67, - "socket": "L1 Cache", - "size_max": 192, - "size_current": 192, - "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": "0004", - "name": "Data", - "value": 4 - }, - "associativity": { - "hex": "0009", - "name": "Other", - "value": 9 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 68, - "socket": "L1 Cache", - "size_max": 128, - "size_current": 128, - "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": "0003", - "name": "Instruction", - "value": 3 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 69, - "socket": "L2 Cache", - "size_max": 5120, - "size_current": 5120, - "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": "0001", - "name": "Other", - "value": 1 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 70, - "socket": "L3 Cache", - "size_max": 18432, - "size_current": 18432, - "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" - ] - }, - { - "handle": 71, - "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": "0004", - "name": "Data", - "value": 4 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 72, - "socket": "L1 Cache", - "size_max": 512, - "size_current": 512, - "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": "0003", - "name": "Instruction", - "value": 3 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 73, - "socket": "L2 Cache", - "size_max": 4096, - "size_current": 4096, - "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": "0008", - "name": "16-way Set-Associative", - "value": 8 - }, - "sram_type_current": [ - "Synchronous" - ], - "sram_type_supported": [ - "Synchronous" - ] - }, - { - "handle": 74, - "socket": "L3 Cache", - "size_max": 18432, - "size_current": 18432, - "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": "Default string", - "version": "Default string", - "chassis_type": { - "hex": "0023", - "name": "Other", - "value": 35 - }, - "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": 30, - "options": [ - "Default string" - ] - }, - "group_associations": [ - { - "handle": 100, - "name": "$MEI", - "handles": [ - 0 - ] - }, - { - "handle": 103, - "name": "Firmware Version Info", - "handles": [ - 270582939710, - 274877907007, - 279172874304, - 283467841601, - 412316860482, - 4471060955232 - ] - } - ], - "language": [ - { - "handle": 99, - "languages": [ - "en|US|iso8859-1", - "fr|FR|iso8859-1", - "zh|TW|unicode", - "zh|CN|unicode", - "ja|JP|unicode", - "de|DE|iso8859-1", - "es|ES|iso8859-1", - "ru|RU|iso8859-5", - "ko|KR|unicode" - ] - } - ], - "memory_array": [ - { - "handle": 54, - "location": { - "hex": "0003", - "name": "Motherboard", - "value": 3 - }, - "usage": { - "hex": "0003", - "name": "System memory", - "value": 3 - }, - "ecc": { - "hex": "0003", - "name": "None", - "value": 3 - }, - "max_size": "0x4000000", - "error_handle": 65534, - "slots": 2 - } - ], - "memory_array_mapped_address": [ - { - "handle": 57, - "array_handle": 54, - "start_address": "0x0", - "end_address": "0x1000000000", - "part_width": 2 - } - ], - "memory_device": [ - { - "handle": 55, - "location": "Controller0-ChannelA-DIMM0", - "bank_location": "BANK 0", - "manufacturer": "Corsair", - "part_number": "CMSX64GX5M2A4800C40", - "array_handle": 54, - "error_handle": 65534, - "width": 64, - "ecc_bits": 0, - "size": 33554432, - "form_factor": { - "hex": "000d", - "name": "SODIMM", - "value": 13 - }, - "set": 0, - "memory_type": { - "hex": "0022", - "name": "Other", - "value": 34 - }, - "memory_type_details": [ - "Synchronous" - ], - "speed": 4800 - }, - { - "handle": 56, - "location": "Controller1-ChannelA-DIMM0", - "bank_location": "BANK 0", - "manufacturer": "Corsair", - "part_number": "CMSX64GX5M2A4800C40", - "array_handle": 54, - "error_handle": 65534, - "width": 64, - "ecc_bits": 0, - "size": 33554432, - "form_factor": { - "hex": "000d", - "name": "SODIMM", - "value": 13 - }, - "set": 0, - "memory_type": { - "hex": "0022", - "name": "Other", - "value": 34 - }, - "memory_type_details": [ - "Synchronous" - ], - "speed": 4800 - } - ], - "memory_device_mapped_address": [ - { - "handle": 60, - "memory_device_handle": 55, - "array_map_handle": 57, - "start_address": "0x0", - "end_address": "0x800000000", - "row_position": 255, - "interleave_position": 1, - "interleave_depth": 1 - }, - { - "handle": 61, - "memory_device_handle": 56, - "array_map_handle": 57, - "start_address": "0x800000000", - "end_address": "0x1000000000", - "row_position": 255, - "interleave_position": 2, - "interleave_depth": 1 - } - ], - "onboard": [ - { - "handle": 28, - "devices": [ - { - "name": "To Be Filled By O.E.M.", - "type": { - "hex": "0003", - "name": "Video", - "value": 3 - }, - "enabled": true - } - ] - } - ], - "port_connector": [ - { - "handle": 4, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "PWR_BTN", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "PWR_BTN" - }, - { - "handle": 5, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "U32G2_1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "U32G2_1" - }, - { - "handle": 6, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "U32G2_2", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "U32G2_2" - }, - { - "handle": 7, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "U32G2_C1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "U32G2_C1" - }, - { - "handle": 8, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "U32G2_C2", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "U32G2_C2" - }, - { - "handle": 9, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "U32G2_3", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "U32G2_3" - }, - { - "handle": 10, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "AUDIO", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "AUDIO" - }, - { - "handle": 11, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "DC_PWR", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "DC_PWR" - }, - { - "handle": 12, - "port_type": { - "hex": "001f", - "name": "Network Port", - "value": 31 - }, - "internal_reference_designator": "LAN", - "external_connector_type": { - "hex": "000b", - "name": "RJ-45", - "value": 11 - }, - "external_reference_designator": "LAN" - }, - { - "handle": 13, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "HDMI1", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "HDMI port" - }, - { - "handle": 14, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "HDMI2", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "HDMI port" - }, - { - "handle": 15, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "SATA_LED", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "SATA_LED" - }, - { - "handle": 16, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "M.2(SOCKET3)" - }, - { - "handle": 17, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "M.2(WIFI)" - }, - { - "handle": 18, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "CPU_FAN" - }, - { - "handle": 19, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "BATTERY" - }, - { - "handle": 20, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "PWR_SW" - }, - { - "handle": 21, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "GPIO_HEADER" - }, - { - "handle": 22, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "HDMI_CEC" - }, - { - "handle": 23, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "USB8" - }, - { - "handle": 24, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "AUDIO_CON" - }, - { - "handle": 25, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "FPC_CON1_FPC_CON2" - }, - { - "handle": 26, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "BIOS_JUMPER" - }, - { - "handle": 27, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "NIST_CON" - } - ], - "processor": [ - { - "handle": 75, - "socket": "U3E1", - "socket_type": { - "hex": "0041", - "name": "Other", - "value": 65 - }, - "socket_populated": true, - "manufacturer": "Intel(R) Corporation", - "version": "12th Gen Intel(R) Core(TM) i5-12500H", - "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": 4500, - "cache_handle_l1": 72, - "cache_handle_l2": 73, - "cache_handle_l3": 74 - } - ], - "system": { - "handle": 1, - "manufacturer": "ASUSTeK COMPUTER INC.", - "product": "MINIPC PN64", - "version": "To be filled by O.E.M.", - "wake_up": { - "hex": "0006", - "name": "Power Switch", - "value": 6 - } - } - } -} diff --git a/labsrv01/home-kjtsanaktsidis.nix b/labsrv01/home-kjtsanaktsidis.nix deleted file mode 100644 index 8195727..0000000 --- a/labsrv01/home-kjtsanaktsidis.nix +++ /dev/null @@ -1,140 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -{ - home.username = "kjtsanaktsidis"; - home.homeDirectory = "/home/kjtsanaktsidis"; - home.stateVersion = "25.11"; - - programs.home-manager.enable = true; - - # Install packages - home.packages = with pkgs; [ - htop - zellij - tmux - git-absorb - # LazyVim dependencies - lazygit - ripgrep - fd - nodejs - python3 - nixos-rebuild-ng - ]; - - # Configure sops for home-manager - sops = { - age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = ./secrets.yaml; - secrets = { - kj_id_ed25519 = { - path = "${config.home.homeDirectory}/.ssh/id_ed25519"; - }; - kj_gpg_private_key = { - path = "${config.home.homeDirectory}/.gnupg/private-key.asc"; - }; - fastmail_app_password = { - path = "${config.xdg.configHome}/secrets/fastmail_app_password"; - }; - }; - }; - - accounts.email.accounts.fastmail = { - enable = true; - primary = true; - address = "kj@kjtsanaktsidis.id.au"; - realName = "KJ Tsanaktsidis"; - userName = "kj@kjtsanaktsidis.id.au"; - flavor = "fastmail.com"; - msmtp = { - enable = true; - extraConfig = { - host = "smtp.fastmail.com"; - port = "465"; - tls = "on"; - auth = "on"; - user = "kj@kjtsanaktsidis.id.au"; - from = "kj@kjtsanaktsidis.id.au"; - passwordeval = "cat ${config.sops.secrets.fastmail_app_password.path}"; - }; - }; - }; - programs.msmtp.enable = true; - - # Git configuration - programs.git = { - enable = true; - settings = { - user.name = "KJ Tsanaktsidis"; - user.email = "kj@kjtsanaktsidis.id.au"; - pull.rebase = true; - sendemail = { - sendmailCmd = "${pkgs.msmtp}/bin/msmtp -a default"; - from = "KJ Tsanaktsidis "; - confirm = "always"; - annotate = true; - }; - }; - signing = { - key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; - signByDefault = true; - }; - }; - - programs.neovim = { - enable = true; - defaultEditor = true; - }; - - # Zsh configuration - programs.zsh = { - enable = true; - history = { - size = 1000000; - save = 1000000; - append = true; - extended = true; - ignoreSpace = false; - ignoreDups = false; - }; - - initContent = lib.mkOrder 1000 (builtins.readFile ./zsh-config.zsh); - }; - - # FZF with standard keybindings - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - programs.gpg = { - enable = true; - homedir = "${config.home.homeDirectory}/.gnupg"; - }; - services.gpg-agent = { - enable = true; - }; - systemd.user.services.manage-secrets = { - Unit = { - Description = "Import GPG and SSH keys from sops secrets"; - After = [ "sops-nix.service" ]; - Requires = [ "sops-nix.service" ]; - }; - Service = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = toString (pkgs.writeShellScript "manage-secrets" '' - export GNUPGHOME="${config.programs.gpg.homedir}" - ${pkgs.gnupg}/bin/gpg --batch --verbose --trust-model always --import "${config.sops.secrets.kj_gpg_private_key.path}" - ${pkgs.openssh}/bin/ssh-keygen -y -f "${config.home.homeDirectory}/.ssh/id_ed25519" > "${config.home.homeDirectory}/.ssh/id_ed25519.pub" - ''); - }; - Install = { - WantedBy = [ "default.target" ]; - }; - }; -} diff --git a/labsrv01/homes.nix b/labsrv01/homes.nix deleted file mode 100644 index 6e6cdb4..0000000 --- a/labsrv01/homes.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - inputs, - ... -}: -{ - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.kjtsanaktsidis = ./home-kjtsanaktsidis.nix; - home-manager.sharedModules = [ - inputs.sops-nix.homeManagerModules.sops - ]; -} diff --git a/labsrv01/network.nix b/labsrv01/network.nix deleted file mode 100644 index 49dd881..0000000 --- a/labsrv01/network.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - ... -}: -{ - networking.hostName = "labsrv01"; - - # Enable systemd-resolved for DNS - networking.nameservers = [ "127.0.0.53" ]; - services.resolved = { - enable = true; - llmnr = "true"; - extraConfig = '' - MulticastDNS=yes - ''; - }; - - networking.useNetworkd = true; - systemd.network = { - enable = true; - networks."10-enp2s0" = { - matchConfig.Name = "enp2s0"; - networkConfig = { - DHCP = "yes"; - MulticastDNS = "yes"; - IPv6AcceptRA = "yes"; - IPv6PrivacyExtensions = "no"; - }; - ipv6AcceptRAConfig = { - Token = "stable"; - }; - }; - networks."10-wlp3s0" = { - matchConfig.Name = "wlp3s0"; - linkConfig.Unmanaged = "yes"; - }; - }; - - # Keeping this networkmanager conf handy for wifi purposes on other machines - # but this machine will use networkd. - # networking.networkmanager = lib.mkIf useNetworkManager { - # enable = true; - # dns = "systemd-resolved"; - # # Enable mDNS on NetworkManager connections - # connectionConfig = { - # "connection.mdns" = "2"; # 2 = yes (resolve & register) - # }; - # }; - -} diff --git a/labsrv01/secrets.yaml b/labsrv01/secrets.yaml deleted file mode 100644 index b887cba..0000000 --- a/labsrv01/secrets.yaml +++ /dev/null @@ -1,31 +0,0 @@ -kj_hashed_password: ENC[AES256_GCM,data:sRf0uBBnua/hxn3fZGA9mZAKvg3dm2vgs5Cnanbo6NNQMR1uD9nly3xbpT/xOfCptkY04+ztlSQ6Biz+z11QbYn/3aLNBl/Q/g==,iv:fvvCujpMmegq/Xt54w8lkw7h+1N4OrThbg4iwHo/n5g=,tag:0QWfjBPviOtY7qZQqMW4Vw==,type:str] -luks_passphrase: ENC[AES256_GCM,data:mUZKrVNPIduciZNx1iuHL4lwjI4=,iv:fz6sIdtJ5LJR8xWsAysYg/6+XgN9dQUHp401/YtwmIE=,tag:kW9B3qZyCwFUzUi0HCIQxw==,type:str] -ssh_host_key_ed25519: ENC[AES256_GCM,data:9ZMQKFJojbkCayblF2NCpXTAo8Xe4oFjPNtNhTMN14gnhVSUmg5oE3Y5fwy9zYUAqq2714rBQZ72r7f4jNKzrShzRuOaX81OKvxyuTaBCVU7q292R3KVTkkw4RKg90QMQnHs9DZxyKWesbfCkO3nmDCCNB6QVKnQN+Y/01iTUzkK9F/4h9512SiysENm3eJv76MrhRfp60PH23Hpq92Ao4O7vYBKpqt4K4+T+zFbpSb8qvO/oUcjgp5tokUapJzxUm4UJBHYeEbmGB9KB/ZAdGW73e9TRujWLJ1YjjEXW+k2rD5+oUuBopdMLktpkElTO5ZVxZdbrjud5ZFGT5MM425YSkXTt52PhfW96Z08dM/GvCLdonXn6jGVT2VSlocoajzz966EDDcRNxXA8iUCgqCXQSdNrLXC4dU+hBGdXlz6oy7Jx2mebMRMVYhCCECV0hlfhgH0fk7TTIzmQc+YvO0XnFBnfmvj31m7L8ww5HHC89zTwH9XcheW7kObCPtRN6qW+lxtKeNIXT4iKB8M,iv:dYwEHTpNcqzplORzQsgTXdBsVpBP9PsATBhe1j2CIxg=,tag:xpwgeBOLgyZTDBLC4NuOKA==,type:str] -ssh_host_key_rsa: ENC[AES256_GCM,data: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,iv:hi0vB6gaq59QAraJKrdLaJ3HZ4Z7vHBzX2ol84vDQfs=,tag:LDrM8GR5xMPn3W44J/VNLA==,type:str] -kj_gpg_private_key: ENC[AES256_GCM,data:JpV8iscuOWQ2kaRQxVPuPFmAe2PqtofU5djCPDJdn+ZGG+yf/vfvOKzdOOAhjXKl3CKsaEI6XpQmGSMCTwukrTH+RmoH59RD8yjaT5a22EiTcLOPgq9Xqq+RZiS+ujnGTJSwjWH/5h3boaIjg1ulrh2FKQg7+ztT72b0m641yvj04Pkq2jcARcO5UQwrKfQDxP9IGwNuZJ7fmkqGh5azHjnDatlwVShJ/pn2M87QPd4jj0DbDXRCBKMnDVvLKLX/XVfEU3yV6APtbCHdo4Jb7uGMKSH6QOeUNGeO1saUjH5T6I2ahe6xN3eC7575MRwcfXkJgC+kiVBnPESlwDHyd4VyGEAkSQiRtLfR+Aq2NdZT+eMu7pkh3QXjUgbLFOo6pw38sY51umL4XAOeJMd6+QfJ1vW6mO+fDtdGrwh9NjKDZ17BAFXWiNT+Wnz2Yt865y5nIYXIoOHwW1dcoFQiPwD0T3iSbBlUGuFsS0u8QH93NPDVobZDSA1NfjS3nkJ851H9s9FBqVgqch4ow5d4e64ajU9RaqE/W5KmPDhFF/VrcvaiQ0KipZUM2KxMaMdCBV7UPDIHNohjKJDb4MfAncwbhdyyccytxNkdYAG2yK4XTksGS7iXUoRIGsJ1Jy5bzIamZxJb7Ic3GvU/yJ8iRic/pMvHL8X+7POc40DlB1NvDf6T6uyY8VSItdf9qZKVMN5i6wix2uC6SGa6jC5KGybfRVVDAR5OQ+qSkTpiWLHFvbHy1jRicyP+vTu/l+9aCfDgN2zbG12ykoHfnP3H8Ofa/zLMv6DpbKlvnjlBKGvfI9XhwowKzsqoHKPVWq7Qh8h+S6FpFYHS/3UcJyO70jcCxgc6V9J5Hff8bJWZOW2afRgHQoEpGamAkw2kCnHbM3fsa9KwYByF2q1SMQb4nJyB4xdm4iCFUMBIKcnR2CkbHQFGg6NJyPGO9pAr+wUvY6r3cRsnTAOPogXc9hBvmz8+7stcNYOELnICgZqmIs9ykaIO+ZDhGA2n1bMvDtN8YXvhaMHcuQG1GSDIlaRcCiU0gXdNnplNVSzLyerYu97vUfCXcEsFiT+qMCAwDQGL2n4kPFKl0QKO4Afqlo76/Uyl1mOjpwU492dZs3ODKZdF0TXXKy7fMbDsHM6L5BpJNzUI2Ec0rVc7TX5h8rks/N5ougoZjLIN2zQnfdgv27OxHjit/qlcPpTs5hyNqRtfIBx/YI1TtislClKrih4G9WKTQ2xF15PXjTYiJwSv/RZaczBpP3ylirg4Pka9xQoUMAZERXccGcZSHbh/lCCErD02bEnjdDTrrHqmvV+dmxNnfa6UST5QUoTsSIdO6Pij/SiFPZqAQ9btkh0XUNfhASQyrF74EPh3vEv2SU64VVTYXAKAwVuuO8pSil9mblvObTyWu1gogAjzwsr+TZvTdTzPiX6J3vPb+SA8rMjSS4txqYJQWFF77WUXgxWc/7i/fvrP3NLV/roPh+jPRMELNah3d5IiO64ysgDVL07ZwlfPwPKGBiHMcUMII4x/T6ExsEwJ7dZ2DrM0vmAcO4hkfoBKKIyYeVQpAximwWzCyR7XNu3FvdSlf3Paq26ehqxxr0M8hTXsvuxcB8AjpV/OHUY761yTMlDskvPgSntrN/XRpxvyec2n/N6TwE85oUfGp7cnU7RWjnHmxLU1hB/6E1NNPsBbcoWFjm5zuUCuXdTn1X6ypw448EbMbkl1CPuArm9y3spp86bBLqM8M0aTa8abaBKVOms7xIV/i8UzlS/O9TeuyGR9/7npwAfSLnULgQboqnv8p2DM5De4nnVY11jv7K64eSy94hCRJGPGFUm5+LCVYup5tLwxzlbMk2H4LAe2KDC4bOGZOyqxEK1/6Os/G26HUIy+HD2CbBlwTmGHPMvIfPcomexMe8YI2Y1gR2iKZ6hlV855AlLW/hCVIR6PPeHtb79J+UWVQ9SOX09gTCZLBfR0VmkhLWeKuOQhpLOUeK+eX7Td/ZX8mgsFy73e3GOKTwh1DqZXcuR6k8YdsYEcUzfQaQ+Ajin0LBx9OwJWxYUBq8S4q5iOSJfGexekJnh28+3jORdTlONWomCRHCCQcnX55Bu8ddVQwbpw+KzAzQPW2NiUY8fVSxrBsV8DmbQ4igAD0ta7ekssUzJ9msVtHzoTtIHySLi5RUShTwxI4D0Y0NNMMWYxxKzClp7KoVXl0rP6zE/ChXrtWmERfPGLujYhA1kyAokbg/uT/PUb+At2/ntsp8KEH0/203FJnf0QkkJzV2L5sgGg3bSTM67tBLzRxjook8Ppi3WwATOxPotZw972NZB82Zra506+R65sXh6WcZhrQLZJUsUCZHzq8mcufL1gFDH0f19hC0ElksC8Krm58ldSMxDm8bfgdH5Dhf8hD2Q9WMaWf1JZqAK/Bf/nTcQl6z9B8G7Twnbo0Aif6tconzPW5+/+W2DqHudbwTUzbKk1TscczN2YzsfwrsgnnZBUcJgvvDBKgFc5GqaMMBBZErrqZBZV0pum/ShTKMIATsfrCpbLHDHr0kiqHluIzXqnJXmVgf5yduxB/7RNf8qfzpijjemgIBjuvylO3RpC4E7fj1rVw2pt5GeP8Vqv9Tthh/ef3V8z/gkjtzqNxzSkNrrVN3v/U5bN/KoU4o4IMjlw4EavPwh8p1dE2827FkzVefu3MDA3GXKZhrtWqkW6gy8YUkYByTWMTUtKrAeJAcNrSziOJh8ePd8oFsCUuKwXEQU1sYbM8rB/lTw5dtWDxsZ54UknfiOMuq2EdbAnQW46nOxGSh+SyR9FDo7l+9QpTC0ZDDrMhbJvR4lHWpbwQfOK5uK5Q4JaUj8vRVSMFbw65cQeFBrfav1YoWP31MyepDBMdZLh3Z+rZdAr+eN3AWIUns0wLV1rIdCZTIc9r1yPaYMrKx1QhSzaqOb0lXv3qYodqB0qPbmsTBqqXqPaGxvfhEbillCAGTFVS2LI6MbFNRLviCJH1AOOOgwPTmGXDg6Xzrc5t1WjKBHwWyBuGqZbhKoH4OOmAq4ofiBnDoRDfFlVqPYgRjr6ab3SKF2xMn95IR6WrlDzanGZfUSxplaLRs8HKvvS4+AE5Uz4PRXTpwCE+Tr9mRLK2gd8D8A81rl8iOtXbOJXoLu+N6ySIg1E8uTl3tCezCuO+BEczZCX8vdToIXbh4P9gBub6qXLh2++pYsf5RmxrVC/7/eOVDA2JdkzXAOGG1REWzu5ZytIpONbvL+lc8bfTUhXzeAob9bEKhS8EMapUvDM0H47P43KP6Tkr8sebOsJX57Jr8OatlHRFIjQus1QUxKUXjNZl4t2ZG0Tdaqj0T26AwOghbuB47hMJh6OnRqLEBBltTfSTzMBIFxIARutLFztMYvejVvhs/18sQiwHlwuMHKGeepa6FbOCoX7L3HbKo6gFSarkjSpezG+ultrIaG566RXJIYxR8iJhDVCuz68zo0C+CshEKoBOb3FJ74Sb/Q76X5jaEu3jQPCApevy5ECyJ3v11U5Srli65YYpcxaXuWCdW9DZZLt22TkIz3dy9NOoMQQrTcFkSp6oUx0jxYQMOp1ApSLysR4UFW3xGiIHOp0UVywnTY9r2ewaMSkip/sFjH8CKmfBH2R3qMibYhA8bUBREtZE1lsdGj+xjFLCAyMyNchRl46OABD+vRfSgCIP9jCRYu277KKYFkT688f3l1pWkZrOCG50ylQ8E5UxoEfgpq4ivIfhL3Y4gc7QJbN/h80siSgXDa+rQFXUeEVSnaWmmdlOhuUBZpotff5e9pBnBOj1AJj7rSmKn50lIUmfIgGbehBKUAp8s9az+iW3TWrLCd4Xqfk0vB2fQFyO/8xQfQRXBebxF0cCzsbN/7Sg1OLwYGqzk3p9gi0F7o5LVtomy/JiWOO6W+XyD2/jd9KI2JSu/KDbJmlB2gn8fjnzx8RrSIAfDhJ+JziQQAr0UFKjuvunAisuCFml8rbeOEtoMnyrEabxNrl7tcdwIgkLbmtCFLCZ3Ytr5sqgv5UHqVNht7h8c+EB1ytliUH68AHRMvVJI2+aNkP1VIPdCfmIteMIUp41Zd/jBy/imYshEb807JJksJKfZ4Ovsny12P3DeYI3HWHWjoP14LHgg9FF1DkCG/92OgjQY1QEDkXYw01/PqKj2lEDkvHihRd74HSWnw4qeMvHFB00UAbDozQSMUzWxg+H/spF9zAr+GvfFdjzQTKdCmy2akjwHbLjp1TppI/8DZhNBUftZx8nN6nfcsKXNePZgnpcLFicTJ16b+Y/24PGl4dtDb+xOlUgMUt8N9sVu9aYzDJDeQimEBt0yj6iQqgdbLIOGanFBXtlnmjumnjEXABs1owzs9w7VfL4+syxJsH56rY5JbPMhJ6VbS8GbxElCE4LFFLCOmTig+VoCSobDpPVp1ytYX2woph0EVGrvPhMTVqfDsEc7yXX8jvcFkKeiGqmRmUtPXpDK8BemVrkbkbFIU18WXm24nIyoh481CG3LyI7AmBm+XzGum8KYdf9qPiKqjz6zBQ+9sW07pAYyAj1EdK9FKvP+yFBqkXioDkrr7Gm+qMvGFoppQJsoXtvw+jTGGk3vi0cm0w0hN6EE2BVku+QjkG0Q3akKWJOC/aqlMRpgj1o02XQ3G66kUYnMerdN66ZmwM8cChPXw67aL8nOZS9GI6258oEMAQRryT1gwsn4tTl+C8QzJK8YaYksguMhQMH9jXk/uyfgjb1PQ4lxBCubAftbpo1cl+ic2YJ3PDle0a+QUb2apAR+LsMaolO7r+3huYKTLi2KBQ2vxgVTpcXMsNXL5kCVxsMCoHJjWncfIsjLumJ4YsAvfO3jXu1+U1DJsoWZr4TwCIiRxNWCsCZp7tS58JIoB41gq8yH/Lqr2MXRuMVxw6L5eaqSc5a9NKwoct8Yty64uKxitK6e9oTQv+TsRtxoTsLWDSX9clCt4wq3QsrCstC8cUzjanYwbwfKYQBQi6vIggjlKlfnsGsOAR+1pmoR9GLz6Ng07Hg5eGrlfZcxCrA45NfhyRR654Fi92prq5Hms5EhjzjjiAiyn+U92Zs7Ai5cv4XhZUkZ/aNkFe2yPraKl2FXjUc9Ckm7mMlNTNj2z83Pu36JR3gWkjcqNReQcaYLtujS+bor2caF/CncVMt3sH1zRmzezx5JH6MgV178h+O/irpB8PUf21X+g5pUP2ImEFpRTC8KEHHT1eZsSDO4DJs0nj7M7o/IAXO4UkJWKooiLNbfBXc54F/ZBAZG++tL3gn5H1kUAGcsnYc1hW44wtB+svM6XIL51nAMJF/8/Bo1KgKMBJL2VIA5NiWRPJGw4JCAG6oW/toXfLrz3uCqWz1HZ7Y6LoOjguif1CJPkIKvXPIbwC6mj1V985i5pGEHrBQIkLQ4e9UC2EdyMInBUHt0k6Zf/QmD7/82JC74HpNPTaDChxZ+yEP103pphL0Dh0eFRCeiQI3SRPQxrcbfmpFXkKsKVGJeFaNq3LlQhAJeWz3eWx8turqFBKI0OkBOna2xOs8hdH4oWQYKRXv+7ghOtTv4XFFZ5ksPmxrhh8e06HO3suHi3/gAS+/0IFvKJBRI3ZARjj/yc7BO2YiY3t3MEIxOwTA5dwHTxg77JechKS6DnKQjICLOp+3oww307TBgvIjbDg9MWNXzoFyb2gwaLn1+2pkr/+IZwlBTqSUwRXhip2x8rCxSWemt+QuCSlfW4wVQfP+NdDQxFn+4DnR2YsosR3A8Ta5L6DhJH0XDpG2tpD0cMhbzvUcXIcv01pS5QXfPtNCkxjaIHCTrVJJHSRBegEn3DYbss7xHgC4pkbENj3end8iSucnUFvzp4AKnNXXP5V7L9Vxs+DCRxylY2h19vMGdIQucn/WymrQL5DsmSWYXL6GptLUHkOtIV33tlMf2zEmbZupaqDG6nj4fvDv27SGEuq71h+mtTW041rC79OrI3qGSOn/p1xum5A+2g2ylUGjTo/Arhy4Hypv0CA4y/SbIo8qMyoX//ojOSlhdiNznrGLStxsJ4wH/+VY0K95FyVC8sY/Net3xt1VjW4QSKKyGzEb6ekQR/BckhtMbyX337UeDVLBo/TfHSHAfgRNEM3mdJuyQxKPwGlAFtl/5JpL1MovIOgHVYsdH/TI9ye2o7QdZCq8ytSv27purV/azFz071GZ5QFLzCeGFPqO26pJ5qpKzbAu5OKNVcOSuNVtgi0CiHwXKQgiKTxMv+3M7AfvOQ/rujdAra8LDGomm/bKCp1Tg8UaSVp9tU2NYdwDAZsFeyZWlftqIsG+pDvEDXCVhqspubN7n8o8a5RmLtk8qd/KJ7nn/86fPLIvZbcTalQS90H6n2jvuacdMXXX7K1doyQHsdIxQKKePti7zgrZl/3egT+qOPwyb9yMcKaCR6fB/R0+xqLcN1mIMUG3SGVQuWpt9vVk8xbSu+5I6N5USSE98hG8TJaRar2oWx9msiVtQkZuDeQjuSy+7B6TdvEC68ArEP6DELhEJs7y0VxZau1aBjf45ivJu1RnEVkWCulYNNYQX6S5WgSm+4+9gh23mTnhm2UcTbgFEDNvCBnPBuXT4sQtSBSuqkNj+cC6+LD8sewgWeR3Llqq6t6Mz3RFWxUAinBkVKjBaDpnTHfGblPjMZPvAUYwNcfoBejCiu0RXed7t1osWIlucp2Fjuo1rEPV+H3vPtEhDBXbyOUpyyuWQz7swGzrhTuHVgO0wCb4nHINDr8fuedGDi84yP+0a/K8W7AkOr9JnGPBPAhEgKXB6nhGptkdPjENfRrVshEbGv3N+elKL4LbFDt3YD6zVcb9wFdAb2K/ly3w2FHkFq5TJ/fBwVIn1t5zzeCck+5HHqAxgRh8gBTuAOlBfPMkUrIo9kIcaP1Mit/BOkYp6p1MfjDJ/W55BQI7uNGNJ2+7EWVRS9Ty6fhLFSVRmHTv9Rj925ULQaKXSjC0oSyiI9zxRdXLgc3+yoOh7vxMXtsWNm416ANObixZKgppckqiHHUvMcuPSOdIebxg8i7D5lAadKAmTRZ7w8Jjsqmnr4QpH8ThqAm07ilcANHSuVljmcdGLwZjcDwHKJ8lTqrEp/+seDf7eKe5se8d242zvTjNFZ/5RAhx3UEaquk1jNYpcRBhlubb3PHrR4wUXsrlnnkZuvKo+E/HcPRkbSomQ8yLVFseNTFBNMfnpt3uQ8nbiBzYFKGUGwFVN/+oK3IAsS6DSP0PjkE9vtX33YkocybJI1IQ1KMmMmSjDxTSbM+GaDf+XmF3eLbg+DfZz2OHkO18CpAjqpMvUBtWiaZTKmUuWJ4ewuma7snuK62gEjD4qZTOipBLekBE+UsX9gOJIwCjrdWfBZble71E5W7qXo5uazYkRjhYx2uJtg0oSGwjzH1K46uMn27ulz8YWVmZui92EKcnoFhXJrmEdDakI+5bmgSoWH+2tkJpGvH0Aax0Y5XOHFXJvOAxVbOJ/RcQK5rU2ZUSMBSiVLRYO61NUZlOboHB8Og4O1C88TohWrxhS9ofpOZUKrSEirTSTSlvcH/CIkL2w2U39j+YMM+onwqW3rDB0ZUONAQRaSBo6PvidM8v6fM1uXaujTVfPX2CjFPWjfFw/mjsVyh47A5T2lQiYRkDL555lOXyWVCk7nnZrx5A5uj7RaSv9+rx+O3JNZ4lysMr1T8xxarVCbdkSqr1QmqrSXXoPlNIW0F5AvvVJt8WJ1gg7I3uxDH7Tr7VF0aVECgulspxGnBlluT8ZC7ZKfGCXCZ8yLHll2q0emiLxLZy30PSuzkrg5VZ07mF/CQ2f92i2QZJpGggPFHzGWt8RUazHKAow8zwhDT1LzSWULJdi8V8cRrauE7AlxXYL+Ol1Qs3P2QrNM6SHh+sV/8k8OtEiqgF3SU8YNmm34aiqTPHFIX2Tu/6j9lME0P7WCCTt340NGjBISvV3cX6L1m7c6BfxuTtaMgcVzXgpioLJqYpYLw/bmWYm7fbwKWloRX6ipsrTHH49z+tluiDf1SY8w0kJUO29eF0IMvfjMhRc61wJC0TsgrUHxq2Bg3AQlZ0MkIACVQCx8NBZ6kSpAg0gsOY6OHAiMBun5kgXlCYjXdHXfWOY4OfAHN2HTr0jaLPJbWK7Mdiq1uJYkHS4Vix10E0W3vVgntJwBQNPU7s3Y5jVnlKbZ56rxp297UOKsZoiO9pZUK9Db4/quWs+8J6lltsseLuJZrfOzQGkWdMKalHHu/Hsy3TPYrhIcDE2ZmyFVCawuN58xLwq842jln3ORWprR3C4Zb4RktV6vqbOr9SN3qXN7fcgZKYFjV3HiDhHGh+aHaicO9PC1Q076aq+PRO/IiadNGCc9HY7Tb4Y+46UU4y3riGdthm0XBs+cPbwHnH6BBTZxd31SFu6nzjH3ilKzgayEDq6u8GogFyA/eSPeByF+gwsLFrPp8nhS01Dj/SfHxzp933UBSCFBBK6aRDhWmDb3BvOi3nF6yXPJVOICu9iI/xcWPlxY6Ogc0tEM7hJOps/oz5UPz+itO/ninzd+J/6xlYO5YFg6WeM7xG1DhrMkavCe8L12ucbsAFGTEEhAqYE1AmiSMBPrUmVn4oOpCSD0M9w2kRjK3U7qAL60mAJX1AM/PiSQUkzQqamm9Gb6tuvrVkLVoHwM2Cm4tBjrjqlnXAzdkfHQ2aaerf99153oKgQ7RsX0zY3V+ETPBzPSu+bICXSyVtqOJ+pssmdrcW3zQcXGLgZCncpsO3+UpoI5ML9eCZTA3y182Ixfs3IdYagseJ0xTqYuyJqfS23AvxZtu8Ani5sb+BH4ITtsNcVbWepiHflMZ1qGNlon9+0qpotJE9JyTs7AQaCzW7ngNIOHP8ZIPRiis6MNIMWeh59pCSWlqotO8Ggenr5BLintn4XAOFam+NZyUpTezeAvYVF1GUVsVznbazWhQnZaSlgQgtw7OoTUTW1+TKiFbWjHUSF3WJu7XoUwI3Ce5v7g+e/ho3Qj9JUd+THZTIxRbBOmoBz3RbEsUWOL+OXE2lpnCWIvtjCSBY4EMMDLc9X4o9pRd/o53BtBQPA+9grKNHFcrkIxv9iPxlB2C/q3I0RjK4bPsbXoEp9J4bJxSF9lkFhrPD6BKq+r3DmchgZtPoE79cPcmMW1YufpFeH9MNcpb2JPp/MkJx6CuSaYQtyLjeXLpbpIAj/757fItqiF1mCbUKuxQ1wO0vJO/VVv8pw4L/Kahu4XFo/sZnIPElAmVfa2DRMgeumW+xEDa6h+PtBPlmpERjRsKmBD139iZsuJKXAu98UhWPzNDrd9wBlpoCDGVc2W9ICbdk+DBl7B5U238nFWybwaSzcsi/WlrapTb8S90oTdzWZuwMpwiKn+mig9IgC09ELetUxPIcq5LFgkwuVMzNiip2gmuJoUwIaWpPM1oReA4tHxKkV+mKw47xLaEfmGJCqqaSoEWCYfCfUQ/v+/YsTMDQ4cP5SgelR8ZAb96cnaGWbtI4TmsSNLPS+pfIpE+0Lve37hSJj8HYgDOZS0zrgxMa4C4IlBaoPnyx7KJ8W9U9ftB24xyz3kicrBSalmunKpVGnz5YUmqMD/AXsZde4379Aqvqp0r9o07KAeakfodxLFbRQuBRQ5E6CGFW4mmAZIiNMZME3y+vYDz41WFsmxBFWkI8Fe45Fx5dKuKLzUOI6OdlPPi2p0FVOnB3QuE22iaBpw8Dk7kLano4fgcKvKe7KMX1H0BJo97agwIQPS7UoeiAi16E1m/i2kghOnnA/+PmbLKhPxhyv331+Eg1D5K5tjoyFfsx85pEsoptfWdm+0LpdGXTf+XGrm/0LWYEs6p9tjnX92OooXjURWvruk32wBK8SKJ3zm2isvBAu0YVS0zp2wkjN0d/JsqJ6Cjg1E39HkdBowz4aQTASiYSWC110FpqMr4US3BaP1kvDbigXqS8YhRQGq/brKbXR4QrsNN3aRPBEXrgrDu/caClaj99lNzLG1QAdTiiwszgezM9oixGMhcHeKSAKj26CVuWLdloGjrivkx4XY3oVK/syo6XJLOCu2jLNpDBQjQ9uoAcq3/lEpPIrCfCZUSZ2rzhcqQT5hEhGJL+1AkZ2oLAArG40Ktr+Obnge40I+neto/gmYypTpQqyHsQJgz7Ec9/jSYutBPs9sdX2A7pacPbMOdGKHEc5mHr4Fl4UlRJdSEcwkTkar97v03xNM1uKDox2tgxaixzYWuy41AvP+AX/0X3caymPahNm0vRkhDOtkXDWw33z+tb22bFjicPaXZEvxTZNHT/xY/z3b7s1sMdJg/FDAU3Dz/Z+4+bmpDy8B+hY6QQ/btAsqJXF3xqSU5dZYaCColqLz7ht/z+Feh8Go66QD0PBThBGmi0sKKhdsHsjc0TFI9RF4PrHsxlkHzAXGZ84LuAjJbwTrakQFu7k0C5m6zzin3pfpaoEtU/AkjPIKE6ZoJd4NzbY0+99VkLo3Oi818Fveph9aWdWRwT8Xjzuf/oSBpzRi8tACf/yGc/YYcS+QF9pnkgmpNqUIPrz2GZ/wZKK/Yq0GuHfNWKAgdtbocDbQP0QmPv41hQAhIExJHJIPbPizFAV4lDqKElL8cKL6GxJ3gT+jH8ebAE6ewP0FjCAvx0wNuDRQeItsBseA6746ZYleLLsqYZkRyZiMsQ1RYTBjwfqsOMxK7ASDPU4JpkVN3u8lDCmXwKG7mIvqfnKbx9kmYJZ2MZ59Gu4sKbcggEeLts+vmgpnfCSGPMvil90GlWrnEziUt9QsGLvc2pl5b67es12LWVVCmNlY9EHIy/RMLwbca2FuRYkiC2ro9r7oRinuBeMKhfejWZSoJ1CVksxyohjmJez9QIRdXbVrWRz++yDPaNjCqqR66ofnSEtuacthVAHi9Y3CvTqrYLcaY5RMBhHYaNNprdLJtWESE+CDRgU+l9uxFJa9D5qNt11zqkD+IjoW8joxFnTorBt+0csr/ZOqBLIwGAOQSHakj+0qUhiJ2QeBSmLzbaaNJyIlVJiMZep9vA9sNM1oX8US0Ltm5FLSHEiXz/q8J5DsBLK3SJyI1ELeeFf/a09pYzv1ePiil5fXo705EajMce4y4FhsnjFV2BoIcK0VXdQUReAPykRuUvnyzMp+PTOfPT+Bn2Lr/3S2DW4H4b83NVc9kpDVXa21beiAjEld8jWM2zAkmE4kWNwfAY+J0ROpQqhjTJ4bNjRC/19VQIu1nHDUbohoFmktzrUdFNC+I5OGC4Y+qF2h2ZbfMeGgPzp/8n6NmOnna/Vq5Y8Smn+rxHYDKm8hv3JKjLT3L2Mz4mrvajk+Fe7nmV6WvRoGaduP1n1sbcii/q2RVFvBulaOhw116RT3fr1JHojqfwXLYapYZq8IwmYPtGE8VLyOGqCl1nUmxaOWu5zJapGDx9MMW9y5VroCElargYdqOR/QdwO1vWqCGpwqhFKL8+ajNMKaOYjisABWI6Ud8FiQIJ2IzQoFYhJb7s02K09evtAYv/JcCrVlx9rI8ferVJLhW2fRP6vYTfy+Ox5jrDwwHX326iSdvlrP5emdhHHNtEdY3/YUhnTFH2yg4Z1izSLACyW89vFGZ1ab1sRBxSzsbm4yxj75x78pBL2zGI5yDcmLPTef1b4ZjWht/CAERRxWCR1Jnl+hGG7idg5jIyXXucn6pwixgBvxhGTR2raALUHn3o5nfbfz1x+DwAAFXAInPyFr18K6CfRhEREgmteZkE1w37nUHIuxmVt6KlOdIpBV8Wcd2nCenI8pPRRWifmkiuyFKeKy484Y0Kjib6KsYZ5q6rLhbgRWjMsJB33bMYzcKUNwY2K5NmKcwrfijYbTWEDn2n2QWNDb2uM0svvWaap5yR/4JiFcJzOPfbcUZrWU8aqV6mj0LvacbPwRao5gShrx3CJS2LV0Q1Xc0GbaqeIfswCKEXMjsSiFQk5MpdeqRGI9aFNn8uDts79aAsqd0l+rEASKocORWU4ukmkg1Kllw8qajaS2CGbR09w/Z2m0yGNKGcuGQFXH97SrU+5qdSEZIldKQF7feCxutz3ZS/78yX6MYxrhK4XJ/Vj7U+FgJSObYDkC0k9/j8WP/wpIhB11IMvaiIJaT8wMLIRIB6wTwe3zYqE0OVGpJa0zDI0Qjc/6F6IIfTsCtHz+vtco8qch/4wM8qJTFwPFnNZPtsCdtEh/4KGtp5GD4r0aH6Iy83PStstpBWKWI/35QaWrtXcUyP7X60DfkiWMBCz0HEtubfPv4+nvXKM/23BvsA0iAb2kPSySKYMXcnlOnKkc+YKWiXDTJpQfeGheKoREZ9xdPfcliN7EGbu3RFo5Rz2GjDodXAU/H5s4suCgSx0XuQB1IywbvC5gCG8q8cw37VJH3vmaccFjxqrvnLB9sfNNDWrtWvpWV1Txi34FSQru2FVtkYNJ20yy9/mT0c7/k0LHF5FwAvlDiL+yEQeQVner4Une5tPb519epJZS4W0ZTKecw17d3ro3w9hE/C1LFFMLAQQHAFO08ytL+VJCJjoaCrqA+N3DOIIBa93CzTEWH/FFIazgAZxjhaTPyPgepphNKMb3k1zZg7BQzQ6Efa3Kb6n6i6kg7cSQ+KHN6btNlBemfgkkRqBLpVLTt4VOiZBCVz/3ISvBn3Ezc9FF1caPcuKL0Hw/teuGPV26KDgfhNalp+BQJJCj3rBLwnkHl9QOCcoJEUDLF/1V40xNXOTVAuMswNXX7NGRn/LT7234+WRPMzySbfNCP7tcCyLTOp8jPByX5KhFdeaNDu+pJIraGhSYQab41JIk12VWghHuFvU+E4gRSbfGWxKecQRd93w8KNbsJBUxwrXsbilvdyBa/uj4rLUc1ZC499DOuo1vo70VhONZJjBho0IPUgZ/NwksES1A/CK/s/gZFHj1yLx/9YDYY9hHpcmTLxuCTMIhBxNcz6fILKNuTSnAAo1TwoyXhVyXwuYvidmbS8BH2/Bk3qImpejEbV0w1wVV1Mw7sGbevBxfOzE8WSSkSVnStW/TA3hvdPh2FBQYXT7rbmYQy+0Zvpl5kZiz3cKETgo1xmzxpSne3C9d1obddukQ3Vz3gs9Juk7SJ/1ICj5HNtVuPTaRtGm4HfNcVpU3HubhSqJlAPExQ0HqSvwlbJqditqLop+01Hl/4jhlkk9IR5s/ax8bloshqd9WSsVGP/P03N5pbhTiUpK6iyBWqEiGZ/kun6CRY8cjDTzDfpOBc+VAhRm3O7ZpXJKLhKiYoy+wgpLu+SgYJBv5wVZkoK/HGmq80S/i1rPW/HtaNFfoqTj2GadP0skUbfJEli+QaUb4WvOwt5wN2hoNMxEClHKBx10t00EbuZ1L/PYPo6cUqGnmF1pX8dUDrsMzw73UPiywaFzUqjr7Q5yDhNcJ4Qm0=,iv:ld5M7oCo2bD2kPHl0wPAMFz0NZe4kHjiUiNHrAMWr9w=,tag:mSAnqbYfvo+hLmn7Hv8liw==,type:str] -kj_id_ed25519: ENC[AES256_GCM,data:WFJC1Xcdyewu5bPRkFcsO0YpVkEpTevqVnKv0OTHrGMfktQ8S6zzmDpw6c4l35H2R9J671/f5lzSFqfooRtVSRuwmN3KQW3NF7yYeqwXgy5zgB0bxYGl2o43rdiRXGbIz/CyV2TpfjtKvwtFZnC99Z3SiGLV+FtN7eqbi2xHZENeKbRQjvsvP+i3uhbJrvKbOuHBfJsWCVUhBh5rJ8Dp6mQvWBnyOhSYWb/daFMmcw9tDWkrScOqxTluiggUwEuvKS4B7MqgKcCOvDjJWjwWFIZ66XjIBzpg2SS2ocqsxjCj5IMDsYuxPYS2xbiERp/DR9PTusH45NjJOZF8mrenS6oyAnVh8TfpEZX3A50tprFQeR9/eq/3T9xtAqtg2o1kqWMWyw041fl2ClDPIj9HZCAEmlzJG3gRTNMu9kVtpnIs3Po+sH5zZDMzPjh3N9ppXRnyCiFFSi90FoQxR40yBP+nqCQS2YgK7BxKBruG2jH/335a88Vz+5j87mojGiaFMd5G7Z16AF9sdXsDOwrKJEmX365sYBh1m56T1w2zs3cKGrg=,iv:DzaX0jaKwVf8B+5qDt0akudIbwJeufSYafsLOqguAR8=,tag:8jcv5SBAtwIMF3d1bWjVyg==,type:str] -fastmail_app_password: ENC[AES256_GCM,data:LVn6eSkZ4SnWiVIll5rpZw==,iv:CkG7RWHr/J2ouogBtkPr1NkCo74fAsij/ERSuoV77LI=,tag:moaNFDBcc8HOO1CyHE2qxw==,type:str] -sops: - age: - - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjcStlNG9XU3doNGZJRFJo - cFBKd0tRZldsbkZ4OWNYMEVMQW1qdDZtVW1NCkR2WEx0YUVucXZYZ08vR3BLRGEz - Z0JiN3F2alRJSlNJQW1hM2VmU1BHNTQKLS0tIGZqOHFOclZIL3FHbk4vWjFPRVF3 - bll4UnRLbHJ3VktRZ0VPa1B3TVViU3MK8DgbP+wqDfyM8efZ5I/mryH9+V4tc+BZ - yjlJl6rFdgsz6piKK7577Kn97nOTej1UiFvRL3uC5R3pHSY2OUVI+A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYc2YzbmdMRjBCOXZ5UUlH - Y0d5SWdsdE9hZUZCSXh3V3ZmSkZuR3hvWmlnCno2UmowdzNwZjRRM1E1Q0NEOFlI - V1FrdU41UXBIUzhiTWkwdDdTYkVzT0EKLS0tIENWNW96MWxjYUtPRzlndkNTY3RC - UDVDZ2luUHlCQVd0aGFQTkY1Uk1yRnMKwstz0FxW/34F05oXBIuOHJwGTrZydHzr - Vv8g5OnJyFoq+VYkKP1nbwjViYX+4eX0kfWWyWmk3jZw9qw5XgJXVA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-01-08T21:51:24Z" - mac: ENC[AES256_GCM,data:iqptz3t1uwnlmQ37JqAybB9ZpOZPwziPO5VZI6iQ6mKt1o6EBo1oGBVoUSnVq+lhFcsoZqo99P4E3M2kTJW7oZDXdpdTWqxaCNf3lt9wPtd7vVI8ChqYeMzhzTVlDA0elgJvQM6pmJ0cNVg+R1a/3yyWWOhTBAzIkHqEXyFkmv0=,iv:qBjORXPYSvGDp12GXfbmz1SpwnGZMVPRKvBE0QUCz+0=,tag:BZju/qVz+32EemVDAWzLZg==,type:str] - unencrypted_suffix: _unencrypted - version: 3.11.0 diff --git a/labsrv01/secureboot.nix b/labsrv01/secureboot.nix deleted file mode 100644 index 29bff21..0000000 --- a/labsrv01/secureboot.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ - inputs, - lib, - pkgs, - config, - ... -}: -let - sb-do-enroll-keys = pkgs.writeShellApplication { - name = "sb-do-enroll-keys"; - text = '' - set -ex; - ${pkgs.sbctl}/bin/sbctl enroll-keys - ''; - }; - sb-do-enroll-tpm = pkgs.writeShellApplication { - name = "sb-do-enroll-tpm"; - runtimeInputs = [ pkgs.tpm2-tss ]; - text = '' - set -ex; - LUKS_DEVICE="${config.disko.devices.disk.nvme0n1.content.partitions.luks.device}" - ${pkgs.systemd}/bin/systemd-cryptenroll --wipe-slot=tpm2 --tpm2-device=auto --tpm2-pcrs=0+7 "''${LUKS_DEVICE}" - ''; - }; -in -{ - imports = [ - inputs.lanzaboote.nixosModules.lanzaboote - ]; - - environment.systemPackages = [ - pkgs.sbctl - sb-do-enroll-keys - sb-do-enroll-tpm - ]; - - # Lanzaboote currently replaces the systemd-boot module. - # This setting is usually set to true in configuration.nix - # generated at installation time. So we force it to false - # for now. - boot.loader.systemd-boot.enable = lib.mkForce false; - boot.initrd.systemd.enable = true; - boot.initrd.systemd.tpm2.enable = true; - - boot.lanzaboote = { - enable = true; - pkiBundle = "/var/lib/sbctl"; - }; - - # Create and enroll Secure Boot keys on first boot - systemd.services.sbctl-setup = { - description = "Create and enroll Secure Boot keys"; - wantedBy = [ "multi-user.target" ]; - unitConfig.ConditionPathExists = "!/var/lib/sbctl/GUID"; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - echo "Creating Secure Boot keys..." - ${pkgs.sbctl}/bin/sbctl create-keys - ''; - }; -} diff --git a/labsrv01/zsh-config.zsh b/labsrv01/zsh-config.zsh deleted file mode 100644 index 1c38138..0000000 --- a/labsrv01/zsh-config.zsh +++ /dev/null @@ -1,48 +0,0 @@ -# Initialize completion system -autoload -Uz compinit -compinit - -# Initialize prompt system -autoload -Uz promptinit -promptinit - -# Set options -setopt extendedglob nomatch notify - -# Define gentoo prompt theme -prompt_gentoo_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt gentoo [ [ []]] - -EOF -} - -prompt_gentoo_setup () { - local prompt_gentoo_prompt=${1:-'blue'} - local prompt_gentoo_user=${2:-'green'} - local prompt_gentoo_root=${3:-'red'} - - if [ "$USER" = 'root' ] - then - local base_prompt="%B%F{$prompt_gentoo_root}%m%k " - else - local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " - fi - local post_prompt="%b%f%k" - - local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" - typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" - typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" - typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" -} - -# Register the prompt with promptinit -prompt_themes+=( gentoo ) - -# Use the gentoo prompt -prompt gentoo - -# Make sure GPG & SSH keys are properly imported -systemctl --user start manage-secrets.service 2>/dev/null || true diff --git a/machines/kj-laptop01/configuration.nix b/machines/kj-laptop01/configuration.nix new file mode 100644 index 0000000..610ecd3 --- /dev/null +++ b/machines/kj-laptop01/configuration.nix @@ -0,0 +1,134 @@ +{ + modulesPath, + lib, + pkgs, + sops, + config, + ... +}@args: +{ + imports = [ + ./disk-config.nix + ]; + + nix = { + extraOptions = '' + experimental-features = ca-derivations nix-command flakes + ''; + settings = { + substituters = [ + "https://cache.nixos.org" + "https://cache.ngi0.nixos.org/" + ]; + trusted-public-keys = [ + "cache.ngi0.nixos.org-1:KqH5CBLNSyX184S9BKZJo1LxrxJ9ltnY2uAs5c/f1MA=" + ]; + }; + }; + + sops = { + defaultSopsFile = ./secrets.yaml; + age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + age.generateKey = false; + + secrets = { + luks_passphrase = { }; + kj_hashed_password = { + neededForUsers = true; + }; + ssh_host_key_ed25519 = { }; + ssh_host_key_rsa = { }; + }; + }; + + boot.loader.systemd-boot.enable = true; + system.stateVersion = "25.05"; + swapDevices = [ + { + device = "/swap/swapfile"; + size = 32768; + } + ]; + + security.sudo.enable = true; + users.mutableUsers = false; + users.groups.kjtsanaktsidis = { }; + users.users = { + kjtsanaktsidis = { + createHome = true; + isNormalUser = true; + description = "KJ Tsanaktsidis"; + group = "kjtsanaktsidis"; + extraGroups = [ + "wheel" + "networkmanager" + ]; + shell = pkgs.zsh; + hashedPasswordFile = config.sops.secrets.kj_hashed_password.path; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" + ]; + }; + }; + + # Enable systemd-resolved for DNS + services.resolved = { + enable = true; + llmnr = "true"; + extraConfig = '' + MulticastDNS=yes + ''; + }; + networking.hostName = "kj-laptop01"; + networking.nameservers = [ "127.0.0.53" ]; + networking.networkmanager = { + enable = true; + dns = "systemd-resolved"; + # Enable mDNS on NetworkManager connections + connectionConfig = { + "connection.mdns" = "2"; # 2 = yes (resolve & register) + }; + }; + + services.openssh = { + enable = true; + hostKeys = [ + { + type = "ed25519"; + path = config.sops.secrets.ssh_host_key_ed25519.path; + } + { + type = "rsa"; + path = config.sops.secrets.ssh_host_key_rsa.path; + } + ]; + }; + + environment.systemPackages = with pkgs; []; + + # Enable zsh system-wide + programs.zsh.enable = true; + + # Disable Alt+Left/Right virtual terminal switching + console.keyMap = "us"; + + # Create systemd service to disable only Alt+Arrow VT switching + systemd.services.disable-alt-arrow-vt = { + description = "Disable Alt+Arrow VT switching"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-vconsole-setup.service" ]; + script = '' + # Define string sequences for Alt+Arrow that generate proper terminal escape sequences + cat << 'EOF' | ${pkgs.kbd}/bin/loadkeys + string F200 = "\033[1;3D" + string F201 = "\033[1;3C" + alt keycode 105 = F200 + alt keycode 106 = F201 + EOF + ''; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; +} diff --git a/machines/kj-laptop01/disk-config.nix b/machines/kj-laptop01/disk-config.nix new file mode 100644 index 0000000..b0f74c9 --- /dev/null +++ b/machines/kj-laptop01/disk-config.nix @@ -0,0 +1,83 @@ +{ + config, + ... +}: +{ + disko.devices = { + disk.nvme0n1 = { + device = "/dev/nvme0n1"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + esp = { + name = "ESP"; + start = "1MiB"; + size = "1023M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + luks = { + name = "cryptroot"; + type = "8300"; + size = "100%"; + content = { + type = "luks"; + name = "crypted"; + passwordFile = config.sops.secrets.luks_passphrase.path; + settings = { + allowDiscards = true; + bypassWorkqueues = true; + }; + content = { + type = "btrfs"; + subvolumes = { + "@" = { }; + "@/root" = { + mountpoint = "/"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/home" = { + mountpoint = "/home"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/var" = { + mountpoint = "/var"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/nix" = { + mountpoint = "/nix"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/swap" = { + mountpoint = "/swap"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/machines/kj-laptop01/facter.json b/machines/kj-laptop01/facter.json new file mode 100644 index 0000000..aadd9b4 --- /dev/null +++ b/machines/kj-laptop01/facter.json @@ -0,0 +1,4100 @@ +{ + "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": 770 + }, + "bluetooth": [ + { + "index": 43, + "attached_to": 41, + "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": "8087", + "value": 32903 + }, + "device": { + "hex": "0026", + "value": 38 + }, + "revision": { + "hex": "0000", + "name": "0.02", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", + "sysfs_bus_id": "3-10: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:v8087p0026d0002dcE0dsc01dp01icE0isc01ip01in00" + }, + { + "index": 48, + "attached_to": 41, + "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": "8087", + "value": 32903 + }, + "device": { + "hex": "0026", + "value": 38 + }, + "revision": { + "hex": "0000", + "name": "0.02", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", + "sysfs_bus_id": "3-10: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:v8087p0026d0002dcE0dsc01dp01icE0isc01ip01in01" + } + ], + "bridge": [ + { + "index": 12, + "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": "a0b8", + "value": 41144 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1c.0", + "sysfs_bus_id": "0000:00:1c.0", + "sysfs_iommu_group_id": 10, + "resources": [ + { + "type": "irq", + "base": 127, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 8, + "irq": 127, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": ["pcieport"], + "driver_modules": ["pcieportdrv"], + "module_alias": "pci:v00008086d0000A0B8sv000017AAsd000022C9bc06sc04i00" + }, + { + "index": 14, + "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": "a082", + "value": 41090 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A082sv000017AAsd000022C9bc06sc01i00" + }, + { + "index": 15, + "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": "a0bf", + "value": 41151 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1c.7", + "sysfs_bus_id": "0000:00:1c.7", + "sysfs_iommu_group_id": 11, + "resources": [ + { + "type": "irq", + "base": 128, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 7, + "command": 1031, + "header_type": 1, + "secondary_bus": 10, + "irq": 128, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": ["pcieport"], + "driver_modules": ["pcieportdrv"], + "module_alias": "pci:v00008086d0000A0BFsv000017AAsd000022C9bc06sc04i00" + }, + { + "index": 17, + "attached_to": 0, + "class_list": ["pci", "bridge"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "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": "9a27", + "value": 39463 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.2", + "sysfs_bus_id": "0000:00:07.2", + "sysfs_iommu_group_id": 0, + "resources": [ + { + "type": "irq", + "base": 126, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 80, + "irq": 126, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": ["pcieport"], + "driver_modules": ["pcieportdrv"], + "module_alias": "pci:v00008086d00009A27sv000017AAsd000022C9bc06sc04i00" + }, + { + "index": 22, + "attached_to": 0, + "class_list": ["pci", "bridge"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "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": "9a25", + "value": 39461 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.0", + "sysfs_bus_id": "0000:00:07.0", + "sysfs_iommu_group_id": 1, + "resources": [ + { + "type": "irq", + "base": 125, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 32, + "irq": 125, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": ["pcieport"], + "driver_modules": ["pcieportdrv"], + "module_alias": "pci:v00008086d00009A25sv000017AAsd000022C9bc06sc04i00" + }, + { + "index": 26, + "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": "9a14", + "value": 39444 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "sysfs_iommu_group_id": 3, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d00009A14sv000017AAsd000022C9bc06sc00i00" + }, + { + "index": 27, + "attached_to": 0, + "class_list": ["pci", "bridge"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 6 + }, + "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": "9a09", + "value": 39433 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0", + "sysfs_bus_id": "0000:00:06.0", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 124, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 4, + "irq": 124, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": ["pcieport"], + "driver_modules": ["pcieportdrv"], + "module_alias": "pci:v00008086d00009A09sv000017AAsd000022C9bc06sc04i00" + } + ], + "camera": [ + { + "index": 40, + "attached_to": 41, + "class_list": ["camera", "usb"], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "04f2", + "name": "Chicony Electronics Co., Ltd.", + "value": 1266 + }, + "device": { + "hex": "b6d0", + "name": "Integrated Camera", + "value": 46800 + }, + "revision": { + "hex": "0000", + "name": "59.18", + "value": 0 + }, + "serial": "0001", + "model": "Chicony Electronics Integrated Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.2", + "sysfs_bus_id": "3-4:1.2", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 2, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc01ip01in02" + }, + { + "index": 42, + "attached_to": 41, + "class_list": ["camera", "usb"], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "04f2", + "name": "Chicony Electronics Co., Ltd.", + "value": 1266 + }, + "device": { + "hex": "b6d0", + "name": "Integrated Camera", + "value": 46800 + }, + "revision": { + "hex": "0000", + "name": "59.18", + "value": 0 + }, + "serial": "0001", + "model": "Chicony Electronics Integrated Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0", + "sysfs_bus_id": "3-4:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc01ip00in00" + }, + { + "index": 45, + "attached_to": 41, + "class_list": ["camera", "usb"], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "04f2", + "name": "Chicony Electronics Co., Ltd.", + "value": 1266 + }, + "device": { + "hex": "b6d0", + "name": "Integrated Camera", + "value": 46800 + }, + "revision": { + "hex": "0000", + "name": "59.18", + "value": 0 + }, + "serial": "0001", + "model": "Chicony Electronics Integrated Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.3", + "sysfs_bus_id": "3-4:1.3", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 1, + "interface_number": 3, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc02ip01in03" + }, + { + "index": 47, + "attached_to": 41, + "class_list": ["camera", "usb"], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "04f2", + "name": "Chicony Electronics Co., Ltd.", + "value": 1266 + }, + "device": { + "hex": "b6d0", + "name": "Integrated Camera", + "value": 46800 + }, + "revision": { + "hex": "0000", + "name": "59.18", + "value": 0 + }, + "serial": "0001", + "model": "Chicony Electronics Integrated Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.1", + "sysfs_bus_id": "3-4:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01ic0Eisc02ip00in01" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "family": 6, + "model": 140, + "stepping": 1, + "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", + "tsc_known_freq", + "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", + "cat_l2", + "cdp_l2", + "ssbd", + "ibrs", + "ibpb", + "stibp", + "ibrs_enhanced", + "tpr_shadow", + "flexpriority", + "ept", + "vpid", + "ept_ad", + "fsgsbase", + "tsc_adjust", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "rdt_a", + "avx512f", + "avx512dq", + "rdseed", + "adx", + "smap", + "avx512ifma", + "clflushopt", + "clwb", + "intel_pt", + "avx512cd", + "sha_ni", + "avx512bw", + "avx512vl", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "split_lock_detect", + "user_shstk", + "dtherm", + "ida", + "arat", + "pln", + "pts", + "hwp", + "hwp_notify", + "hwp_act_window", + "hwp_epp", + "hwp_pkg_req", + "vnmi", + "avx512vbmi", + "umip", + "pku", + "ospke", + "avx512_vbmi2", + "gfni", + "vaes", + "vpclmulqdq", + "avx512_vnni", + "avx512_bitalg", + "avx512_vpopcntdq", + "rdpid", + "movdiri", + "movdir64b", + "fsrm", + "avx512_vp2intersect", + "md_clear", + "ibt", + "flush_l1" + ], + "bugs": [ + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "swapgs", + "eibrs_pbrsb", + "gds", + "bhi", + "spectre_v2_user", + "old_microcode", + "its", + "its_native_only" + ], + "bogo": 5606.4, + "cache": 12288, + "units": 16, + "physical_id": 0, + "siblings": 8, + "cores": 4, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 27, + "write_protect": false, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": "0x27", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 36, + "attached_to": 30, + "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 MZVLB1T0HBLR-000L7", + "value": 43016 + }, + "sub_device": { + "hex": "a801", + "value": 43009 + }, + "serial": "S4EMNX0R530959", + "model": "SAMSUNG MZVLB1T0HBLR-000L7", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:04: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-id/nvme-SAMSUNG_MZVLB1T0HBLR-000L7_S4EMNX0R530959", + "/dev/disk/by-id/nvme-SAMSUNG_MZVLB1T0HBLR-000L7_S4EMNX0R530959_1", + "/dev/disk/by-id/nvme-eui.0025388511b126ba", + "/dev/disk/by-path/pci-0000:04:00.0-nvme-1", + "/dev/nvme0n1" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 976762, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 2000409264, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": ["nvme"], + "driver_modules": ["nvme"] + }, + { + "index": 37, + "attached_to": 32, + "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": "0781", + "name": "SanDisk", + "value": 1921 + }, + "device": { + "hex": "5581", + "name": "Sandisk Ultra", + "value": 21889 + }, + "revision": { + "hex": "0000", + "name": "PMAP", + "value": 0 + }, + "serial": "AF2F00011030", + "model": "SanDisk Sandisk Ultra", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "0:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1: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-id/usb-SanDisk_Sandisk_Ultra_A20013F341FFFF01-0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:1: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": 15120, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 30965760, + "value_2": 512 + } + ], + "driver": "usb-storage", + "driver_module": "usb_storage", + "drivers": ["sd", "usb-storage"], + "driver_modules": ["sd_mod", "usb_storage"], + "module_alias": "usb:v0781p5581d0100dc00dsc00dp00ic08isc06ip50in00" + } + ], + "graphics_card": [ + { + "index": 31, + "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": "9a49", + "value": 39497 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "sysfs_iommu_group_id": 2, + "resources": [ + { + "type": "io", + "base": 12288, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 204, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 274877906944, + "range": 268435456, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413323493376, + "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": 204, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": ["i915"], + "driver_modules": ["i915"], + "module_alias": "pci:v00008086d00009A49sv000017AAsd000022C9bc03sc00i00" + } + ], + "hub": [ + { + "index": 41, + "attached_to": 32, + "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.16.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.16", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.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", + "driver_module": "usbcore", + "drivers": ["hub"], + "driver_modules": ["usbcore"], + "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 44, + "attached_to": 32, + "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.16.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.16", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.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", + "driver_module": "usbcore", + "drivers": ["hub"], + "driver_modules": ["usbcore"], + "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 46, + "attached_to": 13, + "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.16.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.16", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", + "driver_module": "usbcore", + "drivers": ["hub"], + "driver_modules": ["usbcore"], + "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 50, + "attached_to": 13, + "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.16.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.16", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.16.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", + "driver_module": "usbcore", + "drivers": ["hub"], + "driver_modules": ["usbcore"], + "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" + } + ], + "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": 24909262848, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 25769803776 + } + ] + } + ], + "monitor": [ + { + "index": 35, + "attached_to": 31, + "class_list": ["monitor"], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "09e5", + "name": "BOE CQ", + "value": 2533 + }, + "device": { + "hex": "09de", + "value": 2526 + }, + "serial": "0", + "model": "BOE CQ LCD Monitor", + "resources": [ + { + "type": "monitor", + "width": 1920, + "height": 1080, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 309, + "value_2": 174 + } + ], + "detail": { + "manufacture_year": 2020, + "manufacture_week": 32, + "vertical_sync": { + "min": 40, + "max": 60 + }, + "horizontal_sync": { + "min": 74, + "max": 74 + }, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 1968, + "sync_end": 2000, + "total": 2220 + }, + "vertical_sync_timings": { + "disp": 1080, + "sync_start": 1083, + "sync_end": 1089, + "total": 1240 + }, + "clock": 165170, + "width": 1920, + "height": 1080, + "width_millimetres": 309, + "height_millimetres": 174, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "BOE CQ", + "name": "" + }, + "driver_info": { + "type": "display", + "width": 1920, + "height": 1080, + "vertical_sync": { + "min": 40, + "max": 60 + }, + "horizontal_sync": { + "min": 74, + "max": 74 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 1968, + "sync_end": 2000, + "total": 2220 + }, + "vertical_sync_timings": { + "disp": 1080, + "sync_start": 1083, + "sync_end": 1089, + "total": 1240 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 55, + "attached_to": 0, + "bus_type": { + "hex": "0080", + "name": "ps2", + "value": 128 + }, + "base_class": { + "hex": "0118", + "name": "touchpad", + "value": 280 + }, + "sub_class": { + "hex": "0000", + "name": "ps2", + "value": 0 + }, + "vendor": { + "hex": "0002", + "value": 2 + }, + "device": { + "hex": "0007", + "value": 7 + }, + "sysfs_id": "/devices/platform/i8042/serio1/input/input6", + "unix_device_names": ["/dev/input/event7", "/dev/input/ + handler"] + } + ], + "network_controller": [ + { + "index": 19, + "attached_to": 0, + "class_list": ["network_controller", "pci", "wlan_card"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0082", + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "a0f0", + "value": 41200 + }, + "sub_device": { + "hex": "0070", + "value": 112 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 8, + "unix_device_name": "wlp0s20f3", + "unix_device_names": ["wlp0s20f3"], + "resources": [ + { + "type": "hwaddr", + "address": 101 + }, + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342121984, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 101 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "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" + ], + "auth_modes": ["open", "sharedkey", "wpa-psk", "wpa-eap"], + "enc_modes": ["WEP40", "WEP104", "TKIP", "CCMP"] + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"], + "module_alias": "pci:v00008086d0000A0F0sv00008086sd00000070bc02sc80i00" + }, + { + "index": 29, + "attached_to": 0, + "class_list": ["network_controller", "pci"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "15fc", + "value": 5628 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.6", + "sysfs_bus_id": "0000:00:1f.6", + "sysfs_iommu_group_id": 12, + "unix_device_name": "enp0s31f6", + "unix_device_names": ["enp0s31f6"], + "resources": [ + { + "type": "hwaddr", + "address": 102 + }, + { + "type": "irq", + "base": 193, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3159359488, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 102 + } + ], + "detail": { + "function": 6, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 193, + "prog_if": 0 + }, + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": ["e1000e"], + "driver_modules": ["e1000e"], + "module_alias": "pci:v00008086d000015FCsv000017AAsd000022C9bc02sc00i00" + } + ], + "network_interface": [ + { + "index": 51, + "attached_to": 19, + "class_list": ["network_interface"], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/wlp0s20f3", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", + "unix_device_name": "wlp0s20f3", + "unix_device_names": ["wlp0s20f3"], + "resources": [ + { + "type": "hwaddr", + "address": 101 + }, + { + "type": "phwaddr", + "address": 101 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"] + }, + { + "index": 52, + "attached_to": 29, + "class_list": ["network_interface"], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp0s31f6", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.6", + "unix_device_name": "enp0s31f6", + "unix_device_names": ["enp0s31f6"], + "resources": [ + { + "type": "hwaddr", + "address": 102 + }, + { + "type": "phwaddr", + "address": 102 + } + ], + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": ["e1000e"], + "driver_modules": ["e1000e"] + }, + { + "index": 53, + "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"] + }, + { + "index": 54, + "attached_to": 0, + "class_list": ["network_interface"], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0080", + "name": "Network Interface", + "value": 128 + }, + "model": "Network Interface", + "sysfs_id": "/class/net/wwan0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1c.0/0000:08:00.0/mhi0/wwan/wwan0", + "unix_device_name": "wwan0", + "unix_device_names": ["wwan0"], + "driver": "wwan", + "drivers": ["wwan"] + } + ], + "pci": [ + { + "index": 16, + "attached_to": 12, + "class_list": ["pci", "unknown"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 8, + "number": 0 + }, + "base_class": { + "hex": "00ff", + "name": "Unclassified device", + "value": 255 + }, + "vendor": { + "hex": "1eac", + "value": 7852 + }, + "sub_vendor": { + "hex": "1eac", + "value": 7852 + }, + "device": { + "hex": "1001", + "value": 4097 + }, + "sub_device": { + "hex": "2001", + "value": 8193 + }, + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:08:00.0", + "sysfs_bus_id": "0000:08:00.0", + "sysfs_iommu_group_id": 14, + "resources": [ + { + "type": "irq", + "base": 171, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3157262336, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 3157266432, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 171, + "prog_if": 0 + }, + "driver": "mhi-pci-generic", + "driver_module": "mhi_pci_generic", + "drivers": ["mhi-pci-generic"], + "driver_modules": ["mhi_pci_generic"], + "module_alias": "pci:v00001EACd00001001sv00001EACsd00002001bcFFsc00i00" + }, + { + "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": "9a03", + "value": 39427 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:04.0", + "sysfs_bus_id": "0000:00:04.0", + "sysfs_iommu_group_id": 4, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341843456, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 2, + "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:v00008086d00009A03sv000017AAsd000022C9bc11sc80i00" + }, + { + "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": "a0e0", + "value": 41184 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:16.0", + "sysfs_bus_id": "0000:00:16.0", + "sysfs_iommu_group_id": 9, + "resources": [ + { + "type": "irq", + "base": 137, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342158848, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 137, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": ["mei_me"], + "driver_modules": ["mei_me"], + "module_alias": "pci:v00008086d0000A0E0sv000017AAsd000022C9bc07sc80i00" + }, + { + "index": 21, + "attached_to": 15, + "class_list": ["pci", "unknown"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 10, + "number": 0 + }, + "base_class": { + "hex": "00ff", + "name": "Unclassified device", + "value": 255 + }, + "vendor": { + "hex": "10ec", + "value": 4332 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "522a", + "value": 21034 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:1c.7/0000:0a:00.0", + "sysfs_bus_id": "0000:0a:00.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 170, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3156213760, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 170, + "prog_if": 0 + }, + "driver": "rtsx_pci", + "driver_module": "rtsx_pci", + "drivers": ["rtsx_pci"], + "driver_modules": ["rtsx_pci"], + "module_alias": "pci:v000010ECd0000522Asv000017AAsd000022C9bcFFsc00i00" + }, + { + "index": 23, + "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": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "a0a4", + "value": 41124 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", + "sysfs_bus_id": "0000:00:1f.5", + "sysfs_iommu_group_id": 12, + "resources": [ + { + "type": "mem", + "base": 2692743168, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 5, + "command": 1026, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "intel-spi", + "driver_module": "spi_intel_pci", + "drivers": ["intel-spi"], + "driver_modules": ["spi_intel_pci"], + "module_alias": "pci:v00008086d0000A0A4sv000017AAsd000022C9bc0Csc80i00" + }, + { + "index": 28, + "attached_to": 0, + "class_list": ["pci", "unknown"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0005", + "name": "Memory controller", + "value": 5 + }, + "sub_class": { + "hex": "0000", + "name": "RAM memory", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "a0ef", + "value": 41199 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel RAM memory", + "sysfs_id": "/devices/pci0000:00/0000:00:14.2", + "sysfs_bus_id": "0000:00:14.2", + "sysfs_iommu_group_id": 7, + "resources": [ + { + "type": "mem", + "base": 413342138368, + "range": 16384, + "enabled": false, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342162944, + "range": 4096, + "enabled": false, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A0EFsv000017AAsd000022C9bc05sc00i00" + }, + { + "index": 33, + "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": "a0a3", + "value": 41123 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", + "sysfs_bus_id": "0000:00:1f.4", + "sysfs_iommu_group_id": 12, + "resources": [ + { + "type": "io", + "base": 61344, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342154752, + "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:v00008086d0000A0A3sv000017AAsd000022C9bc0Csc05i00" + } + ], + "sound": [ + { + "index": 25, + "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": "a0c8", + "value": 41160 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "sysfs_iommu_group_id": 12, + "resources": [ + { + "type": "irq", + "base": 205, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413340270592, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342105600, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 205, + "prog_if": 128 + }, + "driver": "sof-audio-pci-intel-tgl", + "driver_module": "snd_sof_pci_intel_tgl", + "drivers": ["sof-audio-pci-intel-tgl"], + "driver_modules": ["snd_sof_pci_intel_tgl"], + "module_alias": "pci:v00008086d0000A0C8sv000017AAsd000022C9bc04sc03i80" + } + ], + "storage_controller": [ + { + "index": 30, + "attached_to": 27, + "class_list": ["storage_controller", "pci"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "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:06.0/0000:04:00.0", + "sysfs_bus_id": "0000:04:00.0", + "sysfs_iommu_group_id": 13, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3158310912, + "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": 38, + "attached_to": 41, + "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": "00bd", + "value": 189 + }, + "serial": "13899f4d8720", + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0", + "sysfs_bus_id": "3-3: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:v06CBp00BDd0000dcFFdsc10dpFFicFFisc00ip00in00" + }, + { + "index": 39, + "attached_to": 41, + "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": "04f2", + "name": "Chicony Electronics Co., Ltd.", + "value": 1266 + }, + "device": { + "hex": "b6d0", + "name": "Integrated Camera", + "value": 46800 + }, + "revision": { + "hex": "0000", + "name": "59.18", + "value": 0 + }, + "serial": "0001", + "model": "Chicony Electronics Integrated Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.4", + "sysfs_bus_id": "3-4:1.4", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00fe", + "name": "application", + "value": 254 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 4, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "00fe", + "name": "application", + "value": 254 + }, + "function_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_protocol": 0, + "interface_count": 1, + "first_interface": 4 + } + }, + "hotplug": "usb", + "module_alias": "usb:v04F2pB6D0d5918dcEFdsc02dp01icFEisc01ip01in04" + } + ], + "usb_controller": [ + { + "index": 13, + "attached_to": 0, + "class_list": ["usb_controller", "pci"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "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": "9a13", + "value": 39443 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", + "sysfs_bus_id": "0000:00:0d.0", + "sysfs_iommu_group_id": 6, + "resources": [ + { + "type": "irq", + "base": 129, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342040064, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 129, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": ["xhci_hcd"], + "driver_modules": ["xhci_pci"], + "module_alias": "pci:v00008086d00009A13sv000017AAsd000022C9bc0Csc03i30" + }, + { + "index": 24, + "attached_to": 0, + "class_list": ["usb_controller", "pci"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "9a1d", + "value": 39453 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.3", + "sysfs_bus_id": "0000:00:0d.3", + "sysfs_iommu_group_id": 6, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341319168, + "range": 262144, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342167040, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": ["thunderbolt"], + "driver_modules": ["thunderbolt"], + "module_alias": "pci:v00008086d00009A1Dsv000017AAsd000022C9bc0Csc03i40" + }, + { + "index": 32, + "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": "a0ed", + "value": 41197 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 7, + "resources": [ + { + "type": "irq", + "base": 138, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341974528, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 138, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": ["xhci_hcd"], + "driver_modules": ["xhci_pci"], + "module_alias": "pci:v00008086d0000A0EDsv000017AAsd000022C9bc0Csc03i30" + }, + { + "index": 34, + "attached_to": 0, + "class_list": ["usb_controller", "pci"], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "17aa", + "value": 6058 + }, + "device": { + "hex": "9a1b", + "value": 39451 + }, + "sub_device": { + "hex": "22c9", + "value": 8905 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", + "sysfs_bus_id": "0000:00:0d.2", + "sysfs_iommu_group_id": 6, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341581312, + "range": 262144, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342171136, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": ["thunderbolt"], + "driver_modules": ["thunderbolt"], + "module_alias": "pci:v00008086d00009A1Bsv000017AAsd000022C9bc0Csc03i40" + } + ] + }, + "smbios": { + "bios": { + "handle": 16, + "vendor": "LENOVO", + "version": "N34ET62W (1.62 )", + "date": "04/29/2024", + "features": [ + "PCI supported", + "PnP supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "EDD spec supported", + "720kB Floppy supported", + "Print Screen supported", + "8042 Keyboard Services supported", + "Serial Services supported", + "Printer Services supported", + "CGA/Mono Video supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xe0000", + "rom_size": 16777216 + }, + "board": { + "handle": 18, + "manufacturer": "LENOVO", + "product": "20W0S09000", + "version": "SDK0K17763 WIN", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": ["Hosting Board", "Replaceable"], + "location": "Not Available", + "chassis": 19 + }, + "cache": [ + { + "handle": 11, + "socket": "L1 Cache", + "size_max": 192, + "size_current": 192, + "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": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0009", + "name": "Other", + "value": 9 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 12, + "socket": "L1 Cache", + "size_max": 128, + "size_current": 128, + "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": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 13, + "socket": "L2 Cache", + "size_max": 5120, + "size_current": 5120, + "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": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 14, + "socket": "L3 Cache", + "size_max": 12288, + "size_current": 12288, + "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": 19, + "manufacturer": "LENOVO", + "version": "None", + "chassis_type": { + "hex": "000a", + "name": "Notebook", + "value": 10 + }, + "lock_present": false, + "bootup_state": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "power_state": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "thermal_state": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "security_state": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "oem": "0x0" + } + ], + "config": { + "handle": 24 + }, + "group_associations": [ + { + "handle": 33, + "power": { + "hex": "0000", + "name": "Disabled", + "value": 0 + }, + "keyboard": { + "hex": "0002", + "name": "Not Implemented", + "value": 2 + }, + "admin": { + "hex": "0000", + "name": "Disabled", + "value": 0 + }, + "reset": { + "hex": "0002", + "name": "Not Implemented", + "value": 2 + } + }, + { + "handle": 35, + "name": "$MEI", + "handles": [0] + } + ], + "language": [ + { + "handle": 25, + "languages": ["en-US"] + } + ], + "memory_array": [ + { + "handle": 0, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": "0x4000000", + "error_handle": 65534, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 3, + "array_handle": 0, + "start_address": "0x0", + "end_address": "0x600000000", + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 1, + "location": "Controller0-ChannelA", + "bank_location": "BANK 0", + "manufacturer": "Micron Technology", + "part_number": "4ATS2G64HZ-3G2B1", + "array_handle": 0, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 16777216, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "001a", + "name": "Other", + "value": 26 + }, + "memory_type_details": ["Synchronous"], + "speed": 3200 + }, + { + "handle": 2, + "location": "Controller1-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "SK Hynix", + "part_number": "HMAA1GS6CJR6N-XN", + "array_handle": 0, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "001a", + "name": "Other", + "value": 26 + }, + "memory_type_details": ["Synchronous"], + "speed": 3200 + } + ], + "memory_error": [ + { + "handle": 37, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": "0x80000000", + "device_address": "0x80000000", + "range": 2147483648 + } + ], + "pointing_device": [ + { + "handle": 38, + "mouse_type": { + "hex": "0005", + "name": "Track Point", + "value": 5 + }, + "interface": { + "hex": "0004", + "name": "PS/2", + "value": 4 + }, + "buttons": 3 + }, + { + "handle": 39, + "mouse_type": { + "hex": "0007", + "name": "Touch Pad", + "value": 7 + }, + "interface": { + "hex": "0004", + "name": "PS/2", + "value": 4 + }, + "buttons": 2 + } + ], + "port_connector": [ + { + "handle": 20, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 1" + }, + { + "handle": 21, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 2" + }, + { + "handle": 22, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Headphone/Microphone Combo Jack1" + } + ], + "processor": [ + { + "handle": 15, + "socket": "U3E1", + "socket_type": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", + "part": "None", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "00c6", + "name": "Other", + "value": 198 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 2800, + "cache_handle_l1": 12, + "cache_handle_l2": 13, + "cache_handle_l3": 14 + } + ], + "slot": [ + { + "handle": 23, + "designation": "SimCard Slot", + "slot_type": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "bus_width": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "id": 0 + } + ], + "system": { + "handle": 17, + "manufacturer": "LENOVO", + "product": "20W0S09000", + "version": "ThinkPad T14 Gen 2i", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/machines/kj-laptop01/home.nix b/machines/kj-laptop01/home.nix new file mode 100644 index 0000000..7d18022 --- /dev/null +++ b/machines/kj-laptop01/home.nix @@ -0,0 +1,109 @@ +{ + config, + pkgs, + ... +}: +{ + home.username = "kjtsanaktsidis"; + home.homeDirectory = "/home/kjtsanaktsidis"; + home.stateVersion = "25.05"; + + programs.home-manager.enable = true; + + # Install packages + home.packages = with pkgs; [ + htop + zellij + tmux + neovim + git-absorb + # LazyVim dependencies + lazygit + ripgrep + fd + nodejs + python3 + ]; + + # Configure sops for home-manager + sops = { + age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + defaultSopsFile = ./secrets.yaml; + secrets = { + kj_id_ed25519 = { + path = "${config.home.homeDirectory}/.ssh/id_ed25519"; + }; + kj_gpg_private_key = { + path = "${config.home.homeDirectory}/.gnupg/private-key.asc"; + }; + }; + }; + + # LazyVim configuration for Neovim + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + plugins = with pkgs.vimPlugins; [ + LazyVim + ]; + extraLuaConfig = '' + require("lazyvim").setup() + ${builtins.readFile ./lazyvim-config.lua} + ''; + }; + + # Git configuration + programs.git = { + enable = true; + userName = "KJ Tsanaktsidis"; + userEmail = "kj@kjtsanaktsidis.id.au"; + signing = { + key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; + signByDefault = true; + }; + extraConfig = { + pull.rebase = true; + }; + }; + + # SSH public key (private key is managed by sops) + home.file.".ssh/id_ed25519.pub" = { + text = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMtGcEXu5S/0zsF6Suxc65DmGFGt1JWRnqadoVhErOed kjtsanaktsidis@KJMacbookGroq.local"; + }; + + # Zsh configuration + programs.zsh = { + enable = true; + history = { + size = 1000000; + save = 1000000; + append = true; + extended = true; + ignoreSpace = false; + ignoreDups = false; + }; + + initContent = builtins.readFile ./zsh-config.zsh; + }; + + # FZF with standard keybindings + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + programs.gpg = { + enable = true; + homedir = "${config.home.homeDirectory}/.gnupg"; + }; + services.gpg-agent = { + enable = true; + }; + home.activation.importGpgPrivateKey = config.lib.dag.entryAfter ["sops-nix" "onFilesChange"] '' + export GNUPGHOME="${config.programs.gpg.homedir}" + $DRY_RUN_CMD ${pkgs.gnupg}/bin/gpg --batch --verbose --trust-model always --import "${config.sops.secrets.kj_gpg_private_key.path}" + echo "GPG private key imported from sops secret" + ''; +} diff --git a/machines/kj-laptop01/lazyvim-config.lua b/machines/kj-laptop01/lazyvim-config.lua new file mode 100644 index 0000000..038ed1b --- /dev/null +++ b/machines/kj-laptop01/lazyvim-config.lua @@ -0,0 +1,49 @@ +-- Store a lot of history +vim.opt.history = 10000 +-- Enable mouse support +vim.opt.mouse = "a" +-- Line numbers +vim.opt.number = true +-- Vim janks about a lot as the LSP floats in or out if the sign column width +-- is not fixed ahead of time. +vim.opt.signcolumn = "yes:1" +-- don't take up the whole screen with popups +vim.opt.pumheight = 15 +-- lazy.nvim does relative line numbers +vim.wo.relativenumber = false +-- .nvimrc files +vim.opt.exrc = true +-- disable autoformat by default +vim.g.autoformat = false +vim.g.root_spec = { "cwd" } + +--[[ +local cmp = require("cmp") +local enabled_except_in_comments = function() + if vim.api.nvim_get_mode().mode == "c" then + return true + else + local context = require("cmp.config.context") + return not context.in_treesitter_capture("comment") and not context.in_syntax_group("Comment") + end +end +cmp.setup.filetype("markdown", { + enabled = false, +}) + +for _, ft in ipairs({ "c", "cpp", "ruby" }) do + cmp.setup.filetype(ft, { + enabled = enabled_except_in_comments, + }) +end +]]-- + +vim.api.nvim_create_user_command("DiagHide", function(args) + vim.diagnostic.enable(false) +end, {}) +vim.api.nvim_create_user_command("DiagShow", function(args) + vim.diagnostic.enable(true) +end, {}) +vim.api.nvim_create_user_command("FindRefs", function(args) + require("telescope.builtin").lsp_references() +end, {}) diff --git a/machines/kj-laptop01/secrets.yaml b/machines/kj-laptop01/secrets.yaml new file mode 100644 index 0000000..6a8a038 --- /dev/null +++ b/machines/kj-laptop01/secrets.yaml @@ -0,0 +1,30 @@ +kj_hashed_password: ENC[AES256_GCM,data:oBXnSVctLZOEulvaKQlQcWznTlaUViS5u2c6kyKaDCQVQ+wColZqnEeVxvAw3l/1+PkdfxwsojP9ldjJZAoCnnlBs0WoLCsN7A==,iv:hANLxQSqnwd7J+WpIpPz0j5ZV/k0ksdvxARsTq8U2B8=,tag:in8ALpLpBvyDvX/+ZUCxhg==,type:str] +luks_passphrase: ENC[AES256_GCM,data:1HVj/AKohfIkZjzrsJd/S+jG,iv:WSEbPjLUDLsHgR3LdexNRbXOFpCCec0JJy8VnrMy5s8=,tag:/79ZayGOdZb0+tuWPpwbxw==,type:str] +ssh_host_key_ed25519: ENC[AES256_GCM,data:GYcBJqP05QNpFYpZkhomJzFL48SfE+YwmaWeyLPf1c1XQHXKRkUqsAnfsWOrWY+Jkur4ILfUr0iKaWAKEz7Cci+wzYErffBt0awAL93JsUuzlEQEIPepnPrORdrGKMuQn5ipNzSi+dVzuCk7q+z/ZuQWnK6g/xEE+LUfonCRczhCdG6BhB9qM/5fmpRR3y5K3qCJn+FkoENVvB+TBEDQsofttSK9K8mYbsfYdY+lzv6A3Ax2EFlipFDBR6tO5skkDdi8O6TAPdVtHJNLW0mLG2RaF3npSLUzJvJ1/6KjzWGSbFM2eJfEVniF46MuFtcy9ku4D9AYgxmmkmtEoasKHfPg9ucGBh4HXZstzUaPO010wO8BCAB626UkdoAUYAaTKzal9vxfjRuhtaMYMLphaZqQ1+azM2aZkmoymWbvmb/rFjZcYtsq6OY4ivjadhw/An3Lwdo6MdW0Xycn87CYX1pJzTwNCVxbNMmtAkdPeeOKRUP35FfHpor1YXllb1UPPCcfglt1MlQAPx+nog05,iv:P5jP5N7+dAOLnuV3TP2Vg9O86CuQJzCWsmquhjJTVWg=,tag:BLV1tM1awyfY06kpY4c0jw==,type:str] +ssh_host_key_rsa: ENC[AES256_GCM,data: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,iv:Tj1/3zP3D/3T6LjpkMYb7aebixmcctOT/cuO9mLMoUw=,tag:BI22/6vv6Ey8L3639aVJ4Q==,type:str] +kj_id_ed25519: ENC[AES256_GCM,data:TzG4qKXGyOItzm3mWkP95uyr41tovk1kkzzvOnXEY09x3Y9IRgxCC7lmjNd0rSoSk+Z6cN1AjKl5djDr2fwKNehkWU+hj/E1iJG95TFhazGdL9P/JaS/GPEJSoPWexaiVA9mhZ54qTWMjJ6whY8LYyi0wNN+3kueYvNEPh7MpJia142OGEoeso3d5QCkhTPpmBUmjai9+Oa2UTOLyD6vpE5Zs3hoa3b/Nn9zVgoCJbQnjGe9kXZ0ZwZZVKgSsazF80wswgOXaCMx+Zye6ISrgHJvQTTH5egRO48IrjwKBWyx1U+r86Qb0DuWWdUyI5/o3o++UzUTpBTeZIJayxuLCcc5ohS8uq642SPnHTMxLvYMDutPk6XmZcBSPCAm/29uBgiTyD+rxLfSVAEtSX4rLC+aPTMUCrNxwimlN4YZmRg7t+43R5Gm71JhlU3fHfnCdx9WssJ1UVX8hYtj9qdySaXyFDRcphSaMzM+KcrEOeatsoVwmJ3T5LNXkRDgB5P4Lp/+XCPZb62AgGw167K8Do0GFADEKVK/r1O9w6IiTpar2/Rnzeh20Ii9C3KDkkZL,iv:ArYug8GfbAJRxS4WH1yEzwD7mVjIb7uWG4EW/zjxITk=,tag:FacLr+B5UoLXEUaM4kR4/A==,type:str] +kj_gpg_private_key: ENC[AES256_GCM,data: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,iv:F8kUcbAZIwogLtT5f+v5tQCz8lgLbKuPtCqDoOnu06s=,tag:o62MrXkEknaCQ3QB4XhD5Q==,type:str] +sops: + age: + - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Rnh2TjY5YkxDeldnNHB4 + VzJjazRORnFBWWNWdkI4Rm5LOGFYTDRITm5RCkh0dUpySmZhdG8xYXhNSnRXaUhk + SlNub2FMM2gzb3BzN1d0RzVwTjZxQk0KLS0tIG9Da0IrYWUxVFRCdFBtWHAybUVO + aGNoeFhvUGc1ME9CSno1T1BUQWsxOUEKVV/EGdulVldaqjmgqVgybTAVA8un/IcZ + oy95TzamDs1rztz9oA71bSYc6YawdDuMAr3NUJobPzBOGDE7DlzIQw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1dlhywyz63uyyv5z2w6mhax7dcn37akymy2e4ujcdppf85hr3ccrqgwpqmu + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1dkFLOXBoaEFRUHkyajNv + ODRtR2k3aU1RT051cGIzMWN0SkFJZkJPaG1RCnFsS3FVa3NwSHBZcHl5MTIvVFFm + OGxDY1hMbHFicG1YOWxBRmdISkFxVUUKLS0tIDlRVVZSMUJNcVVNWWNRdHB6U1Ex + SW02NGZkTlRzWEIzNFZFOVJGdG9JMk0KxuvdafYhE6v4tl/JlnfbYoXK4AzEKGAW + 8909LJVUMLeY8acGB5SNBxo14rvTjd4Hfnmc6W516Ujq+fzapl3pkA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-09-12T09:15:52Z" + mac: ENC[AES256_GCM,data:7/WpJ5LY0MG3QDHp9Sfsnav62pRopwMaTzlcAXwfrU1c4Niox1l5RR8c6wegod0FZDkwD6N//jZ9oXNy3QL10KamLaW2x7BNALNXDrUrG9I96HLn74Oep2tvKorfN+D/vCD62TxgYC+afDxzrp3VZar89KwwJnEnv2JDjwo9hD8=,iv:qMWwt7O8Yq1PZABgGo+fYdYSPCVc1y1x8JAP5nb3RaI=,tag:q5Q06c4wEknITE7AfDguGg==,type:str] + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/machines/kj-laptop01/zsh-config.zsh b/machines/kj-laptop01/zsh-config.zsh new file mode 100644 index 0000000..8ef8747 --- /dev/null +++ b/machines/kj-laptop01/zsh-config.zsh @@ -0,0 +1,45 @@ +# Initialize completion system +autoload -Uz compinit +compinit + +# Initialize prompt system +autoload -Uz promptinit +promptinit + +# Set options +setopt extendedglob nomatch notify + +# Define gentoo prompt theme +prompt_gentoo_help () { + cat <<'EOF' +This prompt is color-scheme-able. You can invoke it thus: + + prompt gentoo [ [ []]] + +EOF +} + +prompt_gentoo_setup () { + local prompt_gentoo_prompt=${1:-'blue'} + local prompt_gentoo_user=${2:-'green'} + local prompt_gentoo_root=${3:-'red'} + + if [ "$USER" = 'root' ] + then + local base_prompt="%B%F{$prompt_gentoo_root}%m%k " + else + local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " + fi + local post_prompt="%b%f%k" + + local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" + typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" + typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" + typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" +} + +# Register the prompt with promptinit +prompt_themes+=( gentoo ) + +# Use the gentoo prompt +prompt gentoo diff --git a/machines/labsrv01/default.nix b/machines/labsrv01/default.nix new file mode 100644 index 0000000..8988cd4 --- /dev/null +++ b/machines/labsrv01/default.nix @@ -0,0 +1,108 @@ +{ + inputs, + modulesPath, + lib, + pkgs, + sops, + config, + ... +}@args: +{ + imports = [ + inputs.determinate.nixosModules.default + inputs.disko.nixosModules.disko + ./disk-config.nix + inputs.sops-nix.nixosModules.sops + ./network.nix + ../../modules/secureboot.nix + ../../modules/alt-arrow-vt.nix + + inputs.home-manager.nixosModules.home-manager + ./homes.nix + + ../../modules/cgit.nix + ]; + hardware.facter.reportPath = ./facter.json; + + nix = { + extraOptions = '' + experimental-features = ca-derivations nix-command flakes + ''; + settings = { + trusted-users = [ "root" "kjtsanaktsidis" ]; + substituters = [ + "https://cache.nixos.org" + # the ca-derivations cache seems to be down + # "https://cache.ngi0.nixos.org/" + ]; + trusted-public-keys = [ + "cache.ngi0.nixos.org-1:KqH5CBLNSyX184S9BKZJo1LxrxJ9ltnY2uAs5c/f1MA=" + ]; + }; + }; + + sops = { + defaultSopsFile = ./secrets.yaml; + age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + age.generateKey = false; + + secrets = { + luks_passphrase = { }; + kj_hashed_password = { + neededForUsers = true; + }; + ssh_host_key_ed25519 = { }; + ssh_host_key_rsa = { }; + }; + }; + + system.stateVersion = "25.11"; + swapDevices = [ + { + device = "/swap/swapfile"; + size = 32768; + } + ]; + + security.sudo.enable = true; + users.mutableUsers = false; + users.groups.kjtsanaktsidis = { }; + users.users = { + kjtsanaktsidis = { + createHome = true; + isNormalUser = true; + description = "KJ Tsanaktsidis"; + group = "kjtsanaktsidis"; + extraGroups = [ + "wheel" + "networkmanager" + ]; + shell = pkgs.zsh; + hashedPasswordFile = config.sops.secrets.kj_hashed_password.path; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHsyhMLrlNiffDrqz0s46hZF8IdR9/qX63TUyllK0LCA kj@KJ-PC" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS77sno1zVa6uO+2wCbBK489snNIp3uvymca2cHX/33 kjtsanaktsidis@labsrv01" + ]; + }; + }; + + services.openssh = { + enable = true; + hostKeys = [ + { + type = "ed25519"; + path = config.sops.secrets.ssh_host_key_ed25519.path; + } + { + type = "rsa"; + path = config.sops.secrets.ssh_host_key_rsa.path; + } + ]; + }; + + services.fwupd.enable = true; + + # Enable zsh system-wide + programs.zsh.enable = true; +} diff --git a/machines/labsrv01/disk-config.nix b/machines/labsrv01/disk-config.nix new file mode 100644 index 0000000..b0f74c9 --- /dev/null +++ b/machines/labsrv01/disk-config.nix @@ -0,0 +1,83 @@ +{ + config, + ... +}: +{ + disko.devices = { + disk.nvme0n1 = { + device = "/dev/nvme0n1"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + esp = { + name = "ESP"; + start = "1MiB"; + size = "1023M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + luks = { + name = "cryptroot"; + type = "8300"; + size = "100%"; + content = { + type = "luks"; + name = "crypted"; + passwordFile = config.sops.secrets.luks_passphrase.path; + settings = { + allowDiscards = true; + bypassWorkqueues = true; + }; + content = { + type = "btrfs"; + subvolumes = { + "@" = { }; + "@/root" = { + mountpoint = "/"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/home" = { + mountpoint = "/home"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/var" = { + mountpoint = "/var"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/nix" = { + mountpoint = "/nix"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@/swap" = { + mountpoint = "/swap"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/machines/labsrv01/facter.json b/machines/labsrv01/facter.json new file mode 100644 index 0000000..f082969 --- /dev/null +++ b/machines/labsrv01/facter.json @@ -0,0 +1,5065 @@ +{ + "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": 773 + }, + "bluetooth": [ + { + "index": 48, + "attached_to": 47, + "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": "8087", + "value": 32903 + }, + "device": { + "hex": "0032", + "value": 50 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", + "sysfs_bus_id": "3-10: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:v8087p0032d0000dcE0dsc01dp01icE0isc01ip01in00" + }, + { + "index": 58, + "attached_to": 47, + "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": "8087", + "value": 32903 + }, + "device": { + "hex": "0032", + "value": 50 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", + "sysfs_bus_id": "3-10: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:v8087p0032d0000dcE0dsc01dp01icE0isc01ip01in01" + } + ], + "bridge": [ + { + "index": 25, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "5182", + "value": 20866 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d00005182sv00001043sd000087F2bc06sc01i00", + "label": "Onboard - Other" + }, + { + "index": 27, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "51b1", + "value": 20913 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.1", + "sysfs_bus_id": "0000:00:1d.1", + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 3, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d000051B1sv00001043sd000087F2bc06sc04i00" + }, + { + "index": 33, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "4621", + "value": 17953 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "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, + "prog_if": 0 + }, + "driver": "igen6_edac", + "driver_module": "igen6_edac", + "drivers": [ + "igen6_edac" + ], + "driver_modules": [ + "igen6_edac" + ], + "module_alias": "pci:v00008086d00004621sv00001043sd000087F2bc06sc00i00", + "label": "Onboard - Other" + }, + { + "index": 35, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 6 + }, + "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 + }, + "device": { + "hex": "464d", + "value": 17997 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0", + "sysfs_bus_id": "0000:00:06.0", + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000464Dsv00000000sd00000000bc06sc04i00" + }, + { + "index": 36, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "51b0", + "value": 20912 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", + "sysfs_bus_id": "0000:00:1d.0", + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 2, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d000051B0sv00001043sd000087F2bc06sc04i00" + } + ], + "camera": [ + { + "index": 49, + "attached_to": 53, + "class_list": [ + "camera", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "082c", + "name": "HD Webcam C615", + "value": 2092 + }, + "revision": { + "hex": "0000", + "name": "0.11", + "value": 0 + }, + "serial": "0B8FA460", + "model": "Logitech HD Webcam C615", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.2", + "sysfs_bus_id": "3-5.4:1.2", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": [ + "uvcvideo" + ], + "driver_modules": [ + "uvcvideo" + ], + "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic0Eisc01ip00in02" + }, + { + "index": 60, + "attached_to": 53, + "class_list": [ + "camera", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010f", + "name": "Camera", + "value": 271 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "082c", + "name": "HD Webcam C615", + "value": 2092 + }, + "revision": { + "hex": "0000", + "name": "0.11", + "value": 0 + }, + "serial": "0B8FA460", + "model": "Logitech HD Webcam C615", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.3", + "sysfs_bus_id": "3-5.4:1.3", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 3, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": [ + "uvcvideo" + ], + "driver_modules": [ + "uvcvideo" + ], + "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic0Eisc02ip00in03" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "model_name": "12th Gen Intel(R) Core(TM) i5-12500H", + "family": 6, + "model": 154, + "stepping": 3, + "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", + "tsc_known_freq", + "pni", + "pclmulqdq", + "dtes64", + "monitor", + "ds_cpl", + "vmx", + "smx", + "est", + "tm2", + "ssse3", + "sdbg", + "fma", + "cx16", + "xtpr", + "pdcm", + "sse4_1", + "sse4_2", + "x2apic", + "movbe", + "popcnt", + "tsc_deadline_timer", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "abm", + "3dnowprefetch", + "cpuid_fault", + "epb", + "ssbd", + "ibrs", + "ibpb", + "stibp", + "ibrs_enhanced", + "tpr_shadow", + "flexpriority", + "ept", + "vpid", + "ept_ad", + "fsgsbase", + "tsc_adjust", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "rdseed", + "adx", + "smap", + "clflushopt", + "clwb", + "intel_pt", + "sha_ni", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "split_lock_detect", + "user_shstk", + "avx_vnni", + "dtherm", + "ida", + "arat", + "pln", + "pts", + "hwp", + "hwp_notify", + "hwp_act_window", + "hwp_epp", + "hwp_pkg_req", + "hfi", + "vnmi", + "umip", + "pku", + "ospke", + "waitpkg", + "gfni", + "vaes", + "vpclmulqdq", + "rdpid", + "movdiri", + "movdir64b", + "fsrm", + "md_clear", + "serialize", + "arch_lbr", + "ibt", + "flush_l1d", + "arch_capabilities" + ], + "bugs": [ + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "swapgs", + "eibrs_pbrsb", + "rfds", + "bhi", + "vmscape" + ], + "power_management": [ + "" + ], + "bogo": 6220, + "cache": 18432, + "units": 64, + "page_size": 4096, + "physical_id": 0, + "siblings": 16, + "cores": 12, + "fpu": false, + "fpu_exception": false, + "cpuid_level": 32, + "write_protect": false, + "tlb_size": 32765, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": "0x27", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 44, + "attached_to": 30, + "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": "a80a", + "name": "Samsung SSD 980 PRO 2TB", + "value": 43018 + }, + "sub_device": { + "hex": "a801", + "value": 43009 + }, + "serial": "S69ENF0W831022Y", + "model": "Samsung SSD 980 PRO 2TB", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0/nvme/nvme0", + "unix_device_names": [ + "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_2TB_S69ENF0W831022Y", + "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_2TB_S69ENF0W831022Y_1", + "/dev/disk/by-id/nvme-eui.002538b831b900c4", + "/dev/disk/by-path/pci-0000:01:00.0-nvme-1", + "/dev/nvme0n1" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 1907729, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 3907029168, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + }, + { + "index": 45, + "attached_to": 40, + "class_list": [ + "disk", + "usb", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0781", + "name": "SanDisk", + "value": 1921 + }, + "device": { + "hex": "5581", + "name": "Sandisk Ultra", + "value": 21889 + }, + "revision": { + "hex": "0000", + "name": "PMAP", + "value": 0 + }, + "serial": "AF2F00011030", + "model": "SanDisk Sandisk Ultra", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "2:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host2/target2:0:0/2:0:0:0", + "unix_device_names": [ + "/dev/disk/by-id/usb-SanDisk_Sandisk_Ultra_A20013F341FFFF01-0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:1:1.0-scsi-0:0:0:0", + "/dev/sda" + ], + "unix_device_name2": "/dev/sg0", + "resources": [ + { + "type": "disk_geo", + "cylinders": 15120, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 30965760, + "value_2": 512 + } + ], + "driver": "usb-storage", + "driver_module": "usb_storage", + "drivers": [ + "sd", + "usb-storage" + ], + "driver_modules": [ + "sd_mod", + "usb_storage" + ], + "module_alias": "usb:v0781p5581d0100dc00dsc00dp00ic08isc06ip50in00" + } + ], + "graphics_card": [ + { + "index": 39, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "46a6", + "value": 18086 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "000c", + "value": 12 + }, + "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": 12288, + "range": 64, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": [ + "i915" + ], + "driver_modules": [ + "i915" + ], + "module_alias": "pci:v00008086d000046A6sv00001043sd000087F2bc03sc00i00", + "label": "Onboard - Video" + } + ], + "hub": [ + { + "index": 47, + "attached_to": 40, + "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.12.63 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.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", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 52, + "attached_to": 40, + "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.12.63 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.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", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 53, + "attached_to": 47, + "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": "0451", + "name": "Texas Instruments", + "value": 1105 + }, + "device": { + "hex": "8442", + "value": 33858 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "4709007959C0", + "model": "Texas Instruments Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0", + "sysfs_bus_id": "3-5: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": 2, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v0451p8442d0100dc09dsc00dp02ic09isc00ip02in00" + }, + { + "index": 56, + "attached_to": 23, + "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.12.63 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 64, + "attached_to": 23, + "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.12.63 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.12.63 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.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", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 50, + "attached_to": 53, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c094", + "name": "PRO X Wireless", + "value": 49300 + }, + "revision": { + "hex": "0000", + "name": "25.01", + "value": 0 + }, + "serial": "E53F6E14", + "model": "Logitech PRO X Wireless", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.1", + "sysfs_bus_id": "3-5.2:1.1", + "unix_device_names": [ + "/dev/input/by-id/usb-Logitech_PRO_X_Wireless_E53F6E14-if01-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.2:1.1-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.2:1.1-event-kbd", + "/dev/input/event4" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86", + "xkb_model": "pc104" + }, + "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc01ip01in01" + }, + { + "index": 55, + "attached_to": 53, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "1b1c", + "name": "Corsair", + "value": 6940 + }, + "device": { + "hex": "1b09", + "name": "Corsair K70R Gaming Keyboard", + "value": 6921 + }, + "revision": { + "hex": "0000", + "name": "1.09", + "value": 0 + }, + "model": "Corsair K70R Gaming Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.0", + "sysfs_bus_id": "3-5.1:1.0", + "unix_device_names": [ + "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.0-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.0-kbd", + "/dev/input/js0" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86", + "xkb_model": "pc104" + }, + "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 19, + "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": "phys_mem", + "range": 68719476736 + } + ] + } + ], + "monitor": [ + { + "index": 43, + "attached_to": 39, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "10ac", + "name": "DELL", + "value": 4268 + }, + "device": { + "hex": "a125", + "name": "DELL U3219Q", + "value": 41253 + }, + "serial": "CP2P413", + "model": "DELL U3219Q", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1152, + "height": 864, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 1024, + "vertical_frequency": 60, + "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": 3840, + "height": 2160, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "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": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 697, + "value_2": 392 + } + ], + "detail": { + "manufacture_year": 2021, + "manufacture_week": 21, + "vertical_sync": { + "min": 49, + "max": 86 + }, + "horizontal_sync": { + "min": 10, + "max": 137 + }, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2160, + "sync_start": 2163, + "sync_end": 2168, + "total": 2222 + }, + "clock": 533250, + "width": 3840, + "height": 2160, + "width_millimetres": 697, + "height_millimetres": 392, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "DELL U3219Q" + }, + "driver_info": { + "type": "display", + "width": 3840, + "height": 2160, + "vertical_sync": { + "min": 49, + "max": 86 + }, + "horizontal_sync": { + "min": 10, + "max": 137 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2160, + "sync_start": 2163, + "sync_end": 2168, + "total": 2222 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 63, + "attached_to": 53, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c094", + "name": "PRO X Wireless", + "value": 49300 + }, + "revision": { + "hex": "0000", + "name": "25.01", + "value": 0 + }, + "serial": "E53F6E14", + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech PRO X Wireless", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.0", + "sysfs_bus_id": "3-5.2:1.0", + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc01ip02in00" + } + ], + "network_controller": [ + { + "index": 20, + "attached_to": 27, + "class_list": [ + "network_controller", + "pci", + "wlan_card" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0082", + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "2725", + "value": 10021 + }, + "sub_device": { + "hex": "0024", + "value": 36 + }, + "revision": { + "hex": "001a", + "value": 26 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.1/0000:03:00.0", + "sysfs_bus_id": "0000:03:00.0", + "unix_device_names": [ + "wlp3s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 52 + }, + { + "type": "phwaddr", + "address": 49 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "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" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d00002725sv00008086sd00000024bc02sc80i00" + }, + { + "index": 26, + "attached_to": 36, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "15f3", + "value": 5619 + }, + "sub_device": { + "hex": "87d2", + "value": 34770 + }, + "revision": { + "hex": "0003", + "value": 3 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/0000:02:00.0", + "sysfs_bus_id": "0000:02:00.0", + "unix_device_names": [ + "enp2s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 99 + }, + { + "type": "phwaddr", + "address": 99 + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ], + "module_alias": "pci:v00008086d000015F3sv00001043sd000087D2bc02sc00i00" + } + ], + "network_interface": [ + { + "index": 65, + "attached_to": 20, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/wlp3s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.1/0000:03:00.0", + "unix_device_names": [ + "wlp3s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 52 + }, + { + "type": "phwaddr", + "address": 49 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ] + }, + { + "index": 66, + "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_names": [ + "lo" + ] + }, + { + "index": 67, + "attached_to": 26, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp2s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.0/0000:02:00.0", + "unix_device_names": [ + "enp2s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 99 + }, + { + "type": "phwaddr", + "address": 99 + } + ], + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ] + } + ], + "pci": [ + { + "index": 22, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0080", + "name": "System peripheral", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "464f", + "value": 17999 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "Intel System peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000464Fsv00001043sd000087F2bc08sc80i00", + "label": "Onboard - Other" + }, + { + "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": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51e9", + "value": 20969 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:15.1", + "sysfs_bus_id": "0000:00:15.1", + "detail": { + "function": 1, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel-lpss", + "driver_module": "intel_lpss_pci", + "drivers": [ + "intel-lpss" + ], + "driver_modules": [ + "intel_lpss_pci" + ], + "module_alias": "pci:v00008086d000051E9sv00001043sd000087F2bc0Csc80i00", + "label": "Onboard - Other" + }, + { + "index": 28, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "461d", + "value": 17949 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:04.0", + "sysfs_bus_id": "0000:00:04.0", + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "proc_thermal_pci", + "driver_module": "processor_thermal_device_pci", + "drivers": [ + "proc_thermal_pci" + ], + "driver_modules": [ + "processor_thermal_device_pci" + ], + "module_alias": "pci:v00008086d0000461Dsv00001043sd000087F2bc11sc80i00", + "label": "Onboard - Other" + }, + { + "index": 29, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "51e0", + "value": 20960 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:16.0", + "sysfs_bus_id": "0000:00:16.0", + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": [ + "mei_me" + ], + "driver_modules": [ + "mei_me" + ], + "module_alias": "pci:v00008086d000051E0sv00001043sd000087F2bc07sc80i00", + "label": "Onboard - Other" + }, + { + "index": 31, + "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": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51a4", + "value": 20900 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", + "sysfs_bus_id": "0000:00:1f.5", + "detail": { + "function": 5, + "command": 1026, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel-spi", + "driver_module": "spi_intel_pci", + "drivers": [ + "intel-spi" + ], + "driver_modules": [ + "spi_intel_pci" + ], + "module_alias": "pci:v00008086d000051A4sv00001043sd000087F2bc0Csc80i00", + "label": "Onboard - Other" + }, + { + "index": 34, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 21 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51e8", + "value": 20968 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:15.0", + "sysfs_bus_id": "0000:00:15.0", + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel-lpss", + "driver_module": "intel_lpss_pci", + "drivers": [ + "intel-lpss" + ], + "driver_modules": [ + "intel_lpss_pci" + ], + "module_alias": "pci:v00008086d000051E8sv00001043sd000087F2bc0Csc80i00", + "label": "Onboard - Other" + }, + { + "index": 38, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0005", + "name": "Memory controller", + "value": 5 + }, + "sub_class": { + "hex": "0000", + "name": "RAM memory", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ef", + "value": 20975 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel RAM memory", + "sysfs_id": "/devices/pci0000:00/0000:00:14.2", + "sysfs_bus_id": "0000:00:14.2", + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d000051EFsv00001043sd000087F2bc05sc00i00", + "label": "Onboard - Other" + }, + { + "index": 41, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "51a3", + "value": 20899 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", + "sysfs_bus_id": "0000:00:1f.4", + "resources": [ + { + "type": "io", + "base": 61344, + "range": 32, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 4, + "command": 3, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i801_smbus", + "driver_module": "i2c_i801", + "drivers": [ + "i801_smbus" + ], + "driver_modules": [ + "i2c_i801" + ], + "module_alias": "pci:v00008086d000051A3sv00001043sd000087F2bc0Csc05i00", + "label": "Onboard - Other" + }, + { + "index": 42, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 10 + }, + "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 + }, + "device": { + "hex": "467d", + "value": 18045 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0a.0", + "sysfs_bus_id": "0000:00:0a.0", + "detail": { + "function": 0, + "command": 2, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel_vsec", + "driver_module": "intel_vsec", + "drivers": [ + "intel_vsec" + ], + "driver_modules": [ + "intel_vsec" + ], + "module_alias": "pci:v00008086d0000467Dsv00000000sd00000000bc11sc80i00", + "label": "Onboard - Other" + } + ], + "sound": [ + { + "index": 32, + "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 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51c8", + "value": 20936 + }, + "sub_device": { + "hex": "8873", + "value": 34931 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00008086d000051C8sv00001043sd00008873bc04sc03i00", + "label": "Onboard - Sound" + }, + { + "index": 51, + "attached_to": 53, + "class_list": [ + "sound", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "082c", + "name": "HD Webcam C615", + "value": 2092 + }, + "revision": { + "hex": "0000", + "name": "0.11", + "value": 0 + }, + "serial": "0B8FA460", + "model": "Logitech HD Webcam C615", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.0", + "sysfs_bus_id": "3-5.4:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic01isc01ip00in00" + }, + { + "index": 62, + "attached_to": 53, + "class_list": [ + "sound", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "082c", + "name": "HD Webcam C615", + "value": 2092 + }, + "revision": { + "hex": "0000", + "name": "0.11", + "value": 0 + }, + "serial": "0B8FA460", + "model": "Logitech HD Webcam C615", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.1", + "sysfs_bus_id": "3-5.4:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v046Dp082Cd0011dcEFdsc02dp01ic01isc02ip00in01" + } + ], + "storage_controller": [ + { + "index": 21, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 23 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "pci_interface": { + "hex": "0001", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51d3", + "value": 20947 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:17.0", + "sysfs_bus_id": "0000:00:17.0", + "resources": [ + { + "type": "io", + "base": 12384, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12416, + "range": 4, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12432, + "range": 8, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00008086d000051D3sv00001043sd000087F2bc01sc06i01", + "label": "Onboard - SATA" + }, + { + "index": 30, + "attached_to": 35, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "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": "a80a", + "value": 43018 + }, + "sub_device": { + "hex": "a801", + "value": 43009 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v0000144Dd0000A80Asv0000144Dsd0000A801bc01sc08i02" + }, + { + "index": 37, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 14 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0004", + "name": "RAID bus controller", + "value": 4 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "467f", + "value": 18047 + }, + "sub_device": { + "hex": "0000", + "value": 0 + }, + "model": "Intel RAID bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0e.0", + "sysfs_bus_id": "0000:00:0e.0", + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "vmd", + "driver_module": "vmd", + "drivers": [ + "vmd" + ], + "driver_modules": [ + "vmd" + ], + "module_alias": "pci:v00008086d0000467Fsv00008086sd00000000bc01sc04i00", + "label": "Onboard - Other" + } + ], + "system": { + "form_factor": "laptop" + }, + "usb": [ + { + "index": 46, + "attached_to": 53, + "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": "1b1c", + "name": "Corsair", + "value": 6940 + }, + "device": { + "hex": "1b09", + "name": "Corsair K70R Gaming Keyboard", + "value": 6921 + }, + "revision": { + "hex": "0000", + "name": "1.09", + "value": 0 + }, + "model": "Corsair K70R Gaming Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.1", + "sysfs_bus_id": "3-5.1:1.1", + "unix_device_names": [ + "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-event-if01", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.1-event", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.1-event", + "/dev/input/event1" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc00ip00in01" + }, + { + "index": 54, + "attached_to": 53, + "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": "1b1c", + "name": "Corsair", + "value": 6940 + }, + "device": { + "hex": "1b09", + "name": "Corsair K70R Gaming Keyboard", + "value": 6921 + }, + "revision": { + "hex": "0000", + "name": "1.09", + "value": 0 + }, + "model": "Corsair K70R Gaming Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.1/3-5.1:1.2", + "sysfs_bus_id": "3-5.1:1.2", + "unix_device_names": [ + "/dev/input/by-id/usb-Corsair_Corsair_K70R_Gaming_Keyboard-if02-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:5.1:1.2-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:5.1:1.2-event-kbd", + "/dev/input/event2" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1B1Cp1B09d0109dc00dsc00dp00ic03isc00ip00in02" + }, + { + "index": 57, + "attached_to": 53, + "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": "0451", + "name": "Texas Instruments", + "value": 1105 + }, + "device": { + "hex": "82ff", + "value": 33535 + }, + "revision": { + "hex": "0000", + "name": "2.00", + "value": 0 + }, + "model": "Texas Instruments Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.5/3-5.5:1.0", + "sysfs_bus_id": "3-5.5:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v0451p82FFd0200dc00dsc00dp00ic03isc00ip00in00" + }, + { + "index": 61, + "attached_to": 53, + "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": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c094", + "name": "PRO X Wireless", + "value": 49300 + }, + "revision": { + "hex": "0000", + "name": "25.01", + "value": 0 + }, + "serial": "E53F6E14", + "model": "Logitech PRO X Wireless", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2/3-5.2:1.2", + "sysfs_bus_id": "3-5.2:1.2", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v046DpC094d2501dc00dsc00dp00ic03isc00ip00in02" + } + ], + "usb_controller": [ + { + "index": 23, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "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 + }, + "device": { + "hex": "461e", + "value": 17950 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", + "sysfs_bus_id": "0000:00:0d.0", + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d0000461Esv00000000sd00000000bc0Csc03i30", + "label": "Onboard - Other" + }, + { + "index": 40, + "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": "1043", + "value": 4163 + }, + "device": { + "hex": "51ed", + "value": 20973 + }, + "sub_device": { + "hex": "87f2", + "value": 34802 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d000051EDsv00001043sd000087F2bc0Csc03i30", + "label": "Onboard - Other" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "ASUSTeK COMPUTER INC.", + "version": "2.14.00", + "date": "09/20/2023", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "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", + "Print Screen supported", + "Serial Services supported", + "Printer Services supported", + "CGA/Mono Video supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "PN64", + "version": "Default string", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "Default string", + "chassis": 3 + }, + "cache": [ + { + "handle": 67, + "socket": "L1 Cache", + "size_max": 192, + "size_current": 192, + "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": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0009", + "name": "Other", + "value": 9 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 68, + "socket": "L1 Cache", + "size_max": 128, + "size_current": 128, + "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": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 69, + "socket": "L2 Cache", + "size_max": 5120, + "size_current": 5120, + "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": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 70, + "socket": "L3 Cache", + "size_max": 18432, + "size_current": 18432, + "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" + ] + }, + { + "handle": 71, + "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": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 72, + "socket": "L1 Cache", + "size_max": 512, + "size_current": 512, + "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": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 73, + "socket": "L2 Cache", + "size_max": 4096, + "size_current": 4096, + "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": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 74, + "socket": "L3 Cache", + "size_max": 18432, + "size_current": 18432, + "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": "Default string", + "version": "Default string", + "chassis_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "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": 30, + "options": [ + "Default string" + ] + }, + "group_associations": [ + { + "handle": 100, + "name": "$MEI", + "handles": [ + 0 + ] + }, + { + "handle": 103, + "name": "Firmware Version Info", + "handles": [ + 270582939710, + 274877907007, + 279172874304, + 283467841601, + 412316860482, + 4471060955232 + ] + } + ], + "language": [ + { + "handle": 99, + "languages": [ + "en|US|iso8859-1", + "fr|FR|iso8859-1", + "zh|TW|unicode", + "zh|CN|unicode", + "ja|JP|unicode", + "de|DE|iso8859-1", + "es|ES|iso8859-1", + "ru|RU|iso8859-5", + "ko|KR|unicode" + ] + } + ], + "memory_array": [ + { + "handle": 54, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": "0x4000000", + "error_handle": 65534, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 57, + "array_handle": 54, + "start_address": "0x0", + "end_address": "0x1000000000", + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 55, + "location": "Controller0-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "Corsair", + "part_number": "CMSX64GX5M2A4800C40", + "array_handle": 54, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 33554432, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 4800 + }, + { + "handle": 56, + "location": "Controller1-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "Corsair", + "part_number": "CMSX64GX5M2A4800C40", + "array_handle": 54, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 33554432, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 4800 + } + ], + "memory_device_mapped_address": [ + { + "handle": 60, + "memory_device_handle": 55, + "array_map_handle": 57, + "start_address": "0x0", + "end_address": "0x800000000", + "row_position": 255, + "interleave_position": 1, + "interleave_depth": 1 + }, + { + "handle": 61, + "memory_device_handle": 56, + "array_map_handle": 57, + "start_address": "0x800000000", + "end_address": "0x1000000000", + "row_position": 255, + "interleave_position": 2, + "interleave_depth": 1 + } + ], + "onboard": [ + { + "handle": 28, + "devices": [ + { + "name": "To Be Filled By O.E.M.", + "type": { + "hex": "0003", + "name": "Video", + "value": 3 + }, + "enabled": true + } + ] + } + ], + "port_connector": [ + { + "handle": 4, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "PWR_BTN", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "PWR_BTN" + }, + { + "handle": 5, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "U32G2_1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "U32G2_1" + }, + { + "handle": 6, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "U32G2_2", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "U32G2_2" + }, + { + "handle": 7, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "U32G2_C1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "U32G2_C1" + }, + { + "handle": 8, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "U32G2_C2", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "U32G2_C2" + }, + { + "handle": 9, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "U32G2_3", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "U32G2_3" + }, + { + "handle": 10, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "AUDIO", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "AUDIO" + }, + { + "handle": 11, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "DC_PWR", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "DC_PWR" + }, + { + "handle": 12, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "LAN", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "LAN" + }, + { + "handle": 13, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "HDMI1", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI port" + }, + { + "handle": 14, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "HDMI2", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI port" + }, + { + "handle": 15, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "SATA_LED", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "SATA_LED" + }, + { + "handle": 16, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "M.2(SOCKET3)" + }, + { + "handle": 17, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "M.2(WIFI)" + }, + { + "handle": 18, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "CPU_FAN" + }, + { + "handle": 19, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "BATTERY" + }, + { + "handle": 20, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "PWR_SW" + }, + { + "handle": 21, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "GPIO_HEADER" + }, + { + "handle": 22, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "HDMI_CEC" + }, + { + "handle": 23, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "USB8" + }, + { + "handle": 24, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "AUDIO_CON" + }, + { + "handle": 25, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "FPC_CON1_FPC_CON2" + }, + { + "handle": 26, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "BIOS_JUMPER" + }, + { + "handle": 27, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "NIST_CON" + } + ], + "processor": [ + { + "handle": 75, + "socket": "U3E1", + "socket_type": { + "hex": "0041", + "name": "Other", + "value": 65 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "12th Gen Intel(R) Core(TM) i5-12500H", + "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": 4500, + "cache_handle_l1": 72, + "cache_handle_l2": 73, + "cache_handle_l3": 74 + } + ], + "system": { + "handle": 1, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "MINIPC PN64", + "version": "To be filled by O.E.M.", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/machines/labsrv01/homes.nix b/machines/labsrv01/homes.nix new file mode 100644 index 0000000..0720dc8 --- /dev/null +++ b/machines/labsrv01/homes.nix @@ -0,0 +1,12 @@ +{ + inputs, + ... +}: +{ + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.kjtsanaktsidis = ../../homes/kjtsanaktsidis; + home-manager.sharedModules = [ + inputs.sops-nix.homeManagerModules.sops + ]; +} diff --git a/machines/labsrv01/network.nix b/machines/labsrv01/network.nix new file mode 100644 index 0000000..49dd881 --- /dev/null +++ b/machines/labsrv01/network.nix @@ -0,0 +1,50 @@ +{ + lib, + ... +}: +{ + networking.hostName = "labsrv01"; + + # Enable systemd-resolved for DNS + networking.nameservers = [ "127.0.0.53" ]; + services.resolved = { + enable = true; + llmnr = "true"; + extraConfig = '' + MulticastDNS=yes + ''; + }; + + networking.useNetworkd = true; + systemd.network = { + enable = true; + networks."10-enp2s0" = { + matchConfig.Name = "enp2s0"; + networkConfig = { + DHCP = "yes"; + MulticastDNS = "yes"; + IPv6AcceptRA = "yes"; + IPv6PrivacyExtensions = "no"; + }; + ipv6AcceptRAConfig = { + Token = "stable"; + }; + }; + networks."10-wlp3s0" = { + matchConfig.Name = "wlp3s0"; + linkConfig.Unmanaged = "yes"; + }; + }; + + # Keeping this networkmanager conf handy for wifi purposes on other machines + # but this machine will use networkd. + # networking.networkmanager = lib.mkIf useNetworkManager { + # enable = true; + # dns = "systemd-resolved"; + # # Enable mDNS on NetworkManager connections + # connectionConfig = { + # "connection.mdns" = "2"; # 2 = yes (resolve & register) + # }; + # }; + +} diff --git a/machines/labsrv01/secrets.yaml b/machines/labsrv01/secrets.yaml new file mode 100644 index 0000000..8cc4c39 --- /dev/null +++ b/machines/labsrv01/secrets.yaml @@ -0,0 +1,28 @@ +kj_hashed_password: ENC[AES256_GCM,data:sRf0uBBnua/hxn3fZGA9mZAKvg3dm2vgs5Cnanbo6NNQMR1uD9nly3xbpT/xOfCptkY04+ztlSQ6Biz+z11QbYn/3aLNBl/Q/g==,iv:fvvCujpMmegq/Xt54w8lkw7h+1N4OrThbg4iwHo/n5g=,tag:0QWfjBPviOtY7qZQqMW4Vw==,type:str] +luks_passphrase: ENC[AES256_GCM,data:mUZKrVNPIduciZNx1iuHL4lwjI4=,iv:fz6sIdtJ5LJR8xWsAysYg/6+XgN9dQUHp401/YtwmIE=,tag:kW9B3qZyCwFUzUi0HCIQxw==,type:str] +ssh_host_key_ed25519: ENC[AES256_GCM,data:9ZMQKFJojbkCayblF2NCpXTAo8Xe4oFjPNtNhTMN14gnhVSUmg5oE3Y5fwy9zYUAqq2714rBQZ72r7f4jNKzrShzRuOaX81OKvxyuTaBCVU7q292R3KVTkkw4RKg90QMQnHs9DZxyKWesbfCkO3nmDCCNB6QVKnQN+Y/01iTUzkK9F/4h9512SiysENm3eJv76MrhRfp60PH23Hpq92Ao4O7vYBKpqt4K4+T+zFbpSb8qvO/oUcjgp5tokUapJzxUm4UJBHYeEbmGB9KB/ZAdGW73e9TRujWLJ1YjjEXW+k2rD5+oUuBopdMLktpkElTO5ZVxZdbrjud5ZFGT5MM425YSkXTt52PhfW96Z08dM/GvCLdonXn6jGVT2VSlocoajzz966EDDcRNxXA8iUCgqCXQSdNrLXC4dU+hBGdXlz6oy7Jx2mebMRMVYhCCECV0hlfhgH0fk7TTIzmQc+YvO0XnFBnfmvj31m7L8ww5HHC89zTwH9XcheW7kObCPtRN6qW+lxtKeNIXT4iKB8M,iv:dYwEHTpNcqzplORzQsgTXdBsVpBP9PsATBhe1j2CIxg=,tag:xpwgeBOLgyZTDBLC4NuOKA==,type:str] +ssh_host_key_rsa: ENC[AES256_GCM,data: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,iv:hi0vB6gaq59QAraJKrdLaJ3HZ4Z7vHBzX2ol84vDQfs=,tag:LDrM8GR5xMPn3W44J/VNLA==,type:str] +sops: + age: + - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjcStlNG9XU3doNGZJRFJo + cFBKd0tRZldsbkZ4OWNYMEVMQW1qdDZtVW1NCkR2WEx0YUVucXZYZ08vR3BLRGEz + Z0JiN3F2alRJSlNJQW1hM2VmU1BHNTQKLS0tIGZqOHFOclZIL3FHbk4vWjFPRVF3 + bll4UnRLbHJ3VktRZ0VPa1B3TVViU3MK8DgbP+wqDfyM8efZ5I/mryH9+V4tc+BZ + yjlJl6rFdgsz6piKK7577Kn97nOTej1UiFvRL3uC5R3pHSY2OUVI+A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYc2YzbmdMRjBCOXZ5UUlH + Y0d5SWdsdE9hZUZCSXh3V3ZmSkZuR3hvWmlnCno2UmowdzNwZjRRM1E1Q0NEOFlI + V1FrdU41UXBIUzhiTWkwdDdTYkVzT0EKLS0tIENWNW96MWxjYUtPRzlndkNTY3RC + UDVDZ2luUHlCQVd0aGFQTkY1Uk1yRnMKwstz0FxW/34F05oXBIuOHJwGTrZydHzr + Vv8g5OnJyFoq+VYkKP1nbwjViYX+4eX0kfWWyWmk3jZw9qw5XgJXVA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-09T00:57:16Z" + mac: ENC[AES256_GCM,data:Ot7rsi0yQQhv98oo7EwpkQD/Ixkp742J3mI1RxtAXA9fzACpAiW899h/CKWamTMamOH/vyclSB/PjXEA9S9ORtsSCZ1K9AqWYNEAkU2eprArqnJXpvDV62OuITkwRJOqczxAZMKhMMldck/K0LaPnSY1QCCszMlYmHoRfdIH7QQ=,iv:ryFoPecOClZSFLbcqQyg1zqohVk2CydGjp5K1obDMeo=,tag:u36T4rjoducSqFG0+807Xg==,type:str] + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/modules/alt-arrow-vt.nix b/modules/alt-arrow-vt.nix new file mode 100644 index 0000000..d0dbb90 --- /dev/null +++ b/modules/alt-arrow-vt.nix @@ -0,0 +1,29 @@ +{ + pkgs, + ... +}: +{ + # Disable Alt+Left/Right virtual terminal switching + console.keyMap = "us"; + + # Create systemd service to disable only Alt+Arrow VT switching + systemd.services.disable-alt-arrow-vt = { + description = "Disable Alt+Arrow VT switching"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-vconsole-setup.service" ]; + script = '' + # Define string sequences for Alt+Arrow that generate proper terminal escape sequences + cat << 'EOF' | ${pkgs.kbd}/bin/loadkeys + string F200 = "\033[1;3D" + string F201 = "\033[1;3C" + alt keycode 105 = F200 + alt keycode 106 = F201 + EOF + ''; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + +} diff --git a/modules/cgit.nix b/modules/cgit.nix new file mode 100644 index 0000000..34fa377 --- /dev/null +++ b/modules/cgit.nix @@ -0,0 +1,74 @@ +{ + pkgs, + ... +}: +{ + nixpkgs.overlays = [ + (import ../overlays/git-fix) + ]; + + users.users.git = { + isSystemUser = true; + group = "git"; + home = "/var/lib/git"; + createHome = false; # tmpfiles creates it + shell = "${pkgs.git}/bin/git-shell"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAC/BtvW1c1RbBI8eeGo7oOH2y9byBaxWVDHsErgaE+s kjtsanaktsidis@KJMacbookGroq.local" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHsyhMLrlNiffDrqz0s46hZF8IdR9/qX63TUyllK0LCA kj@KJ-PC" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS77sno1zVa6uO+2wCbBK489snNIp3uvymca2cHX/33 kjtsanaktsidis@labsrv01" + ]; + }; + users.groups.git = { }; + systemd.tmpfiles.rules = [ + "d /var/lib/git 0755 git git -" + ]; + + services.openssh.extraConfig = '' + Match User git + PasswordAuthentication no + PubkeyAuthentication yes + X11Forwarding no + AllowTcpForwarding no + PermitTTY no + ''; + + networking.firewall.allowedTCPPorts = [ 80 443 ]; + services.fcgiwrap.instances."git-http" = { + socket.user = "nginx"; + socket.group = "nginx"; + process.user = "nginx"; + process.group = "nginx"; + socket.type = "unix"; + socket.address = "/run/fcgiwrap-git-http.sock"; + }; + services.nginx = { + enable = true; + virtualHosts."git.kjtsanaktsidis.id.au" = { + forceSSL = false; + enableACME = false; + locations = { + # Block HTTP pushes explicitly (receive-pack) + "~ ^/git/.+\\.git/git-receive-pack$" = { + return = "403"; + }; + + # Smart HTTP for clone/fetch + "~ ^/git(/.+\\.git)(/.*)?$" = { + extraConfig = '' + client_max_body_size 0; + + include ${pkgs.nginx}/conf/fastcgi_params; + fastcgi_param SCRIPT_FILENAME ${pkgs.git}/libexec/git-core/git-http-backend; + fastcgi_param GIT_PROJECT_ROOT /var/lib/git; + fastcgi_param GIT_HTTP_EXPORT_ALL ""; + fastcgi_param PATH_INFO $1$2; + fastcgi_param REMOTE_USER $remote_user; + + fastcgi_pass unix:/run/fcgiwrap-git-http.sock; + ''; + }; + }; + }; + }; +} diff --git a/modules/secureboot.nix b/modules/secureboot.nix new file mode 100644 index 0000000..29bff21 --- /dev/null +++ b/modules/secureboot.nix @@ -0,0 +1,66 @@ +{ + inputs, + lib, + pkgs, + config, + ... +}: +let + sb-do-enroll-keys = pkgs.writeShellApplication { + name = "sb-do-enroll-keys"; + text = '' + set -ex; + ${pkgs.sbctl}/bin/sbctl enroll-keys + ''; + }; + sb-do-enroll-tpm = pkgs.writeShellApplication { + name = "sb-do-enroll-tpm"; + runtimeInputs = [ pkgs.tpm2-tss ]; + text = '' + set -ex; + LUKS_DEVICE="${config.disko.devices.disk.nvme0n1.content.partitions.luks.device}" + ${pkgs.systemd}/bin/systemd-cryptenroll --wipe-slot=tpm2 --tpm2-device=auto --tpm2-pcrs=0+7 "''${LUKS_DEVICE}" + ''; + }; +in +{ + imports = [ + inputs.lanzaboote.nixosModules.lanzaboote + ]; + + environment.systemPackages = [ + pkgs.sbctl + sb-do-enroll-keys + sb-do-enroll-tpm + ]; + + # Lanzaboote currently replaces the systemd-boot module. + # This setting is usually set to true in configuration.nix + # generated at installation time. So we force it to false + # for now. + boot.loader.systemd-boot.enable = lib.mkForce false; + boot.initrd.systemd.enable = true; + boot.initrd.systemd.tpm2.enable = true; + + boot.lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + + # Create and enroll Secure Boot keys on first boot + systemd.services.sbctl-setup = { + description = "Create and enroll Secure Boot keys"; + wantedBy = [ "multi-user.target" ]; + unitConfig.ConditionPathExists = "!/var/lib/sbctl/GUID"; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + echo "Creating Secure Boot keys..." + ${pkgs.sbctl}/bin/sbctl create-keys + ''; + }; +} diff --git a/nixos-update.rb b/nixos-update.rb index 55c61e6..86aed23 100755 --- a/nixos-update.rb +++ b/nixos-update.rb @@ -71,7 +71,7 @@ class NixOSUpdater def decrypt_secrets cmd = TTY::Command.new(printer: :null) - result = cmd.run('sops', 'decrypt', '--output-type', 'json', "#{@system_def}/secrets.yaml") + result = cmd.run('sops', 'decrypt', '--output-type', 'json', "machines/#{@system_def}/secrets.yaml") JSON.parse(result.out) end -- cgit v1.2.3