From 51feac4edbe6b60dab5f731a8adaf3d8d369a1bf Mon Sep 17 00:00:00 2001 From: KJ Tsanaktsidis Date: Tue, 6 Jan 2026 21:51:52 +1100 Subject: Ahah, i have labsrv01 --- .sops.yaml | 20 +- flake.lock | 59 +- flake.nix | 81 +- labsrv01/configuration.nix | 135 ++ labsrv01/disk-config.nix | 83 + labsrv01/facter.json | 5065 ++++++++++++++++++++++++++++++++++++++++++++ labsrv01/home.nix | 94 + labsrv01/secrets.yaml | 30 + labsrv01/zsh-config.zsh | 45 + nixos-update.rb | 8 +- 10 files changed, 5548 insertions(+), 72 deletions(-) create mode 100644 labsrv01/configuration.nix create mode 100644 labsrv01/disk-config.nix create mode 100644 labsrv01/facter.json create mode 100644 labsrv01/home.nix create mode 100644 labsrv01/secrets.yaml create mode 100644 labsrv01/zsh-config.zsh diff --git a/.sops.yaml b/.sops.yaml index 2c6af79..4c12c37 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,9 +1,15 @@ keys: - - &admin_kj age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp - - &server_kj_laptop01 age1dlhywyz63uyyv5z2w6mhax7dcn37akymy2e4ujcdppf85hr3ccrqgwpqmu + - &admin_kj age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp + - &server_kj_laptop01 age1dlhywyz63uyyv5z2w6mhax7dcn37akymy2e4ujcdppf85hr3ccrqgwpqmu + - &server_labsrv01 age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey creation_rules: - - path_regex: kj-laptop01/.*\.yaml$ - key_groups: - - age: - - *admin_kj - - *server_kj_laptop01 + - path_regex: kj-laptop01/.*\.yaml$ + key_groups: + - age: + - *admin_kj + - *server_kj_laptop01 + - path_regex: labsrv01/.*\.yaml$ + key_groups: + - age: + - *admin_kj + - *server_labsrv01 diff --git a/flake.lock b/flake.lock index 8814ee9..c4e248d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1757508292, - "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", + "lastModified": 1766150702, + "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=", "owner": "nix-community", "repo": "disko", - "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", + "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378", "type": "github" }, "original": { @@ -70,11 +70,11 @@ ] }, "locked": { - "lastModified": 1757650187, - "narHash": "sha256-OrythrqccPKtuVt0mj26rr83Qo3Ljb4ZmwLdPGjzjMU=", + "lastModified": 1767688629, + "narHash": "sha256-kX1BVq5zoowePHssEjmpc6FNT3vVZNZaCXd7mfvCsxg=", "owner": "nix-community", "repo": "home-manager", - "rev": "9eab59f3e71ea3a725e4817d8dcf0da0824ad19d", + "rev": "bfaba198af72338b8dbda59887859d7a30c6643c", "type": "github" }, "original": { @@ -117,11 +117,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1756369694, - "narHash": "sha256-wNrnVlg+d0GXbmT+MDS6xMIkB+Su437fuP1DZpwaLiI=", + "lastModified": 1766503044, + "narHash": "sha256-DdJ0OIngRjekqXJauSQ8y9vyDO24dX8v7DiaWmxk7PU=", "owner": "nix-community", "repo": "nixos-anywhere", - "rev": "dc1df558e51f41d0782eef312f04a2e0e4c9ce8a", + "rev": "e86fad431cf9161ca39747972bd255897572dc3b", "type": "github" }, "original": { @@ -132,11 +132,11 @@ }, "nixos-facter-modules": { "locked": { - "lastModified": 1756491981, - "narHash": "sha256-lXyDAWPw/UngVtQfgQ8/nrubs2r+waGEYIba5UX62+k=", + "lastModified": 1766558141, + "narHash": "sha256-Ud9v49ZPsoDBFuyJSQ2Mpw1ZgAH/aMwUwwzrVoetNus=", "owner": "numtide", "repo": "nixos-facter-modules", - "rev": "c1b29520945d3e148cd96618c8a0d1f850965d8c", + "rev": "e796d536e3d83de74267069e179dc620a608ed7d", "type": "github" }, "original": { @@ -186,29 +186,43 @@ "type": "github" } }, + "nixpkgs": { + "locked": { + "lastModified": 1767364772, + "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "nixpkgs-stable": { "locked": { - "lastModified": 1748026580, - "narHash": "sha256-rWtXrcIzU5wm/C8F9LWvUfBGu5U5E7cFzPYT1pHIJaQ=", + "lastModified": 1764521362, + "narHash": "sha256-M101xMtWdF1eSD0xhiR8nG8CXRlHmv6V+VoY65Smwf4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "11cb3517b3af6af300dd6c055aeda73c9bf52c48", + "rev": "871b9fd269ff6246794583ce4ee1031e1da71895", "type": "github" }, "original": { "owner": "NixOS", - "ref": "25.05", + "ref": "25.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", + "lastModified": 1767379071, + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", "type": "github" }, "original": { @@ -224,6 +238,7 @@ "home-manager": "home-manager", "nixos-anywhere": "nixos-anywhere", "nixos-facter-modules": "nixos-facter-modules", + "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix" @@ -236,11 +251,11 @@ ] }, "locked": { - "lastModified": 1757503115, - "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", + "lastModified": 1767499857, + "narHash": "sha256-0zUU/PW09d6oBaR8x8vMHcAhg1MOvo3CwoXgHijzzNE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", + "rev": "ecc41505948ec2ab0325f14c9862a4329c2b4190", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 11a730d..215542b 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,7 @@ { - inputs.nixpkgs-stable.url = "github:NixOS/nixpkgs/25.05"; + description = "NixOS configurations development environment"; + + inputs.nixpkgs-stable.url = "github:NixOS/nixpkgs/25.11"; inputs.nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.disko.url = "github:nix-community/disko"; inputs.disko.inputs.nixpkgs.follows = "nixpkgs-stable"; @@ -11,60 +13,40 @@ inputs.home-manager.url = "github:nix-community/home-manager"; inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; - outputs = - { - nixpkgs-stable, - nixpkgs-unstable, - disko, - nixos-facter-modules, - sops-nix, - nixos-anywhere, - home-manager, - ... - }: + outputs = { self, nixpkgs, nixpkgs-stable, nixos-anywhere, ... }@inputs: let - systems = [ - "x86_64-linux" - "x86_64-darwin" - "aarch64-linux" - "aarch64-darwin" - ]; + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs systems; in { - nixosConfigurations.kj-laptop01 = nixpkgs-unstable.lib.nixosSystem { + nixosConfigurations.labsrv01 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = [ - disko.nixosModules.disko - ./kj-laptop01/configuration.nix - nixos-facter-modules.nixosModules.facter - sops-nix.nixosModules.sops - { - config.facter.reportPath = ./kj-laptop01/facter.json; - } - home-manager.nixosModules.home-manager + inputs.disko.nixosModules.disko + ./labsrv01/configuration.nix + inputs.nixos-facter-modules.nixosModules.facter + inputs.sops-nix.nixosModules.sops + inputs.home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.kjtsanaktsidis = ./kj-laptop01/home.nix; + home-manager.users.kjtsanaktsidis = ./labsrv01/home.nix; home-manager.sharedModules = [ - sops-nix.homeManagerModules.sops + inputs.sops-nix.homeManagerModules.sops ]; } ]; }; - formatter = nixpkgs-stable.lib.genAttrs systems ( - system: nixpkgs-stable.legacyPackages.${system}.nixfmt-tree - ); - - apps = nixpkgs-stable.lib.genAttrs systems ( - system: + packages = forAllSystems (system: let pkgs = nixpkgs-stable.legacyPackages.${system}; ruby = pkgs.ruby.withPackages (ps: [ pkgs.rubyPackages.tty-command ]); - + in + { nixos-update = pkgs.writeShellApplication { name = "nixos-update"; runtimeInputs = [ @@ -76,14 +58,35 @@ exec "${ruby}/bin/ruby" "${./nixos-update.rb}" "$@" ''; }; + } + ); + devShells = forAllSystems (system: + let + pkgs = nixpkgs.legacyPackages.${system}; in { - nixos-update = { - type = "app"; - program = "${nixos-update}/bin/nixos-update"; + default = pkgs.mkShell { + buildInputs = [ + nixos-anywhere.packages.${system}.default + pkgs.sops + pkgs.ruby + pkgs.age + pkgs.mkpasswd + self.packages.${system}.nixos-update + ]; }; } ); + + formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style); + + + apps = forAllSystems (system: { + nixos-update = { + type = "app"; + program = "${self.packages.${system}.nixos-update}/bin/nixos-update"; + }; + }); }; } diff --git a/labsrv01/configuration.nix b/labsrv01/configuration.nix new file mode 100644 index 0000000..cff0a7b --- /dev/null +++ b/labsrv01/configuration.nix @@ -0,0 +1,135 @@ +{ + 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.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 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHsyhMLrlNiffDrqz0s46hZF8IdR9/qX63TUyllK0LCA kj@KJ-PC" + ]; + }; + }; + + # Enable systemd-resolved for DNS + services.resolved = { + enable = true; + llmnr = "true"; + extraConfig = '' + MulticastDNS=yes + ''; + }; + networking.hostName = "labsrv01"; + 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/labsrv01/disk-config.nix b/labsrv01/disk-config.nix new file mode 100644 index 0000000..b0f74c9 --- /dev/null +++ b/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/labsrv01/facter.json b/labsrv01/facter.json new file mode 100644 index 0000000..f082969 --- /dev/null +++ b/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/labsrv01/home.nix b/labsrv01/home.nix new file mode 100644 index 0000000..72824ba --- /dev/null +++ b/labsrv01/home.nix @@ -0,0 +1,94 @@ +{ + config, + pkgs, + ... +}: +{ + 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 + 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"; + }; + }; + }; + + # Git configuration + programs.git = { + enable = true; + settings = { + user.name = "KJ Tsanaktsidis"; + user.email = "kj@kjtsanaktsidis.id.au"; + pull.rebase = true; + }; + signing = { + key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; + signByDefault = 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/labsrv01/secrets.yaml b/labsrv01/secrets.yaml new file mode 100644 index 0000000..cea7988 --- /dev/null +++ b/labsrv01/secrets.yaml @@ -0,0 +1,30 @@ +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: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,iv:qok/FPnEdPaiBnM3N2kgDUBf7KZTB3z4VFARb+UnHMY=,tag:Ycbq2zUddMwoCWO7L4DoyA==,type:str] +kj_id_ed25519: ENC[AES256_GCM,data:x/PmoeSDqwi7aWTAsSohUaR5yuaW0xqzuc+N2dJBnhdXmSfhmVcDAbShhG9o556uCnYc09eln0ccF3VFu/mQaZ6dcK2vnfciY8rGSzdXjy2shnJNAEJauVkIBTVtgzslK+EfDRypbAlj93XcVfTrFfYBTaRLgFjaClJFf+hqPpItPzellL4coll8FxE2n+p6fkZ6lMhFY3iujf/7yRqaUE436NaCI9cgGK+GNJeHtPmL749dgvfpEof/kBnOWC200Eqw5+Ij/e7n6Z2vYKIX/rM4J5ZbPVYBoplwqmc87NvxSHkON0Qzi76XKvPSjNMmgvWweQit07AZUkUuLiJ5zg0c0UO5JB4NMqbeyRqFkXae8OMiP89gF3x0qURAsKG1N/vU7flY+7Qf92D/OGdrjOGlwQT9ZSgnu+57L2H3teybVQ0JvUUjB2gdP+4+HS4gEKZO/oEy3tNVDbAYngw5Fd8X3mDq7GZMGHbKDhTCLKtXuBycMaoUG63pWVhxb0Q0DAxivmvLiVjQBCsEr9yx,iv:hIFAiND+XYgVEf/4aLwTGczaobr0WDZR7p6be00bwlY=,tag:mWSoWcS+Vl3EQDNZJwYWIg==,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-06T09:44:47Z" + mac: ENC[AES256_GCM,data:zehFRMXA5XYnwxh6BWKUIZUq0PYF+eX+c2LOI0MHfooioQ17zrWvxxURZJoukNHfZqJpFyPrTkYkIoF2n1zgNncxzVSbTUTP0XHzlmcuwctKfIn+VfgeCSzW5F/Z/Y22UUGfic818lqSLDctMrhUYDHwuiNLl/7IR+2di8ummV4=,iv:FmjNVdj3SEkjY2U870qRelNIOCWa9YoMs2tZsiA9OC8=,tag:KA2LuuNnNi/veFqymfUI2g==,type:str] + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/labsrv01/zsh-config.zsh b/labsrv01/zsh-config.zsh new file mode 100644 index 0000000..8ef8747 --- /dev/null +++ b/labsrv01/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/nixos-update.rb b/nixos-update.rb index 2640835..55c61e6 100755 --- a/nixos-update.rb +++ b/nixos-update.rb @@ -71,12 +71,12 @@ class NixOSUpdater def decrypt_secrets cmd = TTY::Command.new(printer: :null) - result = cmd.run(sops_exe, 'decrypt', '--output-type', 'json', "#{@system_def}/secrets.yaml") + result = cmd.run('sops', 'decrypt', '--output-type', 'json', "#{@system_def}/secrets.yaml") JSON.parse(result.out) end def perform_install - puts "### Performing initial installation of #{@system_flake} to #{@target_host} ###" + puts "### Performing initial installation of #{@system_flake} to #{@target} ###" secrets = decrypt_secrets @@ -87,13 +87,13 @@ class NixOSUpdater cmd_args = [ 'nixos-anywhere', - '--disk-encryption-keys', "#{dir}/luks_passphrase", "#{dir}/luks_passphrase", + '--disk-encryption-keys', "/run/secrets/luks_passphrase", "#{dir}/luks_passphrase", '--extra-files', "#{dir}/copy_dir", '--flake', ".##{@system_def}" ] cmd_args << '--build-on-remote' if RUBY_PLATFORM !~ /linux/ - cmd_args << @target_host + cmd_args << @target # Execute nixos-anywhere cmd = TTY::Command.new -- cgit v1.2.3