From b9dadac2af2d947399e21065e7d925ac8ebf2e5e Mon Sep 17 00:00:00 2001 From: Aleksandr Lebedev Date: Wed, 6 Aug 2025 12:18:08 +0200 Subject: [PATCH] snowfall lib migration WIP --- flake.lock | 207 +- flake.nix | 334 +- lib/module/default.nix | 15 + modules/nixos/gpg/default.nix | 30 + modules/nixos/hardware/bluetooth/default.nix | 35 + modules/nixos/hardware/printing/default.nix | 34 + modules/nixos/impermanence/default.nix | 116 + modules/nixos/loginManagers/sddm/default.nix | 46 + modules/nixos/presets/default/default.nix | 79 + modules/nixos/presets/gaming/default.nix | 62 + modules/nixos/presets/wayland/default.nix | 33 + modules/nixos/presets/workstation/default.nix | 114 + modules/nixos/programs/dolphin/default.nix | 71 + modules/nixos/programs/sops/.sops.yaml | 13 + modules/nixos/programs/sops/default.nix | 36 + .../nixos/programs/sops/secrets/secrets.yaml | 58 + modules/nixos/security/users/default.nix | 44 + modules/nixos/services/syncthing/default.nix | 40 + modules/nixos/windowManagers/niri/default.nix | 42 + nixos/modules/impermanence/default.nix | 2 +- nixos/modules/steam/default.nix | 133 +- overlays/pass/default.nix | 7 + packages/root-files/default.nix | 11 + .../x86_64-linux/kylekrein-homepc/default.nix | 20 + .../x86_64-linux/kylekrein-homepc/facter.json | 7663 +++++++++++++++++ .../x86_64-linux/kylekrein-wsl-wm/default.nix | 132 + templates/default.nix | 21 + templates/home/default.nix | 23 + templates/module/default.nix | 25 + templates/overlay/default.nix | 3 + templates/system/default.nix | 39 + 31 files changed, 9106 insertions(+), 382 deletions(-) create mode 100644 lib/module/default.nix create mode 100644 modules/nixos/gpg/default.nix create mode 100644 modules/nixos/hardware/bluetooth/default.nix create mode 100644 modules/nixos/hardware/printing/default.nix create mode 100644 modules/nixos/impermanence/default.nix create mode 100644 modules/nixos/loginManagers/sddm/default.nix create mode 100644 modules/nixos/presets/default/default.nix create mode 100644 modules/nixos/presets/gaming/default.nix create mode 100644 modules/nixos/presets/wayland/default.nix create mode 100644 modules/nixos/presets/workstation/default.nix create mode 100644 modules/nixos/programs/dolphin/default.nix create mode 100644 modules/nixos/programs/sops/.sops.yaml create mode 100644 modules/nixos/programs/sops/default.nix create mode 100644 modules/nixos/programs/sops/secrets/secrets.yaml create mode 100644 modules/nixos/security/users/default.nix create mode 100644 modules/nixos/services/syncthing/default.nix create mode 100644 modules/nixos/windowManagers/niri/default.nix create mode 100644 overlays/pass/default.nix create mode 100644 packages/root-files/default.nix create mode 100644 systems/x86_64-linux/kylekrein-homepc/default.nix create mode 100644 systems/x86_64-linux/kylekrein-homepc/facter.json create mode 100644 systems/x86_64-linux/kylekrein-wsl-wm/default.nix create mode 100644 templates/default.nix create mode 100644 templates/home/default.nix create mode 100644 templates/module/default.nix create mode 100644 templates/overlay/default.nix create mode 100644 templates/system/default.nix diff --git a/flake.lock b/flake.lock index 6fd2580..b846b7a 100644 --- a/flake.lock +++ b/flake.lock @@ -545,6 +545,55 @@ "type": "github" } }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "ref": "v1.0.1", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_9": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -702,6 +751,44 @@ "type": "github" } }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_3" + }, + "locked": { + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + } + }, + "flake-utils-plus_2": { + "inputs": { + "flake-utils": "flake-utils_4" + }, + "locked": { + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + } + }, "flake-utils_2": { "inputs": { "systems": "systems_2" @@ -720,6 +807,39 @@ "type": "github" } }, + "flake-utils_3": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -3982,6 +4102,8 @@ "nixpkgs": "nixpkgs_14", "nixpkgs-master": "nixpkgs-master", "nixpkgs-unstable": "nixpkgs-unstable", + "snowfall-flake": "snowfall-flake", + "snowfall-lib": "snowfall-lib_2", "sops-nix": "sops-nix", "stylix": "stylix" } @@ -4084,6 +4206,74 @@ "type": "github" } }, + "snowfall-flake": { + "inputs": { + "flake-compat": "flake-compat_7", + "nixpkgs": [ + "nixpkgs" + ], + "snowfall-lib": "snowfall-lib" + }, + "locked": { + "lastModified": 1749330936, + "narHash": "sha256-uy1G+/KeI+9nVsNupTFSe0Fvt18PYOiQKroP+JOoucA=", + "owner": "snowfallorg", + "repo": "flake", + "rev": "4b2adcd54b0d194cf2a859f5dfe8d16d0d264bf6", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "flake", + "type": "github" + } + }, + "snowfall-lib": { + "inputs": { + "flake-compat": "flake-compat_8", + "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "snowfall-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716675292, + "narHash": "sha256-7TFvVE4HR/b65/0AAhewYHEJzUXxIEJn82ow5bCkrDo=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "5d6e9f235735393c28e1145bec919610b172a20f", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "ref": "v3.0.2", + "repo": "lib", + "type": "github" + } + }, + "snowfall-lib_2": { + "inputs": { + "flake-compat": "flake-compat_9", + "flake-utils-plus": "flake-utils-plus_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736130495, + "narHash": "sha256-4i9nAJEZFv7vZMmrE0YG55I3Ggrtfo5/T07JEpEZ/RM=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "02d941739f98a09e81f3d2d9b3ab08918958beac", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_15" @@ -4113,7 +4303,7 @@ "gnome-shell": "gnome-shell", "nixpkgs": "nixpkgs_16", "nur": "nur", - "systems": "systems_4", + "systems": "systems_5", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -4195,6 +4385,21 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 84aca2d..edf51fd 100644 --- a/flake.nix +++ b/flake.nix @@ -69,294 +69,56 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; lanzaboote.url = "github:nix-community/lanzaboote"; - }; - outputs = { - self, - nixpkgs, - nixpkgs-unstable, - ... - } @ inputs: let - systems = ["aarch64-linux" "x86_64-linux"]; - eachSystem = nixpkgs.lib.genAttrs systems; - pkgsFor = eachSystem (system: - import nixpkgs { - localSystem = system; - overlays = [ - ]; - }); - arm = "aarch64-linux"; - x86 = "x86_64-linux"; - ladybirdMaster = self: super: { - ladybird = super.ladybird.overrideAttrs (old: { - src = super.fetchFromGitHub { - owner = "LadybirdWebBrowser"; - repo = "ladybird"; - rev = "71222df4c4103d306fd05b9b0bffb1c1b8e5485e"; - hash = "sha256-hJkK7nag3Z9E8etPFCo0atUEJJnPjjkl7sle/UwkzbE="; - }; - version = "0-unstable-2025-05-22"; - }); + # The name "snowfall-lib" is required due to how Snowfall Lib processes your + # flake's inputs. + snowfall-lib = { + url = "github:snowfallorg/lib"; + inputs.nixpkgs.follows = "nixpkgs"; }; - nativePackagesOverlay = self: super: { - stdenv = super.impureUseNativeOptimizations super.stdenv; - }; - kylekrein-homepc-pkgs = nixpkgs: - import nixpkgs { - system = x86; - overlays = [ - inputs.beeengine.overlays.${x86} - (final: prev: { - #https://github.com/NixOS/nixpkgs/issues/388681 - pythonPackagesExtensions = - prev.pythonPackagesExtensions - ++ [ - ( - python-final: python-prev: { - onnxruntime = python-prev.onnxruntime.overridePythonAttrs ( - oldAttrs: { - buildInputs = prev.lib.lists.remove prev.onnxruntime oldAttrs.buildInputs; - } - ); - } - ) - ]; - }) - #nativePackagesOverlay - #ladybirdMaster - ]; - config = { - allowBroken = true; - allowUnfree = true; - cudaSupport = true; - }; - }; - kylekrein-server-pkgs = nixpkgs: - import nixpkgs { - system = x86; - overlays = [ - (self: super: { - conduwuit = inputs.conduwuit.packages."${x86}".all-features; - }) - #nativePackagesOverlay - #ladybirdMaster - ]; - config = { - allowBroken = true; - allowUnfree = true; - }; - }; - kylekrein-framework12-pkgs = nixpkgs: - import nixpkgs { - system = x86; - overlays = [ - inputs.beeengine.overlays.${x86} - ]; - config = { - allowBroken = true; - allowUnfree = true; - }; - }; - kylekrein-mac-pkgs = nixpkgs: - import nixpkgs { - system = arm; - overlays = [ - inputs.beeengine.overlays.${arm} - #nativePackagesOverlay - #(import ./nixos/macos/widevine.nix) - ]; - #config.replaceStdenv = {pkgs}: pkgs.impureUseNativeOptimizations pkgs.stdenv; - config = { - allowBroken = true; - allowUnfree = true; - allowUnsupportedSystem = true; - }; - }; - kylekrein-wsl-pkgs = nixpkgs: - import nixpkgs { - system = x86; - overlays = [ - #nativePackagesOverlay - ]; - config = { - allowUnfree = true; - }; - }; - andrej-pc-pkgs = nixpkgs: - import nixpkgs { - system = x86; - overlays = [ - inputs.beeengine.overlays.${x86} - #nativePackagesOverlay - ]; - config = { - #allowBroken = true; - allowUnfree = true; - #cudaSupport = true; - }; - }; - - first-nixos-install = "1729112485"; #stat -c %W / - in { - formatter = eachSystem ( - system: let - pkgs = pkgsFor.${system}; - in - pkgs.alejandra - ); - nixOnDroidConfigurations.default = inputs.nix-on-droid.lib.nixOnDroidConfiguration { - pkgs = import nixpkgs { - system = "aarch64-linux"; - overlays = [inputs.nix-on-droid.overlays.default]; - }; - modules = [./nixos/hosts/android]; - home-manager-path = inputs.home-manager.outPath; - extraSpecialArgs = { - inherit inputs; - inherit first-nixos-install; - }; - }; - darwinConfigurations = { - "kylekrein-air" = inputs.nix-darwin.lib.darwinSystem { - specialArgs = { - inherit self; - inherit inputs; - }; - modules = [./nixos/hosts/kylekrein-air]; - }; - }; - nixosConfigurations = { - "kylekrein-homepc" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "kylekrein-homepc"; - isLaptop = false; - hasTouchscreen = false; - system = x86; - useImpermanence = true; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = kylekrein-homepc-pkgs nixpkgs-unstable; - }; - - system = x86; - pkgs = kylekrein-homepc-pkgs nixpkgs; - modules = [ - (import ./disko/impermanence-btrfs.nix {device = "/dev/nvme0n1";}) - ./nixos/configuration.nix - ]; - }; - "kylekrein-framework12" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "kylekrein-framework12"; - isLaptop = true; - hasTouchscreen = true; - system = x86; - useImpermanence = true; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = kylekrein-framework12-pkgs nixpkgs-unstable; - }; - - system = x86; - pkgs = kylekrein-framework12-pkgs nixpkgs; - modules = [ - (import ./disko/impermanence-btrfs-luks.nix { - device = "/dev/nvme0n1"; - lib = (kylekrein-framework12-pkgs nixpkgs).lib; - }) - ./nixos/configuration.nix - ]; - }; - "kylekrein-mac" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "kylekrein-mac"; - isLaptop = true; - hasTouchscreen = false; - system = arm; - useImpermanence = true; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = kylekrein-mac-pkgs nixpkgs-unstable; - }; - - system = arm; - pkgs = kylekrein-mac-pkgs nixpkgs; - modules = [ - ./nixos/configuration.nix - ]; - }; - "kylekrein-server" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "kylekrein-server"; - isLaptop = false; - hasTouchscreen = false; - system = x86; - useImpermanence = false; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = kylekrein-server-pkgs nixpkgs-unstable; - }; - - system = x86; - pkgs = kylekrein-server-pkgs nixpkgs; - modules = [ - ./nixos/hosts/kylekrein-server - ]; - }; - "kylekrein-wsl" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "kylekrein-wsl"; - isLaptop = true; - hasTouchscreen = false; - system = x86; - useImpermanence = false; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = kylekrein-wsl-pkgs nixpkgs-unstable; - }; - - system = x86; - pkgs = kylekrein-wsl-pkgs nixpkgs; - modules = [ - inputs.nixos-wsl.nixosModules.default - ./nixos/wsl.nix - ]; - }; - "andrej-pc" = nixpkgs.lib.nixosSystem { - specialArgs = { - hwconfig = { - hostname = "andrej-pc"; - isLaptop = false; - hasTouchscreen = false; - system = x86; - useImpermanence = false; - }; - inherit first-nixos-install; - inherit inputs; - unstable-pkgs = andrej-pc-pkgs nixpkgs-unstable; - }; - - system = x86; - pkgs = andrej-pc-pkgs nixpkgs; - modules = [ - (import ./disko/ext4-swap.nix { - device = "/dev/sda"; - swapSize = "16G"; - }) - (import ./disko/ext4.nix {device = "/dev/sdb";}) - ./nixos/hosts/andrej-pc/configuration.nix - ]; - }; + snowfall-flake = { + url = "github:snowfallorg/flake"; + inputs.nixpkgs.follows = "nixpkgs"; }; }; + + outputs = inputs: + inputs.snowfall-lib.mkFlake { + inherit inputs; + src = ./.; + + channels-config = { + allowUnfree = true; + }; + + overlays = with inputs; [ + niri-flake.overlays.niri + snowfall-flake.overlays.default + ]; + + systems.modules.nixos = with inputs; [ + nix-flatpak.nixosModules.nix-flatpak + niri-flake.nixosModules.niri + nixos-wsl.nixosModules.default + sops-nix.nixosModules.sops + nixos-facter-modules.nixosModules.facter + home-manager.nixosModules.default + disko.nixosModules.default + chaotic.nixosModules.nyx-cache + chaotic.nixosModules.nyx-overlay + chaotic.nixosModules.nyx-registry + lanzaboote.nixosModules.lanzaboote + impermanence.nixosModules.impermanence + ]; + + templates = import ./templates {}; + + snowfall = { + namespace = "custom"; + meta = { + name = "KyleKrein's awesome Nix Flake"; + title = "KyleKrein's awesome Nix Flake"; + }; + }; + }; } diff --git a/lib/module/default.nix b/lib/module/default.nix new file mode 100644 index 0000000..aa0ad46 --- /dev/null +++ b/lib/module/default.nix @@ -0,0 +1,15 @@ +{lib, ...}: +with lib; rec { + mkOpt = type: default: description: + mkOption {inherit type default description;}; + + mkOpt' = type: default: mkOpt type default null; + + mkBoolOpt = mkOpt types.bool; + + mkBoolOpt' = mkOpt' types.bool; + + enabled = {enable = true;}; + + disabled = {enable = false;}; +} diff --git a/modules/nixos/gpg/default.nix b/modules/nixos/gpg/default.nix new file mode 100644 index 0000000..df35309 --- /dev/null +++ b/modules/nixos/gpg/default.nix @@ -0,0 +1,30 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.gpg; +in { + options.${namespace}.gpg = with types; { + enable = mkBoolOpt false "Enable gpg with emacs/terminal support"; + }; + + config = mkIf cfg.enable { + programs.gnupg.agent = { + enable = true; + settings = { + pinentry-program = lib.mkForce "${pkgs.pinentry-curses}/bin/pinentry-curses"; + }; + }; + }; +} diff --git a/modules/nixos/hardware/bluetooth/default.nix b/modules/nixos/hardware/bluetooth/default.nix new file mode 100644 index 0000000..e326b48 --- /dev/null +++ b/modules/nixos/hardware/bluetooth/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.hardware.bluetooth; +in { + options.${namespace}.hardware.bluetooth = with types; { + enable = mkBoolOpt false "Enable bluetooth support"; + }; + + config = + mkIf cfg.enable { + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + settings = { + General = { + Experimental = true; + }; + }; + }; + services.blueman.enable = true; + }; +} diff --git a/modules/nixos/hardware/printing/default.nix b/modules/nixos/hardware/printing/default.nix new file mode 100644 index 0000000..5b4e8d9 --- /dev/null +++ b/modules/nixos/hardware/printing/default.nix @@ -0,0 +1,34 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.hardware.printing; +in { + options.${namespace}.hardware.printing = with types; { + enable = mkBoolOpt false "Enable printers support"; + }; + + config = + mkIf cfg.enable { + environment.systemPackages = with pkgs; [ +system-config-printer +]; + services.printing.enable = true; + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + }; +} diff --git a/modules/nixos/impermanence/default.nix b/modules/nixos/impermanence/default.nix new file mode 100644 index 0000000..fc1d636 --- /dev/null +++ b/modules/nixos/impermanence/default.nix @@ -0,0 +1,116 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.impermanence; + persist = cfg.persistentStorage; + rootIsBtrfs = config.fileSystems."/".fsType == "btrfs"; +in { + options.${namespace}.impermanence = with types; { + enable = mkBoolOpt false "Enable impermanence"; + persistentStorage = lib.mkOption { + type = lib.types.path; + default = "/persist"; + description = '' + Volume with persistent information, that won't be destroyed after reboot + ''; + }; + }; + + config = mkIf cfg.enable { + fileSystems.${persist}.neededForBoot = true; + environment.persistence."${persist}/system" = { + hideMounts = true; + directories = [ + "/var/lib/sbctl" + "/etc/nixos" + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/flatpak" + "/var/lib/zerotier-one" + "/var/lib/systemd/coredump" + "/var/lib/acme" + #"/var/lib/conduwuit" + "/etc/NetworkManager/system-connections" + { + directory = "/var/lib/colord"; + user = "colord"; + group = "colord"; + mode = "u=rwx,g=rx,o="; + } + ]; + files = [ + "/etc/machine-id" + { + file = "/var/keys/secret_file"; + parentDirectory = {mode = "u=rwx,g=,o=";}; + } + ]; + }; + systemd.tmpfiles.rules = [ + "d ${persist}/home/ 0777 root root -" # /persist/home created, owned by root + "d ${persist}/ollama/ 0755 ollama ollama" + "d ${persist}/open-webui/ 0755 ollama ollama" + "d ${persist}/conduwuit/ 0755 conduwuit conduwuit" + #"d /persist/home/${username} 0700 ${username} users -" # /persist/home/ created, owned by that user + #"d /persist/nixos-config 0700 ${username} users -" + ]; + + programs.fuse.userAllowOther = true; + + #https://blog.decent.id/post/nixos-systemd-initrd/ + boot.initrd.systemd.services.btrfs-rollback-impermanence = lib.mkIf (rootIsBtrfs && config.boot.initrd.systemd.enable) { + description = "Rollback BTRFS root dataset to blank snapshot"; + wantedBy = ["initrd.target"]; + requires = ["initrd-root-device.target"]; + after = [ + "initrd-root-device.target" + # LUKS/TPM process + "systemd-cryptsetup@root_vg.service" + "local-fs-pre.target" + ]; + before = [ + "sysroot.mount" + "create-needed-for-boot-dirs.service" + ]; + unitConfig.DefaultDependencies = "no"; + serviceConfig.Type = "oneshot"; + script = '' + mkdir -p /btrfs_tmp + mount /dev/mapper/root_vg /btrfs_tmp + if [[ -e /btrfs_tmp/root ]]; then + mkdir -p /btrfs_tmp/old_roots + timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") + mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" + fi + + delete_subvolume_recursively() { + IFS=$'\n' + for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do + delete_subvolume_recursively "/btrfs_tmp/$i" + done + btrfs subvolume delete "$1" + } + + for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +7); do + delete_subvolume_recursively "$i" + done + + btrfs subvolume create /btrfs_tmp/root + umount /btrfs_tmp + ''; + }; + }; +} diff --git a/modules/nixos/loginManagers/sddm/default.nix b/modules/nixos/loginManagers/sddm/default.nix new file mode 100644 index 0000000..ecb8922 --- /dev/null +++ b/modules/nixos/loginManagers/sddm/default.nix @@ -0,0 +1,46 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.loginManagers.sddm; +in { + options.${namespace}.loginManagers.sddm = with types; { + enable = mkBoolOpt false "Enable sddm as login manager"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + (catppuccin-sddm.override { + flavor = "mocha"; + # font = ""; + fontSize = "16"; + #background; + loginBackground = false; + }) + wvkbd + ]; + services.xserver.enable = true; + services.displayManager.sddm = { + enable = true; + theme = "catppuccin-mocha"; + package = mkDefault pkgs.kdePackages.sddm; + wayland.enable = mkDefault config.${username}.presets.wayland.enable; + settings = { + General = { + InputMethod = "wvkbd-mobintl"; # Enables optional virtual keyboard at login (SDDM). Useful for touchscreens or accessibility. + }; + }; + }; + }; +} diff --git a/modules/nixos/presets/default/default.nix b/modules/nixos/presets/default/default.nix new file mode 100644 index 0000000..b55098c --- /dev/null +++ b/modules/nixos/presets/default/default.nix @@ -0,0 +1,79 @@ +{ + lib, + pkgs, + namespace, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.presets.default; +in { + options.${namespace}.presets.default = with types; { + enable = mkBoolOpt false "Enable preset with all the default settings - locale, time, etc"; + }; + + config = mkIf cfg.enable { + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # Select internationalisation properties. + i18n.defaultLocale = "ru_RU.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/etc/nixos-config"; + }; + environment.systemPackages = with pkgs; [ + nix-output-monitor + fzf + lazygit + git + btop + comma + snowfallorg.flake + ]; + programs.bash = { + shellAliases = { + ls = "${pkgs.eza}/bin/eza --icons=always"; + }; + }; + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us,ru"; + variant = ""; + options = "grp:caps_toggle"; + }; + console.keyMap = "us"; + nix = { + settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + auto-optimise-store = true; + substituters = [ + "https://nix-gaming.cachix.org" + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; + }; + }; +} diff --git a/modules/nixos/presets/gaming/default.nix b/modules/nixos/presets/gaming/default.nix new file mode 100644 index 0000000..840f170 --- /dev/null +++ b/modules/nixos/presets/gaming/default.nix @@ -0,0 +1,62 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.presets.gaming; +in { + options.${namespace}.presets.gaming = with types; { + enable = mkBoolOpt false "Enable everything that you need for gaming"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + unzip + wget + xdotool + xorg.xprop + xorg.xrandr + unixtools.xxd + xorg.xwininfo + yad + protonup-qt + protontricks + bottles + ]; + programs.steam = { + enable = true; + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers + package = pkgs.steam.override { + extraPkgs = pkgs: + with pkgs; [ + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXScrnSaver + libpng + libpulseaudio + libvorbis + sdl3 + SDL2 + stdenv.cc.cc.lib + libkrb5 + keyutils + gamescope + ]; + }; + }; + programs.gamemode.enable = true; + }; +} diff --git a/modules/nixos/presets/wayland/default.nix b/modules/nixos/presets/wayland/default.nix new file mode 100644 index 0000000..3d539ab --- /dev/null +++ b/modules/nixos/presets/wayland/default.nix @@ -0,0 +1,33 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.presets.wayland; +in { + options.${namespace}.presets.wayland = with types; { + enable = mkBoolOpt false "Enable preset with MUST HAVE wayland things"; + }; + + config = mkIf cfg.enable { + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + }; + environment.systemPackages = with pkgs; [ + wl-clipboard + git-credential-manager + egl-wayland + ]; + hardware.graphics.enable = true; + }; +} diff --git a/modules/nixos/presets/workstation/default.nix b/modules/nixos/presets/workstation/default.nix new file mode 100644 index 0000000..bd9cc7c --- /dev/null +++ b/modules/nixos/presets/workstation/default.nix @@ -0,0 +1,114 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.presets.workstation; +in { + options.${namespace}.presets.workstation = with types; { + enable = mkBoolOpt false "Enable workstation preset"; + }; + + config = mkIf cfg.enable { + ${namespace} = { + presets.default = enabled; + presets.wayland = enabled; + hardware.printing = enabled; + hardware.bluetooth = enabled; + gpg = enabled; + services.syncthing = { + enable = true; + user = "kylekrein"; + }; + }; + + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; + networking.networkmanager.enable = true; + services.udisks2.enable = true; + + environment.systemPackages = with pkgs; + with pkgs.${namespace}; [ + libreoffice + root-files + pass + gparted + qdirstat + exfatprogs + kitty + tealdeer + telegram-desktop + vlc + git-credential-manager + kitty-themes + solaar + pdfarranger + densify + gimp3 + + #kde + kdePackages.gwenview + kdePackages.ark + + # user packages + obs-studio + neovim + localsend + + gdb + element-desktop + ]; + programs.kdeconnect.enable = true; + programs.kdeconnect.package = lib.mkDefault pkgs.kdePackages.kdeconnect-kde; + fonts.packages = with pkgs; [ + nerd-fonts.jetbrains-mono + font-awesome + nerd-fonts.symbols-only + hack-font + # microsoft fonts: + #corefonts + #vistafonts + ]; + environment.sessionVariables = { + MANPAGER = "emacsclient -c"; + EDITOR = "emacsclient -c"; + }; + hardware = { + logitech.wireless.enable = true; + }; + + security.polkit.enable = true; + + #programs.thunar = { + # enable = true; + # plugins = with pkgs.xfce; [ + # thunar-archive-plugin + # thunar-volman + # ]; + # }; + #programs.xfconf.enable = true; # so thunar can save config + #services.gvfs.enable = true; # Mount, trash, and other functionalities + #services.tumbler.enable = true; # Thumbnail support for images + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + }; +} diff --git a/modules/nixos/programs/dolphin/default.nix b/modules/nixos/programs/dolphin/default.nix new file mode 100644 index 0000000..5e9e24c --- /dev/null +++ b/modules/nixos/programs/dolphin/default.nix @@ -0,0 +1,71 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.programs.dolphin; +in { + options.${namespace}.programs.dolphin = with types; { + enable = mkBoolOpt false "Enable dolphin on non Kde environments"; + }; + + config = + mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + kdePackages.qtwayland + kdePackages.qtsvg + kdePackages.kio-fuse #to mount remote filesystems via FUSE + kdePackages.kio-extras #extra protocols support (sftp, fish and more) + kdePackages.kio-admin + libheif #https://github.com/NixOS/nixpkgs/issues/164021 + libheif.out + + #kde + kdePackages.breeze-icons + kdePackages.breeze + kdePackages.kdesdk-thumbnailers + kdePackages.kdegraphics-thumbnailers + kdePackages.kservice + kdePackages.kdbusaddons + kdePackages.kfilemetadata + kdePackages.kconfig + kdePackages.kcoreaddons + kdePackages.kcrash + kdePackages.kguiaddons + kdePackages.ki18n + kdePackages.kitemviews + kdePackages.kwidgetsaddons + kdePackages.kwindowsystem + shared-mime-info + + #kde support tools + #libsForQt5.qt5ct + #qt6ct + kdePackages.kimageformats + kdePackages.dolphin + kdePackages.dolphin-plugins + ]; + xdg = { + menus.enable = true; + mime.enable = true; + }; + + #https://discourse.nixos.org/t/dolphin-does-not-have-mime-associations/48985/3 + # This fixes the unpopulated MIME menus + environment.etc."/xdg/menus/plasma-applications.menu".text = builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; + environment.etc."/xdg/menus/applications.menu".text = builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; + #environment.pathsToLink = [ + # "share/thumbnailers" + #]; + }; +} diff --git a/modules/nixos/programs/sops/.sops.yaml b/modules/nixos/programs/sops/.sops.yaml new file mode 100644 index 0000000..f12e0b0 --- /dev/null +++ b/modules/nixos/programs/sops/.sops.yaml @@ -0,0 +1,13 @@ +keys: + - &primary age1l8euy4w4nccrpdmfdfct468parcrulkqcts2jcljajs2as0k7passdv2x4 + - &kylekrein-framework12 age10s6c9har9pg2a0md30fhpp2mfy89xxrrnu5dwrjtqzh3lktcdaysq7st65 + - &kylekrein-mac age12apyh4f5m002npnfq5kansrzme6umtzsvc6m96fjz752gg8c7a8s8e48xd + - &kylekrein-homepc age1z6d8gk5fhm5mkkcrm4dycs4ugqaar3ls2h5ehwul9qcqhl9x4q8szmz6c7 +creation_rules: + - path_regex: secrets/secrets.yaml$ + key_groups: + - age: + - *primary + - *kylekrein-framework12 + - *kylekrein-mac + - *kylekrein-homepc diff --git a/modules/nixos/programs/sops/default.nix b/modules/nixos/programs/sops/default.nix new file mode 100644 index 0000000..84face0 --- /dev/null +++ b/modules/nixos/programs/sops/default.nix @@ -0,0 +1,36 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.programs.sops; + impermanence = config.${namespace}.impermanence; + keyPath = + if impermanence.enable + then "${impermanence.persistentStorage}/sops/age/keys.txt" + else "/var/lib/sops/age/keys.txt"; +in { + options.${namespace}.programs.sops = with types; { + enable = mkBoolOpt true "Enable KyleKrein's default sops settings"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [sops]; + sops.defaultSopsFile = ./secrets/secrets.yaml; + sops.defaultSopsFormat = "yaml"; + sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key" "${impermanence.persistentStorage}/home/kylekrein/.ssh/id_ed25519" "/home/kylekrein/.ssh/id_ed25519"]; + sops.age.keyFile = keyPath; + # This will generate a new key if the key specified above does not exist + sops.age.generateKey = true; + }; +} diff --git a/modules/nixos/programs/sops/secrets/secrets.yaml b/modules/nixos/programs/sops/secrets/secrets.yaml new file mode 100644 index 0000000..16f7c67 --- /dev/null +++ b/modules/nixos/programs/sops/secrets/secrets.yaml @@ -0,0 +1,58 @@ +users: + kylekrein: ENC[AES256_GCM,data:DNLVQ4IPFhUG9MR9hk2BuElvfNZIky3nMGWgilutRwvT3wl25vOLEETrBFoWUO+2ZgLSnhtwWtIJhNlRlTK/rsrUNVTOdwq9AA==,iv:Z+dhr33Wotm064IcwtNfFpvQeL03T29Dn3Bl9VqPL1g=,tag:Qe3sOY0DegSKDptBjnbFrQ==,type:str] + tania: ENC[AES256_GCM,data:veo/dKQpztSGLfCxpWqoTOlPqSaNeNW2pYrTU9z125hjBVt2LC8X+mDp8vA0r8QFKpkGr1BiwviUTuXsSO1IXn3nHfDGsHQqFQ==,iv:q3pCcil1wiKe5xC6QEn3Q4wV1icW+3CCUQw6QZIINWU=,tag:XvBfIEORfdTcUihtcJQZVg==,type:str] + andrej: ENC[AES256_GCM,data:x/cWcswSDMFxXSLXe1JWGnQAuPYWM5AU4X3WxVAqUIifcYWxxynMfL9LXEgo3sP1IvRyp4FW+voWQrJM/KGdbYkkrAJNhbD7/Q==,iv:C51H9Zz4nxB+K1cohRq+1oPQ/ckDgVCMW4vB4+3wEt8=,tag:8ENLfMIoHbJGxceCKZulxg==,type:str] +services: + conduwuit: ENC[AES256_GCM,data:1shEq67QJTkeqrfYSr/eYG7gYWH//5ey6XQ=,iv:hy5wQmue8qU4ALfn9BrNQLnsTk8BsVVXY/8bDj18mXk=,tag:h6+hL0HjgSzd15Kc7Zg4ng==,type:str] + gitlab: + dbPassword: ENC[AES256_GCM,data:itn9xyNZO+xkSk0GKvLzjLRzM0uZ+TalqLtj6tyjKXM=,iv:U8bX/On89wz6Lz4R2/fZ+FWRObehlnjFhUQdAhmxb60=,tag:oEbee14jCGfRs8i5bJZ5FA==,type:str] + rootPassword: ENC[AES256_GCM,data:lXq+GIn6ooTzZL4iMYFzx3kn8gdcdsNaLQ/zVCr75Nw=,iv:mGp9gxL9uABpbod/ZNNyEllBbcfrQuFG4pQgs0v/xbk=,tag:CZzj4hauh/Qi8fvtmaZ/KQ==,type:str] + secret: ENC[AES256_GCM,data:W7PfRh80hzMZrJebHgs4CJeeABWIVVkh3ByTF1Yfavw=,iv:WnLEACeCZOf+YpF4RzQCXG6uPEq7zrE6u7DQQLZjL/Q=,tag:3qjnIeoptMsIxIbTh5TR+Q==,type:str] + dbsecret: ENC[AES256_GCM,data:5VJdhvr1z3sYlXJz0u1eKk5UBt9rKzMiTQcawA64/K0dL6A3WCppnmHeLw6X0vJPnZ6uqJuEDyV7DU5nEg==,iv:fk0oDjYfxzWD2SmVSlwrvJeiHrMxUhR41bqQJ5IXs18=,tag:9cSlRX+bvr8vjBtxwqbeFw==,type:str] + otpsecret: ENC[AES256_GCM,data:enBP2fsr+VaHuK93GGDtgGMSf20yxgLloHIHIibFfLo=,iv:iLLVuypLXySsw363Y9CSz5Kqa3CCNQFwURdOoi5Ig20=,tag:CgUMcT+x/134JJaScHLlOQ==,type:str] + activeRecordSalt: ENC[AES256_GCM,data:kbIImurv4lpcJJMQlEVJJpuuBTw/OUG+PW3Y9kQlIVM=,iv:1ymv3gmRhff49uaTLrIkWA0rX1wtRdfpa0551zHvsko=,tag:KDrDNg9sKRomGH8psS17gA==,type:str] + activeRecordPrimaryKey: ENC[AES256_GCM,data:AfL5kKmD2uqzq07xCCELDPLtZinE4b4RAmqd9xWAxgg=,iv:3Mhadey/k6k3/Ysb2KQ4eb9lDzHQJRAKP8R1Fw4wFdg=,tag:/0wS7lVkuoYTMCut8UEXWg==,type:str] + activeRecordDeterministicKey: ENC[AES256_GCM,data:pJBZAL60XeCrW7CPx76WcWpsYOwlR4OWmIP/61vNL3k=,iv:t/YmnVFge6kLiQjXD6RKNn7r5Oy1Aeyi3ZIaP57Nhig=,tag:L4aU4h4KdbsSNDpgybaV3g==,type:str] + oidcKeyBase: ENC[AES256_GCM,data:hHBdaIynMg8eWiwDjDfN+8PcUjOPl9VzG6lu2Z1eRrC2PaVXORg1Eh6YPi83efqhaSbONHeiORGsLM/NYHFcviEvQ8aZXb9y/ojKPHdyjYvkedIU1alyfWqiz8+xP/H2JFPgMdDsO6Tt4IswTMCfbNOXY2+RwImLACxTDoeY9LX2wklrGWh7F7DqAYymM2T6PrulJqGtbrep3yEylb5kqPZU34aJQzdZ7/zA5EW68xTOWEElCcxfkr2ThCywk6quUQaaCsqVAjZhULRDYfDA/umF8r6S7eNh0eFm6X17xsLTgkSMkx4gLvaUxtLG9bGM/5FJ6823hyRSTNXZx0cV7f195mqeUhn6rvUIl6qC8O7Ln6auWxjuJDRo+1Phr4J3dQMBXBaG2WpQFufgXNw8qWpMEqpiN6CjXhFYWJT/TxCZR+Bdxqt8Fegk0DjcEQFbJDOKKV3/JMu1hIsydeVRTmyy06EbBKSfAIgFddQIA7DmxqK6tqLRtITQ1K9xGnt4msiqgfv1XiyeTo+vmptYVDGLSLtB6yfOKvs/U31RlNESwcHwIqlisl1bex5HV10OCcMkFVhhffoiT1Swdj9ilMhd3TkgL2uJstC26QuyB4Gdnmz28MWU28JXP7qVf0rvq6nNPYAKpO3LgNPx5JrCz6DGCxSZiJOQ0fYDxz5QC2EznAbmZachg8tBb4Hmd/CvEtMMvWfkxueadTV7fWR0l3R4H1cizUF8j2NIfqWb6TQLIy25PaOSNnyZ+a4NFZDgZQcpl4zbCLVKHEKGDGhMr4SpEtKzasZSwv1jw7TZoiN8I2g1hSdZRCq3KJ2nAIGvlZd8NUTsksxsIXcxaoM1rfl4dIOfHm3H+HcKmnMYafnCH0EgdRZeAv1sonDzUOEl2G8myUTa3xNlR43lauIG0ipat83UO6INFh4N0TFJtirPHjm72ZMfUK89ut5fWnYqiKopkJEtAy7Bk1EUbXwuRfBDB34m8AFdDGbVWWVaoVJkSuIr8PHMsFhJRGn1TUit7tDQfgPvLpPD0Wiq2PBgoExZ8qLYUDdOCvTxWnZ+gpTRghiBebulNR0xGOCeopg4qiMZ7rWfUJHsqNUazpak1JPIWC8wYIJ4vojjIH1TCpl11lYUvXy1ffFkcWBYplsGYBuY3qpXG/Od3yrdwPKzhHPjPpWDdxZJBW91HRdq0qhq9mYIr28kqGF4Mg60cGGdin+/O0jcfzWzwhjibEfrfuzBqhHknTPXDTlKPBctdvcQZRUsOS0d6SrNRXOvvzlSTrUowaQTSrZNzNDpAt3VKYJDnXGgwnAZSk8zhRM7J6bc9artgm75qBWuZCxLHbcqyBeWVRALYPkWp5h1bLCaGHgC7x986d0mGxfU9p2szIRyacbJN/ITIuDuDmvBt9NWydkkdT3GZE9uhbxQMgfkKyLyXvf7LrF1iSmIos15tYCZrxAcu0LMo2mqW51e92uc4AXE8rVB4k7z2j19F5sW9GMQgKOk6qT1CSpzfHvPpVdKQ5cVVj4X5GZOao5flo1tO/sNwE92Jpc/jLw96737rRDGe9vSkdbyhSS1wrF4+P59QPxsdelSAYZF6YMgSN0yCJFuRLWfj6IpxpBIEEuB5QACCHnDiWi9cFEwRaq6EX6f87Joznd9o1kwASmMXpkXqv/rLorjlqdXajwdFXEmNUFMqX90va7LvlZJPHhvXmgJCwdHAKacQj1m0Ji4EqSZhM/I1uEhG6zTc2jE46N2peVf2JytEGpbgF/m2pyGJDDQ5SDIfG+4AdUXVTk68wl0Q2SSjBb4d/N8XNfPHHToXEuNsNmHZx/4Yt9b+RJqzl3Mi+HOvJP/mz8wR7TxceHnuqE0RTvl9TYN0MXkXVfh6ECj6AaDuiL930IYabRZ5do7eMaA2OYZoPvZA4udoctDApyzs0Dn0gVu9sFXUgmNV7YnkETeEtjKEn/sjWmkMFQ+vJoK27H4OuILxYj5jtBhWbjNYeheBVo5jXmANakDO95vlLhlp2t11LrEoR59dNVVvvN3zDuX1/EYI0OvS4Isl7HTk8ud0+8tfzywGAY3LtEhpEffe91gqEleu2atKYWZQ8917ugvmGkNQ5SNJloDFtUFvAAjJypoovQ6JxQOgFGSsgKMMUMSyuUQnjkxThrGL6oMavAGKElJn6xFc48xSvS4dluTotqwzN2gaV5a98PFbw4zda3ltx2uJD3XxYqr1J92P39YMjKihFIALrcXIESV0Aehfap3WATjlRLikTq726wo2n+k,iv:P8C/7NUd1G/VbKz7iWjTVXxMFOxZQxX5d0V4Tj6KeCw=,tag:iq4s3ahqkmf4e7BffjlIcQ==,type:str] +sops: + age: + - recipient: age1l8euy4w4nccrpdmfdfct468parcrulkqcts2jcljajs2as0k7passdv2x4 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxU2dMcDZjNHhFMmltNkRJ + VlZiYk1hdE1Dczhya3J4Q1EyUlY3ekZtVUFnCkpvN2Y0OFNUTnFtbFIxZVhDdnc3 + YWh3S3FWeXFHTlU4Y0ZOZmI5d1F1dTAKLS0tIFhWSWp1d29ORnJGYWZxMDJib0ho + NTFaWFE0Rk4yU2hXYjRsUFhZY3pTR2cKoQkn7UJVh7uIyCEezrd34arkRxScIL3O + 4P/6eDoqXJBkvzwDgidqLLcwuu1nanJpbmr662gRuZmnybwEVp504g== + -----END AGE ENCRYPTED FILE----- + - recipient: age10s6c9har9pg2a0md30fhpp2mfy89xxrrnu5dwrjtqzh3lktcdaysq7st65 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXRU8vd0I0bjRma1pveWVn + ZWFKci9ld2NuRmFla3R0azgzaHl0N20rMHlzCmpaaE1HYmYzVW1RWUw1L0hBclJk + eUlDTWk3ZXJ5Z25HYXJFODQ4T1lHMFUKLS0tIDg0QlhoQll1Q01BY2thSEFTN0RH + cGd4ZG9VUWVxeFlZL2VuVlFsRWVseDQKHKkQONzFlbKMFFzNeATkpUqJdWIAlEL8 + QqUvujs1mMCWw9dqXhlT2ik7LHQO6yp5Oh4gxLg8nhZqs5O+leNdQQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age12apyh4f5m002npnfq5kansrzme6umtzsvc6m96fjz752gg8c7a8s8e48xd + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6Wmc1alppT1BSS0NKcDZ0 + TWNOKzVmQkpmeG1YZ0p4Tm5BVlBxaS81VW44CllubzREc3g0dVB4dUhuMWJDMGtm + UTVBYlZjT3JEWExoSDV5a1BzYk1BMUUKLS0tICtnK2xNalBEWjFPZis2UFRubWxl + aDdZNVZqRnM5U3hRK1gyNFllRVJXMEkKko3YM1MtoWR01/YN/1QtTgtWsGf+r8MH + dZaWrIyAbRMeR/aBSZ3VjiuP1d2G7YtT1fa7/jaXd0igiYu2gWDu9A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1z6d8gk5fhm5mkkcrm4dycs4ugqaar3ls2h5ehwul9qcqhl9x4q8szmz6c7 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBheDVNcVRKTHdxa01zTjJi + NUxGVVlleTNaZnJ6QVhreU9XbGkwaVh6R1N3CkR5T0VKTnd6N0hteDlOUHdKcS9p + YWwzL2lwTExyaUcrcXQ2dG4xOGpZN0UKLS0tIFJZU1hXMUtOSklXYjdtWkt6UTFl + MU43ZWEwMXEwdGx5d0hUNlhiaGdjWU0K9UoNQOnMxTy0KdfiYOgm0TxH5qFUV3gi + f7z2RzR44ndf0nHwIzr8e1bmF9q5mc685Wq9qyM7aLCE+yUU/vUO7Q== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-07-30T16:15:59Z" + mac: ENC[AES256_GCM,data:mmJH3BEqsrboGaQM7yWuHF1MWREC4bLc+RAZgsqlNvhgoWLoaVDLuBjEfuXCDPdnvDPesbUrI8HHA5gz523C0PoJdkoFcRoVOwhLqj6tJjT4JnlaTgpBMN5UqBqt9Gm68mqekE0bm7ihdc3lnn/OkRrxJI3Th5KzUC4zMmdjVsI=,iv:K0f75ft3PQdQ1AUFzrannvLv03fl6FS6se/muMcyQkY=,tag:y3FJQDthKoWvoMHdmcvRQA==,type:str] + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/modules/nixos/security/users/default.nix b/modules/nixos/security/users/default.nix new file mode 100644 index 0000000..985a5e5 --- /dev/null +++ b/modules/nixos/security/users/default.nix @@ -0,0 +1,44 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.security.users; +in { + options.${namespace}.security.users = with types; { + enable = mkBoolOpt true "Enable security measures for users, that include immutable users, disabled root access and ssh rules"; + }; + + config = mkIf cfg.enable { + users = { + mutableUsers = false; + users = { + root = { + # disable root login here, and also when installing nix by running nixos-install --no-root-passwd + # https://discourse.nixos.org/t/how-to-disable-root-user-account-in-configuration-nix/13235/3 + hashedPassword = "!"; # disable root logins, nothing hashes to ! + }; + }; + }; + # Enable the OpenSSH daemon. + services.openssh = { + enable = true; + # require public key authentication for better security + settings.PasswordAuthentication = false; + settings.KbdInteractiveAuthentication = false; + settings.PermitRootLogin = "no"; + }; + networking.firewall.allowedTCPPorts = [22]; + networking.firewall.allowedUDPPorts = [22]; + }; +} diff --git a/modules/nixos/services/syncthing/default.nix b/modules/nixos/services/syncthing/default.nix new file mode 100644 index 0000000..c05cc6a --- /dev/null +++ b/modules/nixos/services/syncthing/default.nix @@ -0,0 +1,40 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.services.syncthing; + impermanence = config.${namespace}.impermanence; +in { + options.${namespace}.services.syncthing = with types; { + enable = mkBoolOpt false "Enable syncthing service for the user"; + user = lib.mkOption { + type = lib.types.singleLineStr; + default = ""; + example = "nixos"; + description = '' + User, that will use the syncthing service (only one at a time) + ''; + }; + }; + + config = + mkIf cfg.enable { + systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true"; # Don't create default ~/Sync folder + services.syncthing = { + inherit (cfg) user; + configDir = optional (impermanence.enable) "${impermanence.persistentStorage}/home/${cfg.user}/.config/syncthing"; + enable = true; + }; + }; +} diff --git a/modules/nixos/windowManagers/niri/default.nix b/modules/nixos/windowManagers/niri/default.nix new file mode 100644 index 0000000..a8925b2 --- /dev/null +++ b/modules/nixos/windowManagers/niri/default.nix @@ -0,0 +1,42 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.windowManagers.niri; +in { + options.${namespace}.windowManagers.niri = with types; { + enable = mkBoolOpt false "Enable Niri as your window manager"; + }; + + config = + mkIf cfg.enable { + ${namespace} = { + loginManagers.sddm.enable = mkDefault true; + security.pam.services.hyprlock = {}; + programs.niri = { + enable = true; + package = pkgs.niri-unstable; + }; + niri-flake.cache.enable = true; + environment.systemPackages = with pkgs; [ + wl-clipboard + wayland-utils + libsecret + gamescope + xwayland-satellite-unstable + swaybg + ]; + }; + }; +} diff --git a/nixos/modules/impermanence/default.nix b/nixos/modules/impermanence/default.nix index 6c6a969..611643b 100644 --- a/nixos/modules/impermanence/default.nix +++ b/nixos/modules/impermanence/default.nix @@ -5,7 +5,7 @@ pkgs, ... }: let - isBtrfs = config.fileSystems."/".fsType == "btrfs"; + rootIsBtrfs = config.fileSystems."/".fsType == "btrfs"; in { imports = [ inputs.impermanence.nixosModules.impermanence diff --git a/nixos/modules/steam/default.nix b/nixos/modules/steam/default.nix index 6b856a0..17be5e9 100644 --- a/nixos/modules/steam/default.nix +++ b/nixos/modules/steam/default.nix @@ -7,104 +7,49 @@ ... }: let cfg = config.kk.steam; - containerPath = - if hwconfig.useImpermanence - then "/persist/home/containers/steam" - else "/var/containers/steam"; - containerName = "fedora-steam"; in { options.kk.steam = { enable = lib.mkEnableOption "Enable steam"; }; - config = lib.mkIf cfg.enable ( - if hwconfig.system == "aarch64-linux" - then { - virtualisation.podman = { - enable = true; - dockerCompat = true; + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + unzip + wget + xdotool + xorg.xprop + xorg.xrandr + unixtools.xxd + xorg.xwininfo + yad + protonup-qt + protontricks + bottles + ]; + programs.steam = { + enable = true; #!hwconfig.useImpermanence; + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers + package = pkgs.steam.override { + extraPkgs = pkgs: + with pkgs; [ + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXScrnSaver + libpng + libpulseaudio + libvorbis + sdl3 + SDL2 + stdenv.cc.cc.lib + libkrb5 + keyutils + gamescope + ]; }; - environment.systemPackages = with pkgs; [ - distrobox - (pkgs.writeShellScriptBin "steam-install" '' - set -e - echo "Проверяем контейнер Steam..." - - if [ ! -d "${containerPath}" ]; then - echo "Контейнер не найден, создаем новый с Fedora..." - - # Создаём контейнер с Fedora - export PATH=${pkgs.podman}/bin:$PATH - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-create --name "${containerName}" --image registry.fedoraproject.org/fedora:latest --home ${containerPath} --hostname ${containerName} --yes - - echo "Контейнер ${containerName} создан, устанавливаем Steam..." - - # Устанавливаем Steam внутри контейнера - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf upgrade --refresh -y - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/steam - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/fedora-remix-branding - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/fedora-remix-scripts - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/kernel - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/kernel-edge - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/packit-builds - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/u-boot - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/rawhide-rebuilds - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa - - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf upgrade --refresh -y - - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf install --best --setopt=allow_vendor_change=true asahi-repos -y - - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf install --best --setopt=allow_vendor_change=true steam -y - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf remove dhcpcd -y - fi - - echo "Экспортируем Steam..." - env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox enter "${containerName}" -- distrobox-export --app steam - '') - ]; - } - else { - environment.systemPackages = with pkgs; [ - unzip - wget - xdotool - xorg.xprop - xorg.xrandr - unixtools.xxd - xorg.xwininfo - yad - protonup-qt - protontricks - bottles - ]; - programs.steam = { - enable = true; #!hwconfig.useImpermanence; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers - package = pkgs.steam.override { - extraPkgs = pkgs: - with pkgs; [ - xorg.libXcursor - xorg.libXi - xorg.libXinerama - xorg.libXScrnSaver - libpng - libpulseaudio - libvorbis - sdl3 - SDL2 - stdenv.cc.cc.lib - libkrb5 - keyutils - gamescope - ]; - }; - }; - programs.gamemode.enable = true; - } - ); + }; + programs.gamemode.enable = true; + }; } diff --git a/overlays/pass/default.nix b/overlays/pass/default.nix new file mode 100644 index 0000000..a78ff93 --- /dev/null +++ b/overlays/pass/default.nix @@ -0,0 +1,7 @@ +_: (final: prev: { + pass = prev.pass.withExtensions (exts: + with exts; [ + pass-otp + pass-import + ]); +}) diff --git a/packages/root-files/default.nix b/packages/root-files/default.nix new file mode 100644 index 0000000..a17aa64 --- /dev/null +++ b/packages/root-files/default.nix @@ -0,0 +1,11 @@ +# helps to find files that will be deleted after the reboot when using impermanence +{ + writeShellScriptBin, + fd, + lib, +}: +writeShellScriptBin "root-files" '' + ${lib.getExe fd} --one-file-system --base-directory / --type f --hidden --exclude "{tmp,etc/passwd}" +'' +# https://www.reddit.com/r/NixOS/comments/1d1apm0/comment/l5tgbwz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button + diff --git a/systems/x86_64-linux/kylekrein-homepc/default.nix b/systems/x86_64-linux/kylekrein-homepc/default.nix new file mode 100644 index 0000000..62c924c --- /dev/null +++ b/systems/x86_64-linux/kylekrein-homepc/default.nix @@ -0,0 +1,20 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: with lib;{ + custom.windowManagers.niri = enabled; + custom.loginManagers.sddm = enabled; + + # ======================== DO NOT CHANGE THIS ======================== + system.stateVersion = "25.05"; + # ======================== DO NOT CHANGE THIS ======================== +} diff --git a/systems/x86_64-linux/kylekrein-homepc/facter.json b/systems/x86_64-linux/kylekrein-homepc/facter.json new file mode 100644 index 0000000..0a68ae5 --- /dev/null +++ b/systems/x86_64-linux/kylekrein-homepc/facter.json @@ -0,0 +1,7663 @@ +{ + "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": 771 + }, + "bluetooth": [ + { + "index": 69, + "attached_to": 75, + "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": "0029", + "value": 41 + }, + "revision": { + "hex": "0000", + "name": "0.01", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.2/1-6.2:1.0", + "sysfs_bus_id": "1-6.2: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:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in00" + }, + { + "index": 81, + "attached_to": 75, + "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": "0029", + "value": 41 + }, + "revision": { + "hex": "0000", + "name": "0.01", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.2/1-6.2:1.1", + "sysfs_bus_id": "1-6.2: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:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in01" + } + ], + "bridge": [ + { + "index": 20, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:00.0", + "sysfs_bus_id": "0000:03:00.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 36, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 4, + "irq": 36, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 21, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 3 + }, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1483", + "value": 5251 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:03.1", + "sysfs_bus_id": "0000:00:03.1", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 30, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 10, + "irq": 30, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" + }, + { + "index": 23, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 24, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1443", + "value": 5187 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.3", + "sysfs_bus_id": "0000:00:18.3", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 3, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "k10temp", + "driver_module": "k10temp", + "drivers": [ + "k10temp" + ], + "driver_modules": [ + "k10temp" + ], + "module_alias": "pci:v00001022d00001443sv00000000sd00000000bc06sc00i00" + }, + { + "index": 25, + "attached_to": 26, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43e9", + "value": 17385 + }, + "sub_device": { + "hex": "0201", + "value": 513 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2", + "sysfs_bus_id": "0000:02:00.2", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 34, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 7, + "header_type": 1, + "secondary_bus": 3, + "irq": 34, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043E9sv00001B21sd00000201bc06sc04i00" + }, + { + "index": 26, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1483", + "value": 5251 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2", + "sysfs_bus_id": "0000:00:01.2", + "sysfs_iommu_group_id": 2, + "resources": [ + { + "type": "irq", + "base": 29, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 2, + "irq": 29, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" + }, + { + "index": 27, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 3 + }, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:03.0", + "sysfs_bus_id": "0000:03:03.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 39, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 6, + "irq": 39, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 28, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1441", + "value": 5185 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.1", + "sysfs_bus_id": "0000:00:18.1", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 1, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001441sv00000000sd00000000bc06sc00i00" + }, + { + "index": 30, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.0", + "sysfs_bus_id": "0000:00:01.0", + "sysfs_iommu_group_id": 0, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 33, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 4 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:04.0", + "sysfs_bus_id": "0000:00:04.0", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 34, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 9 + }, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:09.0", + "sysfs_bus_id": "0000:03:09.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 43, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 9, + "irq": 43, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 35, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1458", + "value": 5208 + }, + "device": { + "hex": "790e", + "value": 30990 + }, + "sub_device": { + "hex": "5001", + "value": 20481 + }, + "revision": { + "hex": "0051", + "value": 81 + }, + "model": "AMD ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 3, + "command": 15, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000790Esv00001458sd00005001bc06sc01i00" + }, + { + "index": 38, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.0", + "sysfs_bus_id": "0000:00:07.0", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 41, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0", + "sysfs_bus_id": "0000:03:02.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 37, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 5, + "irq": 37, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 42, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1446", + "value": 5190 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.6", + "sysfs_bus_id": "0000:00:18.6", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 6, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001446sv00000000sd00000000bc06sc00i00" + }, + { + "index": 44, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1480", + "value": 5248 + }, + "sub_device": { + "hex": "1480", + "value": 5248 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001480sv00001022sd00001480bc06sc00i00" + }, + { + "index": 45, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1484", + "value": 5252 + }, + "sub_device": { + "hex": "1484", + "value": 5252 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1", + "sysfs_bus_id": "0000:00:08.1", + "sysfs_iommu_group_id": 11, + "resources": [ + { + "type": "irq", + "base": 33, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 12, + "irq": 33, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001484sv00001022sd00001484bc06sc04i00" + }, + { + "index": 46, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1444", + "value": 5188 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.4", + "sysfs_bus_id": "0000:00:18.4", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 4, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001444sv00000000sd00000000bc06sc00i00" + }, + { + "index": 47, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 3 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:03.0", + "sysfs_bus_id": "0000:00:03.0", + "sysfs_iommu_group_id": 4, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 48, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 8 + }, + "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": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0", + "sysfs_bus_id": "0000:03:08.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 41, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 8, + "irq": 41, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 49, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1442", + "value": 5186 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.2", + "sysfs_bus_id": "0000:00:18.2", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001442sv00000000sd00000000bc06sc00i00" + }, + { + "index": 51, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1483", + "value": 5251 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.1", + "sysfs_bus_id": "0000:00:01.1", + "sysfs_iommu_group_id": 1, + "resources": [ + { + "type": "irq", + "base": 28, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "irq": 28, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" + }, + { + "index": 53, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1440", + "value": 5184 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.0", + "sysfs_bus_id": "0000:00:18.0", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001440sv00000000sd00000000bc06sc00i00" + }, + { + "index": 55, + "attached_to": 25, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 4 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ea", + "value": 17386 + }, + "sub_device": { + "hex": "3308", + "value": 13064 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:04.0", + "sysfs_bus_id": "0000:03:04.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 40, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 7, + "irq": 40, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" + }, + { + "index": 56, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1484", + "value": 5252 + }, + "sub_device": { + "hex": "1484", + "value": 5252 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.1", + "sysfs_bus_id": "0000:00:07.1", + "sysfs_iommu_group_id": 9, + "resources": [ + { + "type": "irq", + "base": 32, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 11, + "irq": 32, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001484sv00001022sd00001484bc06sc04i00" + }, + { + "index": 58, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "sysfs_iommu_group_id": 3, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 59, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1447", + "value": 5191 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.7", + "sysfs_bus_id": "0000:00:18.7", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 7, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001447sv00000000sd00000000bc06sc00i00" + }, + { + "index": 61, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 5 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1482", + "value": 5250 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:05.0", + "sysfs_bus_id": "0000:00:05.0", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" + }, + { + "index": 62, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1445", + "value": 5189 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.5", + "sysfs_bus_id": "0000:00:18.5", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 5, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001445sv00000000sd00000000bc06sc00i00" + } + ], + "camera": [ + { + "index": 74, + "attached_to": 87, + "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": "2104", + "name": "Tobii AB", + "value": 8452 + }, + "device": { + "hex": "0313", + "name": "EyeChip", + "value": 787 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "IS5FF-100212740213", + "model": "Tobii EyeChip", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.1", + "sysfs_bus_id": "1-8:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "000e", + "name": "video", + "value": 14 + }, + "function_subclass": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 1 + } + }, + "hotplug": "usb", + "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01ic0Eisc01ip00in01" + }, + { + "index": 86, + "attached_to": 87, + "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": "2104", + "name": "Tobii AB", + "value": 8452 + }, + "device": { + "hex": "0313", + "name": "EyeChip", + "value": 787 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "IS5FF-100212740213", + "model": "Tobii EyeChip", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.2", + "sysfs_bus_id": "1-8: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": "0002", + "name": "comm", + "value": 2 + }, + "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": 1 + } + }, + "hotplug": "usb", + "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01ic0Eisc02ip00in02" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "AuthenticAMD", + "family": 25, + "model": 33, + "stepping": 0, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "mmx", + "fxsr", + "sse", + "sse2", + "ht", + "syscall", + "nx", + "mmxext", + "fxsr_opt", + "pdpe1gb", + "rdtscp", + "lm", + "constant_tsc", + "rep_good", + "nopl", + "xtopology", + "nonstop_tsc", + "cpuid", + "extd_apicid", + "aperfmperf", + "rapl", + "pni", + "pclmulqdq", + "monitor", + "ssse3", + "fma", + "cx16", + "sse4_1", + "sse4_2", + "movbe", + "popcnt", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "cmp_legacy", + "svm", + "extapic", + "cr8_legacy", + "abm", + "sse4a", + "misalignsse", + "3dnowprefetch", + "osvw", + "ibs", + "skinit", + "wdt", + "tce", + "topoext", + "perfctr_core", + "perfctr_nb", + "bpext", + "perfctr_llc", + "mwaitx", + "cpb", + "cat_l3", + "cdp_l3", + "hw_pstate", + "ssbd", + "mba", + "ibrs", + "ibpb", + "stibp", + "vmmcall", + "fsgsbase", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "cqm", + "rdt_a", + "rdseed", + "adx", + "smap", + "clflushopt", + "clwb", + "sha_ni", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "cqm_llc", + "cqm_occup_llc", + "cqm_mbm_total", + "cqm_mbm_local", + "user_shstk", + "clzero", + "irperf", + "xsaveerptr", + "rdpru", + "wbnoinvd", + "arat", + "npt", + "lbrv", + "svm_lock", + "nrip_save", + "tsc_scale", + "vmcb_clean", + "flushbyasid", + "decodeassists", + "pausefilter", + "pfthreshold", + "avic", + "v_vmsave_vmload", + "vgif", + "v_spec_ctrl", + "umip", + "pku", + "ospke", + "vaes", + "vpclmulqdq", + "rdpid", + "overflow_recov", + "succor", + "smca", + "fsrm", + "debug_swap" + ], + "bugs": [ + "sysret_ss_attrs", + "null_seg", + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "srso", + "ibpb_no_ret" + ], + "power_management": [ + "ts", + "ttp", + "tm", + "hwpstate", + "cpb", + "eff_freq_ro", + "[13]", + "[14]" + ], + "bogo": 7586.15, + "cache": 512, + "units": 16, + "physical_id": 0, + "siblings": 16, + "cores": 8, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 16, + "write_protect": false, + "tlb_size": 2560, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": 48, + "virtual": 48 + } + } + ], + "disk": [ + { + "index": 65, + "attached_to": 36, + "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": "15b7", + "value": 5559 + }, + "sub_vendor": { + "hex": "15b7", + "value": 5559 + }, + "device": { + "hex": "5009", + "name": "WDC WDS100T2B0C-00PXH0", + "value": 20489 + }, + "sub_device": { + "hex": "5009", + "value": 20489 + }, + "serial": "21167U469302", + "model": "WDC WDS100T2B0C-00PXH0", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0/nvme/nvme0", + "unix_device_name": "/dev/nvme0n1", + "unix_device_number": { + "type": 98, + "major": 259, + "minor": 0, + "range": 0 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/1", + "/dev/disk/by-id/nvme-WDC_WDS100T2B0C-00PXH0_21167U469302", + "/dev/disk/by-id/nvme-WDC_WDS100T2B0C-00PXH0_21167U469302_1", + "/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b444a46f48e5d", + "/dev/disk/by-path/pci-0000:01:00.0-nvme-1", + "/dev/nvme0n1" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 119233, + "heads": 64, + "sectors": 32, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 244190646, + "value_2": 4096 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + }, + { + "index": 66, + "attached_to": 50, + "class_list": [ + "disk", + "ide", + "block_device" + ], + "bus_type": { + "hex": "0085", + "name": "IDE", + "value": 133 + }, + "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": "0000", + "name": "TOSHIBA", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "HDWD110", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "A8J0", + "value": 0 + }, + "serial": "X7P97EENS", + "model": "TOSHIBA HDWD110", + "sysfs_id": "/class/block/sdb", + "sysfs_bus_id": "0:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1/ata1/host0/target0:0:0/0:0:0:0", + "unix_device_name": "/dev/sdb", + "unix_device_number": { + "type": 98, + "major": 8, + "minor": 16, + "range": 16 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/3", + "/dev/disk/by-id/ata-TOSHIBA_HDWD110_X7P97EENS", + "/dev/disk/by-id/wwn-0x5000039fd3d24abf", + "/dev/disk/by-path/pci-0000:02:00.1-ata-1", + "/dev/disk/by-path/pci-0000:02:00.1-ata-1.0", + "/dev/sdb" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 121601, + "heads": 255, + "sectors": 63, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 1953525168, + "value_2": 512 + } + ], + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci", + "sd" + ], + "driver_modules": [ + "ahci", + "sd_mod" + ] + }, + { + "index": 67, + "attached_to": 50, + "class_list": [ + "disk", + "ide", + "block_device" + ], + "bus_type": { + "hex": "0085", + "name": "IDE", + "value": 133 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0000", + "name": "WDC", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "WD10EZEX-35W", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "1A01", + "value": 0 + }, + "serial": "WCC6Y7XR2XFZ", + "model": "WDC WD10EZEX-35W", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "1:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1/ata2/host1/target1:0:0/1:0:0:0", + "unix_device_name": "/dev/sda", + "unix_device_number": { + "type": 98, + "major": 8, + "minor": 0, + "range": 16 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/2", + "/dev/disk/by-id/ata-WDC_WD10EZEX-35WN4A0_WCC6Y7XR2XFZ", + "/dev/disk/by-id/wwn-0x50014ee26492ddba", + "/dev/disk/by-path/pci-0000:02:00.1-ata-2", + "/dev/disk/by-path/pci-0000:02:00.1-ata-2.0", + "/dev/sda" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 121601, + "heads": 255, + "sectors": 63, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 1953525168, + "value_2": 512 + } + ], + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci", + "sd" + ], + "driver_modules": [ + "ahci", + "sd_mod" + ] + } + ], + "graphics_card": [ + { + "index": 37, + "attached_to": 21, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 10, + "number": 0 + }, + "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": "10de", + "name": "nVidia Corporation", + "value": 4318 + }, + "sub_vendor": { + "hex": "7377", + "value": 29559 + }, + "device": { + "hex": "2203", + "value": 8707 + }, + "sub_device": { + "hex": "2000", + "value": 8192 + }, + "revision": { + "hex": "00a1", + "value": 161 + }, + "model": "nVidia VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:03.1/0000:0a:00.0", + "sysfs_bus_id": "0000:0a:00.0", + "sysfs_iommu_group_id": 16, + "resources": [ + { + "type": "io", + "base": 57344, + "range": 128, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 104, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 1030792151040, + "range": 34359738368, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 1065151889408, + "range": 33554432, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4211081216, + "range": 16777216, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4227858432, + "range": 524288, + "enabled": false, + "access": "read_only", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 104, + "prog_if": 0 + }, + "driver": "nvidia", + "driver_module": "nvidia", + "drivers": [ + "nvidia" + ], + "driver_modules": [ + "nvidia" + ], + "module_alias": "pci:v000010DEd00002203sv00007377sd00002000bc03sc00i00" + } + ], + "hub": [ + { + "index": 75, + "attached_to": 87, + "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": "05e3", + "value": 1507 + }, + "device": { + "hex": "0608", + "name": "USB2.0 Hub", + "value": 1544 + }, + "revision": { + "hex": "0000", + "name": "85.36", + "value": 0 + }, + "model": "USB2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6:1.0", + "sysfs_bus_id": "1-6:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v05E3p0608d8536dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 76, + "attached_to": 39, + "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.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:0c:00.3", + "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 82, + "attached_to": 39, + "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.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:0c:00.3", + "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 87, + "attached_to": 29, + "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.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:02:00.0", + "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 91, + "attached_to": 76, + "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": "058f", + "name": "Alcor Micro, Inc.", + "value": 1423 + }, + "device": { + "hex": "9254", + "name": "Generic USB Hub", + "value": 37460 + }, + "revision": { + "hex": "0000", + "name": "3.12", + "value": 0 + }, + "model": "Alcor Micro Generic USB Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2:1.0", + "sysfs_bus_id": "3-2:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "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": 0, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v058Fp9254d0312dc09dsc00dp00ic09isc00ip00in00" + }, + { + "index": 94, + "attached_to": 29, + "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.4 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:02:00.0", + "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 84, + "attached_to": 75, + "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": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "12.11", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.4/1-6.4:1.0", + "sysfs_bus_id": "1-6.4:1.0", + "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:v046DpC52Bd1211dc00dsc00dp00ic03isc01ip01in00" + }, + { + "index": 92, + "attached_to": 75, + "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": "c548", + "name": "USB Receiver", + "value": 50504 + }, + "revision": { + "hex": "0000", + "name": "5.03", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.0", + "sysfs_bus_id": "1-6.1:1.0", + "unix_device_name": "/dev/input/event1", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 65, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd", + "/dev/input/by-path/pci-0000:02:00.0-usb-0:6.1:1.0-event-kbd", + "/dev/input/by-path/pci-0000:02:00.0-usbv2-0:6.1:1.0-event-kbd", + "/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": "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:v046DpC548d0503dc00dsc00dp00ic03isc01ip01in00" + } + ], + "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": "mem", + "base": 0, + "range": 33599733760, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 34359738368 + } + ] + } + ], + "monitor": [ + { + "index": 63, + "attached_to": 37, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "0472", + "value": 1138 + }, + "device": { + "hex": "08c8", + "name": "KG272U", + "value": 2248 + }, + "serial": "TP1EE001851C", + "model": "KG272U", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 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": 1280, + "height": 720, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 960, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 2560, + "height": 1440, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 67, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 720, + "height": 400, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 56, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 832, + "height": 624, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 597, + "value_2": 336 + } + ], + "detail": { + "manufacture_year": 2022, + "manufacture_week": 30, + "vertical_sync": { + "min": 48, + "max": 75 + }, + "horizontal_sync": { + "min": 112, + "max": 112 + }, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "clock": 241500, + "width": 2560, + "height": 1440, + "width_millimetres": 597, + "height_millimetres": 336, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "KG272U" + }, + "driver_info": { + "type": "display", + "width": 2560, + "height": 1440, + "vertical_sync": { + "min": 48, + "max": 75 + }, + "horizontal_sync": { + "min": 112, + "max": 112 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + }, + { + "index": 64, + "attached_to": 37, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "0472", + "value": 1138 + }, + "device": { + "hex": "08c8", + "name": "KG272U", + "value": 2248 + }, + "serial": "TP1EE001851C", + "model": "KG272U", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 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": 1280, + "height": 720, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 960, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 2560, + "height": 1440, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 67, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 720, + "height": 400, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 56, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 832, + "height": 624, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 597, + "value_2": 336 + } + ], + "detail": { + "manufacture_year": 2021, + "manufacture_week": 39, + "vertical_sync": { + "min": 48, + "max": 75 + }, + "horizontal_sync": { + "min": 112, + "max": 112 + }, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "clock": 241500, + "width": 2560, + "height": 1440, + "width_millimetres": 597, + "height_millimetres": 336, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "KG272U" + }, + "driver_info": { + "type": "display", + "width": 2560, + "height": 1440, + "vertical_sync": { + "min": 48, + "max": 75 + }, + "horizontal_sync": { + "min": 112, + "max": 112 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 68, + "attached_to": 75, + "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": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "12.11", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.4/1-6.4:1.1", + "sysfs_bus_id": "1-6.4:1.1", + "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": 1, + "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:v046DpC52Bd1211dc00dsc00dp00ic03isc01ip02in01" + }, + { + "index": 72, + "attached_to": 75, + "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": "c548", + "name": "USB Receiver", + "value": 50504 + }, + "revision": { + "hex": "0000", + "name": "5.03", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.3", + "sysfs_bus_id": "1-6.1:1.3", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse1", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 33, + "range": 1 + }, + "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": 3, + "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:v046DpC548d0503dc00dsc00dp00ic03isc00ip00in03" + }, + { + "index": 77, + "attached_to": 75, + "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": "c548", + "name": "USB Receiver", + "value": 50504 + }, + "revision": { + "hex": "0000", + "name": "5.03", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.1", + "sysfs_bus_id": "1-6.1:1.1", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse0", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 32, + "range": 1 + }, + "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": 1, + "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:v046DpC548d0503dc00dsc00dp00ic03isc01ip02in01" + }, + { + "index": 99, + "attached_to": 0, + "bus_type": { + "hex": "0086", + "name": "usb", + "value": 134 + }, + "base_class": { + "hex": "0118", + "name": "touchpad", + "value": 280 + }, + "sub_class": { + "hex": "0003", + "name": "usb", + "value": 3 + }, + "vendor": { + "hex": "046d", + "name": "Logitech", + "value": 1133 + }, + "device": { + "hex": "c548", + "name": "USB_Receiver", + "value": 50504 + }, + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.3/0003:046D:C548.0009/input/input16", + "unix_device_names": [ + "/dev/input/event9", + "/dev/input/ + handler" + ] + } + ], + "network_controller": [ + { + "index": 32, + "attached_to": 48, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 8, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "10ec", + "value": 4332 + }, + "sub_vendor": { + "hex": "1458", + "value": 5208 + }, + "device": { + "hex": "8125", + "value": 33061 + }, + "sub_device": { + "hex": "e000", + "value": 57344 + }, + "revision": { + "hex": "0005", + "value": 5 + }, + "model": "Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0/0000:08:00.0", + "sysfs_bus_id": "0000:08:00.0", + "sysfs_iommu_group_id": 15, + "unix_device_name": "eno1", + "unix_device_names": [ + "eno1" + ], + "resources": [ + { + "type": "hwaddr", + "address": 49 + }, + { + "type": "io", + "base": 61440, + "range": 256, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 35, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4233101312, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4233166848, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 49 + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 35, + "prog_if": 0 + }, + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ], + "module_alias": "pci:v000010ECd00008125sv00001458sd0000E000bc02sc00i00", + "label": "RTL8111E Giga LAN" + }, + { + "index": 52, + "attached_to": 41, + "class_list": [ + "network_controller", + "pci", + "wlan_card" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 5, + "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": "2723", + "value": 10019 + }, + "sub_device": { + "hex": "0084", + "value": 132 + }, + "revision": { + "hex": "001a", + "value": 26 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0/0000:05:00.0", + "sysfs_bus_id": "0000:05:00.0", + "sysfs_iommu_group_id": 15, + "unix_device_name": "wlp5s0", + "unix_device_names": [ + "wlp5s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 99 + }, + { + "type": "irq", + "base": 34, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4234149888, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 99 + }, + { + "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, + "irq": 34, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d00002723sv00008086sd00000084bc02sc80i00" + } + ], + "network_interface": [ + { + "index": 96, + "attached_to": 52, + "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/wlp5s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0/0000:05:00.0", + "unix_device_name": "wlp5s0", + "unix_device_names": [ + "wlp5s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 99 + }, + { + "type": "phwaddr", + "address": 99 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ] + }, + { + "index": 97, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_name": "lo", + "unix_device_names": [ + "lo" + ] + }, + { + "index": 98, + "attached_to": 32, + "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/eno1", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0/0000:08:00.0", + "unix_device_name": "eno1", + "unix_device_names": [ + "eno1" + ], + "resources": [ + { + "type": "hwaddr", + "address": 49 + }, + { + "type": "phwaddr", + "address": 49 + } + ], + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ] + } + ], + "pci": [ + { + "index": 22, + "attached_to": 45, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 12, + "number": 0 + }, + "base_class": { + "hex": "0013", + "value": 19 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1485", + "value": 5253 + }, + "sub_device": { + "hex": "1485", + "value": 5253 + }, + "model": "unknown unknown", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.0", + "sysfs_bus_id": "0000:0c:00.0", + "sysfs_iommu_group_id": 18, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001485sv00001022sd00001485bc13sc00i00" + }, + { + "index": 31, + "attached_to": 56, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 11, + "number": 0 + }, + "base_class": { + "hex": "0013", + "value": 19 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "148a", + "value": 5258 + }, + "sub_device": { + "hex": "148a", + "value": 5258 + }, + "model": "unknown unknown", + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:0b:00.0", + "sysfs_bus_id": "0000:0b:00.0", + "sysfs_iommu_group_id": 17, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000148Asv00001022sd0000148Abc13sc00i00" + }, + { + "index": 40, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1481", + "value": 5249 + }, + "sub_device": { + "hex": "1481", + "value": 5249 + }, + "model": "AMD Generic system peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:00.2", + "sysfs_bus_id": "0000:00:00.2", + "detail": { + "function": 2, + "command": 64, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001481sv00001022sd00001481bc08sc06i00" + }, + { + "index": 43, + "attached_to": 45, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 12, + "number": 0 + }, + "base_class": { + "hex": "0010", + "name": "Encryption controller", + "value": 16 + }, + "sub_class": { + "hex": "0080", + "name": "Encryption controller", + "value": 128 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1486", + "value": 5254 + }, + "sub_device": { + "hex": "1486", + "value": 5254 + }, + "model": "AMD Encryption controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.1", + "sysfs_bus_id": "0000:0c:00.1", + "sysfs_iommu_group_id": 19, + "resources": [ + { + "type": "irq", + "base": 80, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4231004160, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4232085504, + "range": 8192, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 1, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 80, + "prog_if": 0 + }, + "driver": "ccp", + "driver_module": "ccp", + "drivers": [ + "ccp" + ], + "driver_modules": [ + "ccp" + ], + "module_alias": "pci:v00001022d00001486sv00001022sd00001486bc10sc80i00" + }, + { + "index": 60, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "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": "0005", + "name": "SMBus", + "value": 5 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1458", + "value": 5208 + }, + "device": { + "hex": "790b", + "value": 30987 + }, + "sub_device": { + "hex": "5001", + "value": 20481 + }, + "revision": { + "hex": "0061", + "value": 97 + }, + "model": "AMD SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 0, + "command": 1027, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000790Bsv00001458sd00005001bc0Csc05i00" + } + ], + "sound": [ + { + "index": 54, + "attached_to": 21, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 10, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0003", + "value": 3 + }, + "vendor": { + "hex": "10de", + "name": "nVidia Corporation", + "value": 4318 + }, + "sub_vendor": { + "hex": "7377", + "value": 29559 + }, + "device": { + "hex": "1aef", + "value": 6895 + }, + "sub_device": { + "hex": "2000", + "value": 8192 + }, + "revision": { + "hex": "00a1", + "value": 161 + }, + "model": "nVidia Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:03.1/0000:0a:00.1", + "sysfs_bus_id": "0000:0a:00.1", + "sysfs_iommu_group_id": 16, + "resources": [ + { + "type": "irq", + "base": 84, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4228382720, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 1, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 84, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v000010DEd00001AEFsv00007377sd00002000bc04sc03i00" + }, + { + "index": 57, + "attached_to": 45, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 12, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0003", + "value": 3 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1458", + "value": 5208 + }, + "device": { + "hex": "1487", + "value": 5255 + }, + "sub_device": { + "hex": "a0cf", + "value": 41167 + }, + "model": "AMD Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4", + "sysfs_bus_id": "0000:0c:00.4", + "sysfs_iommu_group_id": 21, + "resources": [ + { + "type": "irq", + "base": 86, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4232052736, + "range": 32768, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 4, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 86, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00001022d00001487sv00001458sd0000A0CFbc04sc03i00", + "label": "Realtek ALC1220" + }, + { + "index": 73, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.3", + "sysfs_bus_id": "3-2.1:1.3", + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 3, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc01ip00in03" + }, + { + "index": 78, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.1", + "sysfs_bus_id": "3-2.1:1.1", + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in01" + }, + { + "index": 85, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.4", + "sysfs_bus_id": "3-2.1:1.4", + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 4, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in04" + }, + { + "index": 89, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.2", + "sysfs_bus_id": "3-2.1: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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in02" + }, + { + "index": 93, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.0", + "sysfs_bus_id": "3-2.1:1.0", + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc01ip00in00" + } + ], + "storage_controller": [ + { + "index": 36, + "attached_to": 51, + "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": "15b7", + "value": 5559 + }, + "sub_vendor": { + "hex": "15b7", + "value": 5559 + }, + "device": { + "hex": "5009", + "value": 20489 + }, + "sub_device": { + "hex": "5009", + "value": 20489 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "sysfs_iommu_group_id": 14, + "resources": [ + { + "type": "irq", + "base": 44, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4236247040, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4236263424, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 44, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v000015B7d00005009sv000015B7sd00005009bc01sc08i02" + }, + { + "index": 50, + "attached_to": 26, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "pci_interface": { + "hex": "0001", + "value": 1 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43eb", + "value": 17387 + }, + "sub_device": { + "hex": "1062", + "value": 4194 + }, + "model": "AMD Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1", + "sysfs_bus_id": "0000:02:00.1", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 62, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4235198464, + "range": 524288, + "enabled": false, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4235722752, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 1, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 62, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00001022d000043EBsv00001B21sd00001062bc01sc06i01" + } + ], + "system": { + "form_factor": "desktop" + }, + "usb": [ + { + "index": 70, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c2", + "name": "SteelSeries Arctis 9", + "value": 4802 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.2/3-2.2:1.0", + "sysfs_bus_id": "3-2.2:1.0", + "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": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1038p12C2d0101dc00dsc00dp00ic03isc00ip00in00" + }, + { + "index": 71, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c4", + "name": "SteelSeries Arctis 9", + "value": 4804 + }, + "revision": { + "hex": "0000", + "name": "0.03", + "value": 0 + }, + "serial": "000000000000", + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.1/3-2.1:1.5", + "sysfs_bus_id": "3-2.1:1.5", + "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": 5, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic03isc00ip00in05" + }, + { + "index": 79, + "attached_to": 75, + "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": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "12.11", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.4/1-6.4:1.2", + "sysfs_bus_id": "1-6.4: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:v046DpC52Bd1211dc00dsc00dp00ic03isc00ip00in02" + }, + { + "index": 80, + "attached_to": 87, + "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": "048d", + "name": "Integrated Technology Express", + "value": 1165 + }, + "device": { + "hex": "5702", + "name": "ITE Device", + "value": 22274 + }, + "revision": { + "hex": "0000", + "name": "0.01", + "value": 0 + }, + "model": "Integrated Technology Express ITE Device", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-7/1-7:1.0", + "sysfs_bus_id": "1-7:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "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:v048Dp5702d0001dc00dsc00dp00ic03isc00ip00in00" + }, + { + "index": 83, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c2", + "name": "SteelSeries Arctis 9", + "value": 4802 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.2/3-2.2:1.1", + "sysfs_bus_id": "3-2.2:1.1", + "unix_device_name": "/dev/input/event0", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 64, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-SteelSeries_SteelSeries_Arctis_9-event-if01", + "/dev/input/by-path/pci-0000:0c:00.3-usb-0:2.2:1.1-event", + "/dev/input/by-path/pci-0000:0c:00.3-usbv2-0:2.2:1.1-event", + "/dev/input/event0" + ], + "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:v1038p12C2d0101dc00dsc00dp00ic03isc00ip00in01" + }, + { + "index": 88, + "attached_to": 75, + "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": "c548", + "name": "USB Receiver", + "value": 50504 + }, + "revision": { + "hex": "0000", + "name": "5.03", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.2", + "sysfs_bus_id": "1-6.1: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:v046DpC548d0503dc00dsc00dp00ic03isc00ip00in02" + }, + { + "index": 90, + "attached_to": 87, + "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": "2104", + "name": "Tobii AB", + "value": 8452 + }, + "device": { + "hex": "0313", + "name": "EyeChip", + "value": 787 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "IS5FF-100212740213", + "model": "Tobii EyeChip", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.0", + "sysfs_bus_id": "1-8: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": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01icFFisc00ip00in00" + }, + { + "index": 95, + "attached_to": 91, + "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": "1038", + "name": "SteelSeries", + "value": 4152 + }, + "device": { + "hex": "12c2", + "name": "SteelSeries Arctis 9", + "value": 4802 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "SteelSeries Arctis 9", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.2/3-2.2:1.2", + "sysfs_bus_id": "3-2.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:v1038p12C2d0101dc00dsc00dp00ic03isc00ip00in02" + } + ], + "usb_controller": [ + { + "index": 29, + "attached_to": 26, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "43ee", + "value": 17390 + }, + "sub_device": { + "hex": "1142", + "value": 4418 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0", + "sysfs_bus_id": "0000:02:00.0", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "irq", + "base": 35, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4235853824, + "range": 32768, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 35, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d000043EEsv00001B21sd00001142bc0Csc03i30" + }, + { + "index": 39, + "attached_to": 45, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 12, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1458", + "value": 5208 + }, + "device": { + "hex": "149c", + "value": 5276 + }, + "sub_device": { + "hex": "5007", + "value": 20487 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3", + "sysfs_bus_id": "0000:0c:00.3", + "sysfs_iommu_group_id": 20, + "resources": [ + { + "type": "irq", + "base": 71, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4229955584, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 71, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d0000149Csv00001458sd00005007bc0Csc03i30" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "American Megatrends Inc.", + "version": "F12", + "date": "01/18/2021", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "EDD spec supported", + "1.2MB Floppy supported", + "720kB Floppy supported", + "2.88MB Floppy supported", + "Print Screen supported", + "Serial Services supported", + "Printer Services supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "Gigabyte Technology Co., Ltd.", + "product": "B550 AORUS ELITE V2", + "version": "x.x", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "Default string", + "chassis": 3 + }, + "cache": [ + { + "handle": 14, + "socket": "L1 - Cache", + "size_max": 512, + "size_current": 512, + "speed": 1, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 15, + "socket": "L2 - Cache", + "size_max": 4096, + "size_current": 4096, + "speed": 1, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 16, + "socket": "L3 - Cache", + "size_max": 32768, + "size_current": 32768, + "speed": 1, + "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": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + } + ], + "chassis": { + "handle": 3, + "manufacturer": "Default string", + "version": "Default string", + "chassis_type": { + "hex": "0003", + "name": "Desktop", + "value": 3 + }, + "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": 6, + "options": [ + "Default string" + ] + }, + "language": [ + { + "handle": 52, + "languages": [ + "en|US|iso8859-1", + "zh|TW|unicode", + "zh|CN|unicode", + "ru|RU|iso8859-5", + "de|DE|iso8859-1", + "ja|JP|unicode", + "ko|KR|unicode", + "es|ES|iso8859-1", + "fr|FR|iso8859-1", + "it|IT|iso8859-1", + "pt|PT|iso8859-1", + "vi|VI|iso8859-1", + "id|ID|iso8859-1", + "tr|TR|iso8859-1", + "pl|PL|iso8859-1" + ] + } + ], + "memory_array": [ + { + "handle": 11, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": 134217728, + "error_handle": 10, + "slots": 4 + } + ], + "memory_array_mapped_address": [ + { + "handle": 12, + "array_handle": 11, + "start_address": 0, + "end_address": 3221225472, + "part_width": 2 + }, + { + "handle": 13, + "array_handle": 11, + "start_address": 4294967296, + "end_address": 35433480192, + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 19, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL A", + "manufacturer": "Unknown", + "part_number": "Unknown", + "array_handle": 11, + "error_handle": 18, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "memory_type_details": [ + "Unknown" + ], + "speed": 0 + }, + { + "handle": 21, + "location": "DIMM 1", + "bank_location": "P0 CHANNEL A", + "manufacturer": "Kingston", + "part_number": "KHX3733C19D4/16GX", + "array_handle": 11, + "error_handle": 20, + "width": 64, + "ecc_bits": 0, + "size": 16777216, + "form_factor": { + "hex": "0009", + "name": "DIMM", + "value": 9 + }, + "set": 0, + "memory_type": { + "hex": "001a", + "name": "Other", + "value": 26 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 3733 + }, + { + "handle": 24, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL B", + "manufacturer": "Unknown", + "part_number": "Unknown", + "array_handle": 11, + "error_handle": 23, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "memory_type_details": [ + "Unknown" + ], + "speed": 0 + }, + { + "handle": 26, + "location": "DIMM 1", + "bank_location": "P0 CHANNEL B", + "manufacturer": "Kingston", + "part_number": "KHX3733C19D4/16GX", + "array_handle": 11, + "error_handle": 25, + "width": 64, + "ecc_bits": 0, + "size": 16777216, + "form_factor": { + "hex": "0009", + "name": "DIMM", + "value": 9 + }, + "set": 0, + "memory_type": { + "hex": "001a", + "name": "Other", + "value": 26 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 3733 + } + ], + "memory_device_mapped_address": [ + { + "handle": 22, + "memory_device_handle": 21, + "array_map_handle": 13, + "start_address": 0, + "end_address": 34359738368, + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + }, + { + "handle": 27, + "memory_device_handle": 26, + "array_map_handle": 13, + "start_address": 0, + "end_address": 34359738368, + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + } + ], + "memory_error": [ + { + "handle": 10, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 18, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 20, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 23, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 25, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + } + ], + "onboard": [ + { + "handle": 4, + "devices": [ + { + "name": "To Be Filled By O.E.M.", + "type": { + "hex": "0003", + "name": "Video", + "value": 3 + }, + "enabled": true + } + ] + } + ], + "port_connector": [ + { + "handle": 28, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1500", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.2" + }, + { + "handle": 29, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1501", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.2" + }, + { + "handle": 30, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1502", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB-C" + }, + { + "handle": 31, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1506", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.2" + }, + { + "handle": 32, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1507", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.2" + }, + { + "handle": 33, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1301", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.2" + }, + { + "handle": 34, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J1301", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "Network" + }, + { + "handle": 35, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1704", + "external_reference_designator": "iSATA" + }, + { + "handle": 36, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1705", + "external_reference_designator": "iSATA" + }, + { + "handle": 37, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1700", + "external_reference_designator": "iSATA" + }, + { + "handle": 38, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1702", + "external_reference_designator": "iSATA" + }, + { + "handle": 39, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1703", + "external_reference_designator": "iSATA" + }, + { + "handle": 40, + "port_type": { + "hex": "0020", + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1706", + "external_reference_designator": "iSATA" + }, + { + "handle": 41, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J1100", + "external_reference_designator": "HDMI" + }, + { + "handle": 42, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J1101", + "external_reference_designator": "HDMI" + }, + { + "handle": 43, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J1102", + "external_reference_designator": "DP" + }, + { + "handle": 44, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J2100", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Front Audio" + }, + { + "handle": 45, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J2101", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Audio Jack" + }, + { + "handle": 46, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J2102", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "HD Audio HDR" + } + ], + "processor": [ + { + "handle": 17, + "socket": "AM4", + "socket_type": { + "hex": "0031", + "name": "Other", + "value": 49 + }, + "socket_populated": true, + "manufacturer": "Advanced Micro Devices, Inc.", + "version": "AMD Ryzen 7 5800X 8-Core Processor", + "part": "Unknown", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "006b", + "name": "Other", + "value": 107 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 4850, + "cache_handle_l1": 14, + "cache_handle_l2": 15, + "cache_handle_l3": 16 + } + ], + "slot": [ + { + "handle": 47, + "designation": "J10", + "slot_type": { + "hex": "00aa", + "name": "Other", + "value": 170 + }, + "bus_width": { + "hex": "000d", + "name": "Other", + "value": 13 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 12, + "features": [ + "3.3 V", + "PME#" + ] + }, + { + "handle": 48, + "designation": "J3700 M.2 Slot", + "slot_type": { + "hex": "00a6", + "name": "Other", + "value": 166 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 14, + "features": [ + "3.3 V", + "PME#" + ] + }, + { + "handle": 49, + "designation": "J3708 PCIE x4 slot from Promontory", + "slot_type": { + "hex": "00a8", + "name": "Other", + "value": 168 + }, + "bus_width": { + "hex": "000a", + "name": "Other", + "value": 10 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 128, + "features": [ + "3.3 V", + "PME#" + ] + } + ], + "system": { + "handle": 1, + "manufacturer": "Gigabyte Technology Co., Ltd.", + "product": "B550 AORUS ELITE V2", + "version": "Default string", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} \ No newline at end of file diff --git a/systems/x86_64-linux/kylekrein-wsl-wm/default.nix b/systems/x86_64-linux/kylekrein-wsl-wm/default.nix new file mode 100644 index 0000000..46e5834 --- /dev/null +++ b/systems/x86_64-linux/kylekrein-wsl-wm/default.nix @@ -0,0 +1,132 @@ +{ + lib, + pkgs, + inputs, + ... +}: +with lib.custom; { + custom.presets.default = enabled; + custom.gpg = enabled; + + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; + + # Enable common container config files in /etc/containers + virtualisation.containers.enable = true; + virtualisation = { + docker.enable = true; + }; + users.extraGroups.docker.members = ["nixos"]; + environment.systemPackages = with pkgs; [ + inputs.emacs-kylekrein.packages.${pkgs.system}.with-lsps-native + nix-output-monitor + eza + fd + tealdeer + docker-compose + fzf + lazygit + fastfetch + wl-clipboard + git + #git-credential-manager + egl-wayland + xclip + btop + comma + + csharp-ls + ]; + wsl = { + enable = true; + defaultUser = "nixos"; + useWindowsDriver = true; + }; + programs.nh = { + flake = lib.mkForce "/home/nixos/nixos-config"; + }; + services.ollama = { + enable = true; + loadModels = ["llama3.1" "qwen2.5-coder:7b"]; + acceleration = "cuda"; + user = "ollama"; + group = "ollama"; + }; + fonts.packages = with pkgs; [ + nerd-fonts.jetbrains-mono + font-awesome + nerd-fonts.symbols-only + hack-font + # microsoft fonts: + corefonts + vistafonts + ]; + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + XDG_RUNTIME_DIR = "/mnt/wslg/runtime-dir"; #sometimes gui apps stop working in wsl. This option makes GUI apps load much slower but at least they work https://github.com/microsoft/wslg/issues/1303#issuecomment-2764300164 + EDITOR = "emacsclient -c"; + }; + + hardware = { + graphics = { + enable = true; + }; + }; + + security.polkit.enable = true; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + programs.bash = { + shellAliases = { + ls = "${pkgs.eza}/bin/eza --icons=always"; + }; + }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + # Open ports in the firewall. + networking.firewall.allowedTCPPorts = [22]; + networking.firewall.allowedUDPPorts = [22]; + # Or disable the firewall altogether. + #networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.05"; # Did you read the comment? + + nix = { + settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + auto-optimise-store = true; + substituters = [ + "https://hyprland.cachix.org" + "https://nix-gaming.cachix.org" + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; + }; +} diff --git a/templates/default.nix b/templates/default.nix new file mode 100644 index 0000000..307dd02 --- /dev/null +++ b/templates/default.nix @@ -0,0 +1,21 @@ +{...}: { + #lib = { + # path = ./lib; + #}; + module = { + path = ./module; + description = "Snowfall module"; + }; + overlay = { + path = ./overlay; + description = "Snowfall overlay"; + }; + system = { + path = ./system; + description = "Snowfall system(host)"; + }; + home = { + path = ./home; + description = "Snowfall home"; + }; +} diff --git a/templates/home/default.nix b/templates/home/default.nix new file mode 100644 index 0000000..c7717c0 --- /dev/null +++ b/templates/home/default.nix @@ -0,0 +1,23 @@ +{ + lib, + pkgs, + config, + ... +}: +# User information gathered by Snowfall Lib is available. +let + name = config.snowfallorg.user.name; + home = config.snowfallorg.user.home.directory; +in { + home = { + packages = with pkgs; [ + librewolf + ]; + + sessionVariables = { + EDITOR = "emacsclient -c"; + }; + + stateVersion = "25.05"; + }; +} diff --git a/templates/module/default.nix b/templates/module/default.nix new file mode 100644 index 0000000..59f4873 --- /dev/null +++ b/templates/module/default.nix @@ -0,0 +1,25 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.module; +in { + options.${namespace}.module = with types; { + enable = mkBoolOpt false "Enable module"; + }; + + config = + mkIf cfg.enable { + }; +} diff --git a/templates/overlay/default.nix b/templates/overlay/default.nix new file mode 100644 index 0000000..b08dfc4 --- /dev/null +++ b/templates/overlay/default.nix @@ -0,0 +1,3 @@ +_: (final: prev: { + package = prev.package.override {}; +}) diff --git a/templates/system/default.nix b/templates/system/default.nix new file mode 100644 index 0000000..e60108a --- /dev/null +++ b/templates/system/default.nix @@ -0,0 +1,39 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: { + imports = [./hardware-configuration.nix]; + + # Enable Bootloader (EFI or BIOS) + #system.boot.efi.enable = true; + #system.boot.bios.enable = true; + + # Better battery life on laptops + # system.battery.enable = true; + + # suites.desktop.enable = true; + # suites.development.enable = true; + + # suites.server.enable = true; + + # Nvidia Drivers + # hardware.nvidia.enable = true; + + # Add packages (custom for ones in these dotfiles) + # environment.systemPackages = with pkgs; [ + # ${namespace}.package + # ]; + + # ======================== DO NOT CHANGE THIS ======================== + system.stateVersion = "25.05"; + # ======================== DO NOT CHANGE THIS ======================== +}