diff --git a/common/desktop/apps.nix b/common/desktop/apps.nix
deleted file mode 100644
index be23b6f..0000000
--- a/common/desktop/apps.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{...}: {
- services.flatpak.enable = true;
-}
diff --git a/common/desktop/gnome.nix b/common/desktop/gnome.nix
deleted file mode 100644
index 0eb0bbc..0000000
--- a/common/desktop/gnome.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{...}: {
- services = {
- xserver = {
- desktopManager.gnome.enable = true;
- displayManager.gdm = {
- enable = true;
- wayland = false;
- };
- };
- gnome = {
- core-utilities.enable = false;
- gnome-browser-connector.enable = true;
- };
- };
-}
diff --git a/common/desktop/xorg.nix b/common/desktop/xorg.nix
deleted file mode 100644
index 21de414..0000000
--- a/common/desktop/xorg.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{pkgs, ...}: {
- services.xserver = {
- enable = true;
- excludePackages = [pkgs.xterm];
- };
-
- fonts = {
- enableDefaultFonts = true;
- enableGhostscriptFonts = true;
- fontDir.enable = true;
- fonts = [pkgs.nerdfonts pkgs.noto-fonts-cjk-sans];
- };
-}
diff --git a/common/dev/podman.nix b/common/dev/podman.nix
deleted file mode 100644
index dfa0620..0000000
--- a/common/dev/podman.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{...}: {
- virtualisation.podman.enable = true;
- virtualisation.podman.dockerCompat = true;
-}
diff --git a/common/nix.nix b/common/nix.nix
deleted file mode 100644
index 844494c..0000000
--- a/common/nix.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- nixpkgs.config = {
- allowUnfree = true;
- };
-
- nix = {
- settings = {
- auto-optimise-store = true;
- trusted-users = ["root" "relms"];
- };
- extraOptions = ''
- experimental-features = nix-command flakes
- '';
- };
-}
diff --git a/common/virt/libvirt.nix b/common/virt/libvirt.nix
deleted file mode 100644
index 5799bf0..0000000
--- a/common/virt/libvirt.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{pkgs, ...}: {
- virtualisation.libvirtd = {
- enable = true;
- qemu = {
- package = pkgs.qemu_full;
- ovmf.packages = [pkgs.OVMFFull];
- swtpm = {
- enable = true;
- };
- };
- };
-}
diff --git a/devices/crystal-gitlab/base.nix b/devices/crystal-gitlab/base.nix
deleted file mode 100644
index 42ea12f..0000000
--- a/devices/crystal-gitlab/base.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- config,
- pkgs,
- lib,
- modulesPath,
- ...
-}: {
- imports = [(modulesPath + "/profiles/qemu-guest.nix")];
-
- boot = {
- initrd = {
- availableKernelModules = ["uhci_hcd" "ehci-pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
- kernelModules = [];
- };
- kernelModules = ["kvm-intel"];
- extraModulePackages = [];
- };
-
- fileSystems = {
- "/" = {
- device = "/dev/sda1";
- fsType = "xfs";
- };
- };
-
- boot = {
- loader = {
- grub = {
- enable = true;
- device = "/dev/sda";
- };
- };
- kernelPackages = pkgs.linuxPackages_latest;
- };
-
- time.timeZone = "America/Los_Angeles";
-
- zramSwap.enable = true;
-
- system.stateVersion = "23.05";
-
- networking.hostName = "crystal-gitlab";
- networking.useDHCP = true;
- nixpkgs.hostPlatform = "x86_64-linux";
- powerManagement.cpuFreqGovernor = "performance";
- services.qemuGuest.enable = true;
-}
diff --git a/devices/pixel/base.nix b/devices/pixel/base.nix
deleted file mode 100644
index 898ac4e..0000000
--- a/devices/pixel/base.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- system.stateVersion = "22.11";
-
- time.timeZone = "America/Los_Angeles";
-
- user.shell = "${pkgs.fish}/bin/fish";
-
- nix = {
- extraOptions = ''
- experimental-features = nix-command flakes
- '';
- };
-
- home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
-
- config = {pkgs, ...}: {
- imports = [
- ../../users/relms/base.nix
- ../../users/relms/shell.nix
- ../../users/relms/dev.nix
- ];
-
- manual.manpages.enable = false;
- services.gpg-agent.pinentryFlavor = lib.mkForce "curses";
- programs.neovim.enable = lib.mkForce false;
- };
- };
-}
diff --git a/devices/skynet/base.nix b/devices/skynet/base.nix
deleted file mode 100644
index 6d0b4c2..0000000
--- a/devices/skynet/base.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}: {
- networking.hostName = "skynet";
-
- services.fprintd.enable = true;
- systemd.services.fprintd = {
- wantedBy = ["multi-user.target"];
- serviceConfig.Type = "simple";
- };
-
- services.fwupd.enable = true;
- services.fwupd.enableTestRemote = true;
- services.fwupd.extraRemotes = ["lvfs-testing"];
-
- environment.etc."fwupd/uefi_capsule.conf".text = lib.mkForce ''
- [uefi_capsule]
- DisableCapsuleUpdateOnDisk=true
- OverrideESPMountPoint=/boot/efi
- '';
-
- hardware.enableRedistributableFirmware = true;
- hardware.cpu.intel.updateMicrocode = true;
- hardware.sensor.iio.enable = true;
- hardware.opengl.extraPackages = with pkgs; [
- intel-compute-runtime
- mesa_drivers
- vaapiIntel
- vaapiVdpau
- libvdpau-va-gl
- intel-media-driver
- ];
-
- boot = {
- initrd = {
- availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
- };
- kernelModules = ["kvm-intel"];
- kernelParams = ["i915.force_probe=46a6"];
- };
-
- fileSystems = {
- "/" = {
- device = "/dev/disk/by-uuid/d0dfd8f7-355c-4d81-a20b-52b522914b96";
- fsType = "xfs";
- };
- "/boot/efi" = {
- device = "/dev/disk/by-uuid/FD80-0AEA";
- fsType = "vfat";
- };
- };
-
- nixpkgs.hostPlatform = "x86_64-linux";
-}
diff --git a/devices/wsl/base.nix b/devices/wsl/base.nix
deleted file mode 100644
index cb340b9..0000000
--- a/devices/wsl/base.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{pkgs, ...}: {
- wsl = {
- enable = true;
- wslConf.automount.root = "/mnt";
- defaultUser = "relms";
- startMenuLaunchers = true;
- nativeSystemd = true;
- };
-
- networking.hostName = "wsl";
-
- system.stateVersion = "23.05";
-}
diff --git a/flake.lock b/flake.lock
index 472900c..a9d0d12 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,141 +1,125 @@
{
"nodes": {
- "agenix": {
+ "alejandra": {
"inputs": {
- "darwin": "darwin",
- "home-manager": [
- "home-manager"
+ "fenix": "fenix",
+ "flakeCompat": "flakeCompat",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733729059,
+ "narHash": "sha256-5xYai0KZirUX2EQpNMMCWoC27932n/i1E4KeVRIss7s=",
+ "owner": "kamadorueda",
+ "repo": "alejandra",
+ "rev": "6db88764334bd6a8b7a33cb312c318baad1d5e93",
+ "type": "github"
+ },
+ "original": {
+ "owner": "kamadorueda",
+ "repo": "alejandra",
+ "type": "github"
+ }
+ },
+ "apple-fonts": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
],
+ "ny": "ny",
+ "sf-arabic": "sf-arabic",
+ "sf-compact": "sf-compact",
+ "sf-mono": "sf-mono",
+ "sf-pro": "sf-pro"
+ },
+ "locked": {
+ "lastModified": 1732029343,
+ "narHash": "sha256-sAOEhA/vfyAKggwyI3PNy2xeNzb/USZl4YNpeSzMRBI=",
+ "owner": "Lyndeno",
+ "repo": "apple-fonts.nix",
+ "rev": "714767021b57d0d30de35eb90e4b748fbbb9c99f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Lyndeno",
+ "repo": "apple-fonts.nix",
+ "type": "github"
+ }
+ },
+ "catppuccin": {
+ "inputs": {
+ "catppuccin-v1_1": "catppuccin-v1_1",
+ "catppuccin-v1_2": "catppuccin-v1_2",
+ "home-manager": "home-manager",
+ "home-manager-stable": "home-manager-stable",
"nixpkgs": [
"nixpkgs"
- ]
+ ],
+ "nixpkgs-stable": "nixpkgs-stable",
+ "nuscht-search": "nuscht-search"
},
"locked": {
- "lastModified": 1684153753,
- "narHash": "sha256-PVbWt3qrjYAK+T5KplFcO+h7aZWfEj1UtyoKlvcDxh0=",
- "owner": "ryantm",
- "repo": "agenix",
- "rev": "db5637d10f797bb251b94ef9040b237f4702cde3",
+ "lastModified": 1735634086,
+ "narHash": "sha256-DTcB/kBZULyJztXXnH3OVF5LHLl+O670DuLZZNUMnNo=",
+ "owner": "catppuccin",
+ "repo": "nix",
+ "rev": "63290ea1d2a28e65195017ed78a81cfc242ef0df",
"type": "github"
},
"original": {
- "owner": "ryantm",
- "repo": "agenix",
+ "owner": "catppuccin",
+ "repo": "nix",
"type": "github"
}
},
- "darwin": {
+ "catppuccin-v1_1": {
+ "locked": {
+ "lastModified": 1734055249,
+ "narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=",
+ "rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7",
+ "revCount": 326,
+ "type": "tarball",
+ "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz"
+ },
+ "original": {
+ "type": "tarball",
+ "url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz"
+ }
+ },
+ "catppuccin-v1_2": {
+ "locked": {
+ "lastModified": 1734728407,
+ "narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=",
+ "rev": "23ee86dbf4ed347878115a78971d43025362fab1",
+ "revCount": 341,
+ "type": "tarball",
+ "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz"
+ },
+ "original": {
+ "type": "tarball",
+ "url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz"
+ }
+ },
+ "fenix": {
"inputs": {
"nixpkgs": [
- "agenix",
+ "alejandra",
"nixpkgs"
- ]
+ ],
+ "rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
- "lastModified": 1673295039,
- "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
- "owner": "lnl7",
- "repo": "nix-darwin",
- "rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
+ "lastModified": 1730615655,
+ "narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=",
+ "owner": "nix-community",
+ "repo": "fenix",
+ "rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c",
"type": "github"
},
"original": {
- "owner": "lnl7",
- "ref": "master",
- "repo": "nix-darwin",
- "type": "github"
- }
- },
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_2": {
- "flake": false,
- "locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-parts": {
- "inputs": {
- "nixpkgs-lib": [
- "neovim",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1685662779,
- "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_2": {
- "inputs": {
- "nixpkgs-lib": "nixpkgs-lib"
- },
- "locked": {
- "lastModified": 1685662779,
- "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
- "type": "github"
- },
- "original": {
- "id": "flake-parts",
- "type": "indirect"
- }
- },
- "flake-parts_3": {
- "inputs": {
- "nixpkgs-lib": [
- "neovim",
- "hercules-ci-effects",
- "hercules-ci-agent",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1685662779,
- "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
+ "owner": "nix-community",
+ "repo": "fenix",
"type": "github"
}
},
@@ -144,11 +128,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1685518550,
- "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@@ -157,91 +141,35 @@
"type": "github"
}
},
- "flake-utils_2": {
+ "flakeCompat": {
+ "flake": false,
"locked": {
- "lastModified": 1644229661,
- "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "haskell-flake": {
- "locked": {
- "lastModified": 1684780604,
- "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=",
- "owner": "srid",
- "repo": "haskell-flake",
- "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2",
- "type": "github"
- },
- "original": {
- "owner": "srid",
- "ref": "0.3.0",
- "repo": "haskell-flake",
- "type": "github"
- }
- },
- "hercules-ci-agent": {
- "inputs": {
- "flake-parts": "flake-parts_3",
- "haskell-flake": "haskell-flake",
- "nixpkgs": "nixpkgs"
- },
- "locked": {
- "lastModified": 1686721748,
- "narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=",
- "owner": "hercules-ci",
- "repo": "hercules-ci-agent",
- "rev": "7192b83935ab292a8e894db590dfd44f976e183b",
- "type": "github"
- },
- "original": {
- "id": "hercules-ci-agent",
- "type": "indirect"
- }
- },
- "hercules-ci-effects": {
- "inputs": {
- "flake-parts": "flake-parts_2",
- "hercules-ci-agent": "hercules-ci-agent",
- "nixpkgs": [
- "neovim",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1686830987,
- "narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=",
- "owner": "hercules-ci",
- "repo": "hercules-ci-effects",
- "rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "hercules-ci-effects",
+ "owner": "edolstra",
+ "repo": "flake-compat",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
+ "catppuccin",
"nixpkgs"
]
},
"locked": {
- "lastModified": 1687337969,
- "narHash": "sha256-5b58eo7Eku2ae+62HHHTbHtwe4jlS44JfYCDulGdopg=",
+ "lastModified": 1734622215,
+ "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "9ce6977fe76fb408042a432e314764f8d1d86263",
+ "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
"type": "github"
},
"original": {
@@ -250,282 +178,248 @@
"type": "github"
}
},
- "neovim": {
+ "home-manager-stable": {
+ "inputs": {
+ "nixpkgs": [
+ "catppuccin",
+ "nixpkgs-stable"
+ ]
+ },
+ "locked": {
+ "lastModified": 1734366194,
+ "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "release-24.11",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "home-manager_2": {
"inputs": {
- "flake-compat": "flake-compat",
- "flake-parts": "flake-parts",
- "hercules-ci-effects": "hercules-ci-effects",
- "neovim-flake": "neovim-flake",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
- "lastModified": 1687305901,
- "narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=",
+ "lastModified": 1735774425,
+ "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=",
"owner": "nix-community",
- "repo": "neovim-nightly-overlay",
- "rev": "3293647eeb76c09d03f6d12ee38472a87f303836",
+ "repo": "home-manager",
+ "rev": "5f6aa268e419d053c3d5025da740e390b12ac936",
"type": "github"
},
"original": {
"owner": "nix-community",
- "repo": "neovim-nightly-overlay",
+ "repo": "home-manager",
"type": "github"
}
},
- "neovim-flake": {
+ "ixx": {
"inputs": {
- "flake-utils": "flake-utils",
- "nixpkgs": [
- "neovim",
- "nixpkgs"
- ]
- },
- "locked": {
- "dir": "contrib",
- "lastModified": 1687288633,
- "narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=",
- "owner": "neovim",
- "repo": "neovim",
- "rev": "3bf887f6e08fa272679187340ca483809275b20a",
- "type": "github"
- },
- "original": {
- "dir": "contrib",
- "owner": "neovim",
- "repo": "neovim",
- "type": "github"
- }
- },
- "nix-formatter-pack": {
- "inputs": {
- "nixpkgs": [
- "nix-on-droid",
- "nixpkgs"
- ],
- "nmd": "nmd",
- "nmt": "nmt"
- },
- "locked": {
- "lastModified": 1666720474,
- "narHash": "sha256-iWojjDS1D19zpeZXbBdjWb9MiKmVVFQCqtJmtTXgPx8=",
- "owner": "Gerschtli",
- "repo": "nix-formatter-pack",
- "rev": "14876cc8fe94a3d329964ecb073b4c988c7b61f5",
- "type": "github"
- },
- "original": {
- "owner": "Gerschtli",
- "repo": "nix-formatter-pack",
- "type": "github"
- }
- },
- "nix-on-droid": {
- "inputs": {
- "home-manager": [
- "home-manager"
- ],
- "nix-formatter-pack": "nix-formatter-pack",
- "nixpkgs": [
- "nixpkgs"
- ],
- "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
- "nmd": "nmd_2"
- },
- "locked": {
- "lastModified": 1684353543,
- "narHash": "sha256-0b85kcdeM1WgGZZn0L4fke39xcVpO99hidzcpqvNOcQ=",
- "owner": "t184256",
- "repo": "nix-on-droid",
- "rev": "064e1b280e4711ecea0d7abbe885362cbf7b717a",
- "type": "github"
- },
- "original": {
- "owner": "t184256",
- "repo": "nix-on-droid",
- "type": "github"
- }
- },
- "nixos-hardware": {
- "locked": {
- "lastModified": 1686838567,
- "narHash": "sha256-aqKCUD126dRlVSKV6vWuDCitfjFrZlkwNuvj5LtjRRU=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "429f232fe1dc398c5afea19a51aad6931ee0fb89",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "nixos-wsl": {
- "inputs": {
- "flake-compat": "flake-compat_2",
"flake-utils": [
- "utils"
+ "catppuccin",
+ "nuscht-search",
+ "flake-utils"
],
"nixpkgs": [
+ "catppuccin",
+ "nuscht-search",
"nixpkgs"
]
},
"locked": {
- "lastModified": 1687279045,
- "narHash": "sha256-LR0dsXd/A07M61jclyBUW0wRojEQteWReKM35zoJXp0=",
- "owner": "nix-community",
- "repo": "nixos-wsl",
- "rev": "a8486b5d191f11d571f15d80b6e265d1712d01cf",
+ "lastModified": 1729958008,
+ "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
+ "owner": "NuschtOS",
+ "repo": "ixx",
+ "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
"type": "github"
},
"original": {
- "owner": "nix-community",
- "repo": "nixos-wsl",
+ "owner": "NuschtOS",
+ "ref": "v0.0.6",
+ "repo": "ixx",
+ "type": "github"
+ }
+ },
+ "nix-flatpak": {
+ "locked": {
+ "lastModified": 1734128415,
+ "narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
+ "owner": "gmodena",
+ "repo": "nix-flatpak",
+ "rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gmodena",
+ "ref": "latest",
+ "repo": "nix-flatpak",
+ "type": "github"
+ }
+ },
+ "nixos-facter-modules": {
+ "locked": {
+ "lastModified": 1734596637,
+ "narHash": "sha256-MRqwVAe3gsb88u4ME1UidmZFVCx+FEnoob0zkpO9DMY=",
+ "owner": "numtide",
+ "repo": "nixos-facter-modules",
+ "rev": "536472754982bf03079b4b4e0261838a760587c0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "nixos-facter-modules",
"type": "github"
}
},
"nixpkgs": {
"locked": {
- "lastModified": 1686501370,
- "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
- "owner": "NixOS",
+ "lastModified": 1735471104,
+ "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
+ "owner": "nixos",
"repo": "nixpkgs",
- "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
+ "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github"
},
"original": {
- "owner": "NixOS",
+ "owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
- "nixpkgs-for-bootstrap": {
+ "nixpkgs-stable": {
"locked": {
- "lastModified": 1669834992,
- "narHash": "sha256-YnhZGHgb4C3Q7DSGisO/stc50jFb9F/MzHeKS4giotg=",
+ "lastModified": 1734600368,
+ "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "596a8e828c5dfa504f91918d0fa4152db3ab5502",
+ "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca",
"type": "github"
},
"original": {
"owner": "NixOS",
+ "ref": "nixos-24.11",
"repo": "nixpkgs",
- "rev": "596a8e828c5dfa504f91918d0fa4152db3ab5502",
"type": "github"
}
},
- "nixpkgs-lib": {
+ "nuscht-search": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "ixx": "ixx",
+ "nixpkgs": [
+ "catppuccin",
+ "nixpkgs"
+ ]
+ },
"locked": {
- "dir": "lib",
- "lastModified": 1685564631,
- "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
+ "lastModified": 1733773348,
+ "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
+ "owner": "NuschtOS",
+ "repo": "search",
+ "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
"type": "github"
},
"original": {
- "dir": "lib",
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
+ "owner": "NuschtOS",
+ "repo": "search",
"type": "github"
}
},
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1687274257,
- "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nmd": {
+ "ny": {
"flake": false,
"locked": {
- "lastModified": 1666190571,
- "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
- "owner": "rycee",
- "repo": "nmd",
- "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
- "type": "gitlab"
+ "narHash": "sha256-3257NAH4qlan2YHVLpNRy7x8IJqR2pal3OzFo/ykqXs=",
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
},
"original": {
- "owner": "rycee",
- "repo": "nmd",
- "type": "gitlab"
- }
- },
- "nmd_2": {
- "flake": false,
- "locked": {
- "lastModified": 1666190571,
- "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
- "owner": "rycee",
- "repo": "nmd",
- "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
- "type": "gitlab"
- },
- "original": {
- "owner": "rycee",
- "repo": "nmd",
- "type": "gitlab"
- }
- },
- "nmt": {
- "flake": false,
- "locked": {
- "lastModified": 1648075362,
- "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
- "owner": "rycee",
- "repo": "nmt",
- "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
- "type": "gitlab"
- },
- "original": {
- "owner": "rycee",
- "repo": "nmt",
- "type": "gitlab"
- }
- },
- "nur": {
- "locked": {
- "lastModified": 1687352478,
- "narHash": "sha256-vMXSNPRlBoZfvBM5AsJWl4kOqdMeArw4Jf8L1L3FWsI=",
- "owner": "nix-community",
- "repo": "NUR",
- "rev": "df4604971171682d14dc49e71106f9e2ba1f3512",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "NUR",
- "type": "github"
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
}
},
"root": {
"inputs": {
- "agenix": "agenix",
- "home-manager": "home-manager",
- "neovim": "neovim",
- "nix-on-droid": "nix-on-droid",
- "nixos-hardware": "nixos-hardware",
- "nixos-wsl": "nixos-wsl",
- "nixpkgs": "nixpkgs_2",
- "nur": "nur",
- "utils": "utils"
+ "alejandra": "alejandra",
+ "apple-fonts": "apple-fonts",
+ "catppuccin": "catppuccin",
+ "home-manager": "home-manager_2",
+ "nix-flatpak": "nix-flatpak",
+ "nixos-facter-modules": "nixos-facter-modules",
+ "nixpkgs": "nixpkgs"
+ }
+ },
+ "rust-analyzer-src": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1730555913,
+ "narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=",
+ "owner": "rust-lang",
+ "repo": "rust-analyzer",
+ "rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rust-lang",
+ "ref": "nightly",
+ "repo": "rust-analyzer",
+ "type": "github"
+ }
+ },
+ "sf-arabic": {
+ "flake": false,
+ "locked": {
+ "narHash": "sha256-/0gjRimqvZyE60xYxxPdlU+7Q2LJnnvtbmwOP0YmS9U=",
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
+ },
+ "original": {
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
+ }
+ },
+ "sf-compact": {
+ "flake": false,
+ "locked": {
+ "narHash": "sha256-J72Lyt2wy83E46wN8w6/Rih9kilM9wEjtY6KnbF0DsA=",
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
+ },
+ "original": {
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
+ }
+ },
+ "sf-mono": {
+ "flake": false,
+ "locked": {
+ "narHash": "sha256-ICdHRFdNL7PM/fXJUzS7LgZxZiqcyIuCMHLze4En4vg=",
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
+ },
+ "original": {
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
+ }
+ },
+ "sf-pro": {
+ "flake": false,
+ "locked": {
+ "narHash": "sha256-Q/pOQ4MGhW/ZtLka+UUQcwSoZFDWW34XvutxL4GvzUY=",
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
+ },
+ "original": {
+ "type": "file",
+ "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
}
},
"systems": {
@@ -542,24 +436,6 @@
"repo": "default",
"type": "github"
}
- },
- "utils": {
- "inputs": {
- "flake-utils": "flake-utils_2"
- },
- "locked": {
- "lastModified": 1657226504,
- "narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=",
- "owner": "gytis-ivaskevicius",
- "repo": "flake-utils-plus",
- "rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a",
- "type": "github"
- },
- "original": {
- "owner": "gytis-ivaskevicius",
- "repo": "flake-utils-plus",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 57eabe9..e86aad6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,158 +1,223 @@
{
description = "The nix flake for all my systems";
inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
-
- neovim.url = "github:nix-community/neovim-nightly-overlay";
- neovim.inputs.nixpkgs.follows = "nixpkgs";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
- nur.url = "github:nix-community/NUR";
+ nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
- utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
+ apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
+ apple-fonts.inputs.nixpkgs.follows = "nixpkgs";
- nixos-wsl.url = "github:nix-community/nixos-wsl";
- nixos-wsl.inputs.nixpkgs.follows = "nixpkgs";
- nixos-wsl.inputs.flake-utils.follows = "utils";
+ catppuccin.url = "github:catppuccin/nix";
+ catppuccin.inputs.nixpkgs.follows = "nixpkgs";
- nix-on-droid.url = "github:t184256/nix-on-droid";
- nix-on-droid.inputs.nixpkgs.follows = "nixpkgs";
- nix-on-droid.inputs.home-manager.follows = "home-manager";
+ alejandra.url = "github:kamadorueda/alejandra";
+ alejandra.inputs.nixpkgs.follows = "nixpkgs";
- nixos-hardware.url = "github:NixOS/nixos-hardware";
-
- agenix.url = "github:ryantm/agenix";
- agenix.inputs.nixpkgs.follows = "nixpkgs";
- agenix.inputs.home-manager.follows = "home-manager";
+ nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
};
- outputs = {
+ outputs = inputs @ {
self,
nixpkgs,
- utils,
home-manager,
- neovim,
- nur,
- nixos-wsl,
- nix-on-droid,
- nixos-hardware,
- agenix,
+ nixos-facter-modules,
+ catppuccin,
+ alejandra,
+ nix-flatpak,
...
}: let
modules = {
- home = {
- common = [
- ./users/relms/base.nix
- ./users/relms/shell.nix
- ];
- dev = [
- ./users/relms/dev.nix
- ./users/relms/neovim.nix
- ];
- gui = [
- ./users/relms/gui.nix
- ];
+ hardware = {
+ boot = {
+ grub = [
+ ./hardware/boot/grub.nix
+ ];
+ };
+ devices = {
+ wahnix = [
+ ./hardware/devices/wahnix.nix
+ ];
+ };
+ drivers = {
+ controllers = {
+ xbox = [
+ ./hardware/drivers/controllers/xbox.nix
+ ];
+ };
+ cpu = {
+ intel = [
+ ./hardware/drivers/cpu/intel.nix
+ ];
+ };
+ video = {
+ base = [
+ ./hardware/drivers/video/base.nix
+ ];
+ intel = [
+ ./hardware/drivers/video/intel.nix
+ ];
+ nvidia = [
+ ./hardware/drivers/video/nvidia.nix
+ ];
+ };
+ };
};
nixos = {
- common = [
- ./common/personal.nix
- ./common/nix.nix
- ./devices/common.nix
+ base = [
+ ./system/nix.nix
];
- dev = [
- ./common/dev/podman.nix
- ];
- services = {
- common = [
- ./services/openssh.nix
- ];
- };
desktops = {
- common = [
- ./common/desktop/apps.nix
- ./common/desktop/media.nix
- ./common/desktop/xorg.nix
+ apps = [
+ ./system/desktop/apps.nix
];
- gnome = [
- ./common/desktop/gnome.nix
+ displaymanagers = {
+ tuigreet = [
+ ./system/desktop/displaymanagers/tuigreet.nix
+ ];
+ };
+ environments = {
+ hyprland = [
+ ./system/desktop/environments/hyprland.nix
+ ];
+ };
+ };
+ security = {
+ sudo = [
+ ./system/security/sudo.nix
+ ];
+ };
+ services = {
+ bluetooth = [
+ ./system/services/bluetooth.nix
+ ];
+ flatpak = [
+ ./system/services/flatpak.nix
+ ];
+ networkmanager = [
+ ./system/services/networkmanager.nix
+ ];
+ openssh = [
+ ./system/services/openssh.nix
+ ];
+ pipewire = [
+ ./system/services/pipewire.nix
+ ];
+ };
+ users = {
+ relms = [
+ ./system/users/relms.nix
+ ];
+ };
+ };
+ home = {
+ apps = {
+ audio = {
+ pulseaudio = [
+ ./home/modules/apps/audio/pulesaudio.nix
+ ];
+ };
+ browsers = {
+ firefox = [
+ ./home/modules/apps/browsers/firefox.nix
+ ];
+ };
+ terminals = {
+ kitty = [
+ ./home/modules/apps/terminals/kitty.nix
+ ];
+ };
+ flatpak = [
+ ./home/modules/apps/flatpak.nix
+ ];
+ };
+ cli = {
+ development = [
+ ./home/modules/cli/development.nix
+ ./home/modules/cli/neovim.nix
+ ];
+ shell = [
+ ./home/modules/cli/shell.nix
+ ];
+ };
+ desktop = {
+ environments = {
+ hyprland = [
+ ./home/modules/desktop/environments/hyprland.nix
+ ];
+ };
+ };
+ users = {
+ relms = [
+ ./home/users/relms.nix
];
};
};
};
- pkgsForSystem = system:
- import nixpkgs {
- overlays = [nur.overlay (utils.lib.genPkgOverlay neovim "neovim")];
- inherit system;
- };
in {
+ packages.x86_64-linux.nerd-fonts-sf-mono-ligatures = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix {};
+
nixosConfigurations = {
- skynet = nixpkgs.lib.nixosSystem {
- pkgs = pkgsForSystem "x86_64-linux";
+ wahnix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
+ specialArgs = {
+ inherit inputs;
+ };
modules =
- modules.nixos.common
- ++ modules.nixos.dev
- ++ modules.nixos.services.common
- ++ modules.nixos.desktops.common
- ++ modules.nixos.desktops.gnome
+ modules.nixos.base
+ ++ modules.nixos.desktops.apps
+ ++ modules.nixos.desktops.displaymanagers.tuigreet
+ ++ modules.nixos.desktops.environments.hyprland
+ ++ modules.nixos.security.sudo
+ ++ modules.nixos.services.bluetooth
+ ++ modules.nixos.services.flatpak
+ ++ modules.nixos.services.networkmanager
+ ++ modules.nixos.services.openssh
+ ++ modules.nixos.services.pipewire
+ ++ modules.nixos.users.relms
+ ++ modules.hardware.boot.grub
+ ++ modules.hardware.devices.wahnix
+ ++ modules.hardware.drivers.controllers.xbox
+ ++ modules.hardware.drivers.cpu.intel
+ ++ modules.hardware.drivers.video.base
+ ++ modules.hardware.drivers.video.intel
+ ++ modules.hardware.drivers.video.nvidia
++ [
- ./common/virt/libvirt.nix
- ./devices/skynet/base.nix
- nixos-hardware.nixosModules.framework-12th-gen-intel
- agenix.nixosModules.default
- ];
- };
-
- wsl = nixpkgs.lib.nixosSystem {
- pkgs = pkgsForSystem "x86_64-linux";
- system = "x86_64-linux";
- modules = [
- nixos-wsl.nixosModules.wsl
- ./common/personal.nix
- ./common/nix.nix
- ./devices/wsl/base.nix
- ];
- };
-
- crystal-gitlab = nixpkgs.lib.nixosSystem {
- pkgs = pkgsForSystem "x86_64-linux";
- system = "x86_64-linux";
- modules =
- modules.nixos.services.common
- ++ [
- agenix.nixosModules.default
- ./devices/crystal-gitlab/base.nix
- ./services/crystal/gitlab-runner.nix
- ./common/personal.nix
- ./common/nix.nix
+ nix-flatpak.nixosModules.nix-flatpak
+ catppuccin.nixosModules.catppuccin
+ nixos-facter-modules.nixosModules.facter
+ {config.facter.reportPath = ./wahnix-facter.json;}
+ home-manager.nixosModules.home-manager
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.extraSpecialArgs = {
+ inherit self;
+ inherit inputs;
+ };
+ home-manager.users.relms = {
+ imports =
+ modules.home.users.relms
+ ++ modules.home.apps.audio.pulseaudio
+ ++ modules.home.apps.browsers.firefox
+ ++ modules.home.apps.terminals.kitty
+ ++ modules.home.apps.flatpak
+ ++ modules.home.cli.development
+ ++ modules.home.cli.shell
+ ++ modules.home.desktop.environments.hyprland
+ ++ [
+ catppuccin.homeManagerModules.catppuccin
+ nix-flatpak.homeManagerModules.nix-flatpak
+ ];
+ };
+ }
];
};
};
- homeConfigurations.relms = home-manager.lib.homeManagerConfiguration {
- pkgs = pkgsForSystem "x86_64-linux";
- modules =
- modules.home.common
- ++ modules.home.dev
- ++ modules.home.gui
- ++ [
- {
- home = {
- homeDirectory = "/home/relms";
- username = "relms";
- };
- }
- ];
- };
-
- nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
- pkgs = pkgsForSystem "aarch64-linux";
- system = "aarch64-linux";
- modules = [./devices/pixel/base.nix];
- };
-
- formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
- formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
+ formatter.aarch64-linux = alejandra.defaultPackage.aarch64-linux;
+ formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
};
}
diff --git a/devices/common.nix b/hardware/boot/grub.nix
similarity index 58%
rename from devices/common.nix
rename to hardware/boot/grub.nix
index e557cb0..da970d6 100644
--- a/devices/common.nix
+++ b/hardware/boot/grub.nix
@@ -6,22 +6,13 @@
device = "nodev";
useOSProber = true;
efiSupport = true;
+ memtest86.enable = true;
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
- kernelPackages = pkgs.linuxPackages_latest;
+ kernelPackages = pkgs.linuxKernel.packages.linux_zen;
};
-
- hardware = {
- xpadneo.enable = true;
- };
-
- time.timeZone = "America/Los_Angeles";
-
- zramSwap.enable = true;
-
- system.stateVersion = "23.05";
}
diff --git a/hardware/devices/wahnix.nix b/hardware/devices/wahnix.nix
new file mode 100644
index 0000000..9248b92
--- /dev/null
+++ b/hardware/devices/wahnix.nix
@@ -0,0 +1,16 @@
+{...}: {
+ networking.hostName = "wahnix";
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/42e669ff-7713-4210-81e0-f0024b4e7e81";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot/efi" = {
+ device = "/dev/disk/by-uuid/A454-A58C";
+ fsType = "vfat";
+ options = ["fmask=0022" "dmask=0022"];
+ };
+
+ nixpkgs.hostPlatform = "x86_64-linux";
+}
diff --git a/hardware/drivers/controllers/xbox.nix b/hardware/drivers/controllers/xbox.nix
new file mode 100644
index 0000000..712668e
--- /dev/null
+++ b/hardware/drivers/controllers/xbox.nix
@@ -0,0 +1,3 @@
+{
+ hardware.xpadneo.enable = true;
+}
diff --git a/hardware/drivers/cpu/intel.nix b/hardware/drivers/cpu/intel.nix
new file mode 100644
index 0000000..ec52660
--- /dev/null
+++ b/hardware/drivers/cpu/intel.nix
@@ -0,0 +1,3 @@
+{
+ hardware.cpu.intel.updateMicrocode = true;
+}
diff --git a/hardware/drivers/video/base.nix b/hardware/drivers/video/base.nix
new file mode 100644
index 0000000..a55d670
--- /dev/null
+++ b/hardware/drivers/video/base.nix
@@ -0,0 +1,19 @@
+{
+ lib,
+ pkgs,
+ ...
+}: {
+ hardware.graphics = {
+ enable = true;
+ extraPackages = lib.mkDefault [];
+ extraPackages32 = lib.mkDefault [];
+ };
+
+ environment.systemPackages = with pkgs; [
+ glxinfo
+ vulkan-tools
+ clinfo
+ libva-utils
+ vdpauinfo
+ ];
+}
diff --git a/hardware/drivers/video/intel.nix b/hardware/drivers/video/intel.nix
new file mode 100644
index 0000000..119ac77
--- /dev/null
+++ b/hardware/drivers/video/intel.nix
@@ -0,0 +1,13 @@
+{
+ config,
+ pkgs,
+ ...
+}: {
+ hardware.graphics.extraPackages = with pkgs; [
+ vpl-gpu-rt
+ intel-media-driver
+ intel-compute-runtime
+ ];
+
+ services.xserver.videoDrivers = ["modesetting"];
+}
diff --git a/hardware/drivers/video/nvidia.nix b/hardware/drivers/video/nvidia.nix
new file mode 100644
index 0000000..bdf9041
--- /dev/null
+++ b/hardware/drivers/video/nvidia.nix
@@ -0,0 +1,16 @@
+{config, ...}: {
+ hardware.nvidia = {
+ open = true;
+ prime = {
+ intelBusId = "PCI:0:2:0";
+ nvidiaBusId = "PCI:1:0:0";
+ offload = {
+ enable = true;
+ enableOffloadCmd = true;
+ };
+ };
+ };
+
+ boot.blacklistedKernelModules = ["nouveau"];
+ services.xserver.videoDrivers = ["nvidia"];
+}
diff --git a/home/modules/apps/audio/pulesaudio.nix b/home/modules/apps/audio/pulesaudio.nix
new file mode 100644
index 0000000..eca5fb2
--- /dev/null
+++ b/home/modules/apps/audio/pulesaudio.nix
@@ -0,0 +1,5 @@
+{pkgs, ...}: {
+ home.packages = with pkgs; [
+ pavucontrol
+ ];
+}
diff --git a/home/modules/apps/browsers/firefox.nix b/home/modules/apps/browsers/firefox.nix
new file mode 100644
index 0000000..3421a0f
--- /dev/null
+++ b/home/modules/apps/browsers/firefox.nix
@@ -0,0 +1,6 @@
+{
+ programs.firefox = {
+ enable = true;
+ languagePacks = ["en-US"];
+ };
+}
diff --git a/home/modules/apps/flatpak.nix b/home/modules/apps/flatpak.nix
new file mode 100644
index 0000000..a016842
--- /dev/null
+++ b/home/modules/apps/flatpak.nix
@@ -0,0 +1,6 @@
+{
+ services.flatpak.packages = [
+ "com.discordapp.Discord"
+ "org.telegram.desktop"
+ ];
+}
diff --git a/home/modules/apps/terminals/kitty.nix b/home/modules/apps/terminals/kitty.nix
new file mode 100644
index 0000000..6090b51
--- /dev/null
+++ b/home/modules/apps/terminals/kitty.nix
@@ -0,0 +1,46 @@
+{
+ self,
+ pkgs,
+ ...
+}: {
+ programs.kitty = {
+ enable = true;
+ font = {
+ package = self.packages.${pkgs.system}.nerd-fonts-sf-mono-ligatures;
+ name = "Liga SFMonoNerdFont";
+ size = 10;
+ };
+ settings = {
+ # Cursor Settings
+ cursor_shape = "beam";
+ cursor_shape_unfocused = "unchanged";
+ cursor_stop_blinking_after = 0;
+
+ # Scrollback Settings
+ scrollback_lines = 10000;
+ scrollback_pager_history_size = 2048;
+ scrollback_fill_enlarged_window = "yes";
+
+ # Mouse Settings
+ mouse_hide_wait = 0;
+ url_style = "straight";
+
+ # Bell Settings
+ enable_audio_bell = "no";
+
+ # Window Settings
+ hide_window_decorations = "yes";
+
+ # Tab Settings
+ tab_bar_edge = "top";
+ };
+ shellIntegration = {
+ enableFishIntegration = true;
+ };
+ };
+
+ catppuccin.kitty = {
+ enable = true;
+ flavor = "mocha";
+ };
+}
diff --git a/users/relms/dev.nix b/home/modules/cli/development.nix
similarity index 60%
rename from users/relms/dev.nix
rename to home/modules/cli/development.nix
index 6f1cd87..6ad387f 100644
--- a/users/relms/dev.nix
+++ b/home/modules/cli/development.nix
@@ -1,8 +1,4 @@
{pkgs, ...}: {
- home.packages = with pkgs; [
- rustup
- ];
-
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
@@ -22,7 +18,7 @@
};
extraConfig = {
init = {
- defaultBranch = "main";
+ defaultBranch = "master";
};
pull = {
rebase = false;
@@ -33,6 +29,18 @@
core = {
editor = "nvim";
};
+ color = {
+ ui = "auto";
+ };
+ diff = {
+ colorMoved = "default";
+ };
+ tag = {
+ forceSignAnnotated = true;
+ };
+ pack = {
+ writeReversedIndex = true;
+ };
};
signing = {
signByDefault = true;
@@ -43,20 +51,18 @@
programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true;
- programs.lazygit.enable = true;
- programs.lazygit.settings = {
- gui = {
- showIcons = true;
- };
- git = {
- paging = {
- colorArg = "always";
- pager = "delta --dark --paging=never";
- };
- commit = {
- signOff = true;
- };
- parseEmoji = true;
- };
+ programs.gpg.enable = true;
+
+ services.gpg-agent = {
+ enable = true;
+ enableFishIntegration = true;
+ enableScDaemon = true;
+ enableSshSupport = true;
+ pinentryPackage = pkgs.pinentry-rofi;
+ };
+
+ catppuccin.delta = {
+ enable = true;
+ flavor = "mocha";
};
}
diff --git a/home/modules/cli/neovim.nix b/home/modules/cli/neovim.nix
new file mode 100644
index 0000000..b6fa0b5
--- /dev/null
+++ b/home/modules/cli/neovim.nix
@@ -0,0 +1,49 @@
+{
+ pkgs,
+ inputs,
+ ...
+}: {
+ programs.neovim = {
+ enable = true;
+ defaultEditor = true;
+ viAlias = true;
+ vimAlias = true;
+ vimdiffAlias = true;
+ withNodeJs = true;
+ withPython3 = true;
+ withRuby = true;
+ extraPackages = with pkgs; [
+ # Compilers
+ gcc
+ go
+ dotnet-sdk
+
+ # Rust
+ rustc
+ cargo
+
+ # Nix
+ nixd
+ inputs.alejandra.defaultPackage.${pkgs.system}
+ deadnix
+ statix
+
+ # Utils
+ unzip
+ gnumake
+ wl-clipboard
+ fd
+ tree-sitter
+ wget
+ imagemagick
+ ];
+ extraPython3Packages = pyPkgs:
+ with pyPkgs; [
+ pip
+ ];
+ extraLuaPackages = luaPkgs:
+ with luaPkgs; [
+ magick
+ ];
+ };
+}
diff --git a/home/modules/cli/shell.nix b/home/modules/cli/shell.nix
new file mode 100644
index 0000000..11249d6
--- /dev/null
+++ b/home/modules/cli/shell.nix
@@ -0,0 +1,93 @@
+{lib, ...}: {
+ programs.htop.enable = true;
+
+ programs.btop.enable = true;
+
+ programs.fastfetch.enable = true;
+
+ programs.eza.enable = true;
+ programs.eza.git = true;
+ programs.eza.icons = "auto";
+
+ programs.ripgrep.enable = true;
+
+ programs.bat.enable = true;
+
+ programs.fish = {
+ enable = true;
+ shellAliases = {
+ ls = "eza -laghHUum@ --sort name --group-directories-first --git --icons";
+ tree = "eza -laghHUumRT@ --sort name --group-directories-first --git --icons";
+ nixos-rebuild = "sudo nixos-rebuild --flake ~/git/flake#wahnix";
+ };
+ };
+
+ programs.starship = {
+ enable = true;
+ enableFishIntegration = true;
+ enableTransience = true;
+ settings = {
+ add_newline = true;
+ format = lib.concatStrings ["$username@$hostname" " " "$directory" " " "$all$character"];
+ right_format = "$cmd_duration";
+ directory = {
+ format = "[$path]($style)[$read_only]($read_only_style)";
+ read_only = " 🔒";
+ };
+ hostname = {
+ ssh_only = false;
+ format = "[$hostname]($style)";
+ };
+ username = {
+ show_always = true;
+ format = "[$user]($style)";
+ };
+ shell = {
+ disabled = false;
+ };
+ status = {
+ disabled = false;
+ };
+ };
+ };
+
+ programs.atuin = {
+ enable = true;
+ daemon.enable = true;
+ settings = {
+ dialect = "us";
+ timezone = "local";
+ auto_sync = true;
+ update_check = false;
+ sync_address = "https://atuin.relms.dev";
+ sync_frequency = "10m";
+ filter_mode = "workspace";
+ workspaces = true;
+ style = "auto";
+ show_preview = true;
+ show_help = true;
+ show_tabs = true;
+ enter_accept = false;
+ keymap_mode = "vim-normal";
+ };
+ };
+
+ catppuccin = {
+ fish = {
+ enable = true;
+ flavor = "mocha";
+ };
+ starship = {
+ enable = true;
+ flavor = "mocha";
+ };
+ btop = {
+ enable = true;
+ flavor = "mocha";
+ };
+ bat = {
+ enable = true;
+ flavor = "mocha";
+ };
+ };
+}
diff --git a/home/modules/desktop/environments/hyprland.nix b/home/modules/desktop/environments/hyprland.nix
new file mode 100644
index 0000000..6cc72e8
--- /dev/null
+++ b/home/modules/desktop/environments/hyprland.nix
@@ -0,0 +1,465 @@
+{
+ self,
+ pkgs,
+ inputs,
+ lib,
+ config,
+ ...
+}: {
+ wayland.windowManager.hyprland = {
+ enable = true;
+ systemd.enable = false;
+ xwayland.enable = true;
+ settings = {
+ "$mod" = "SUPER";
+
+ exec-once = [
+ "hyprctl setcursor 24"
+ ];
+
+ monitor = [
+ "eDP-1, 2560x1600@240, 0x0, 1.25"
+ ];
+
+ bind = [
+ "$mod, Return, exec, kitty"
+ "$mod, B, exec, firefox"
+ "$mod, Space, exec, rofi -show drun"
+ "$mod, C, exec, rofi -show calc"
+ "$mod, P, exec, rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"
+
+ "$mod, 1, workspace, 1"
+ "$mod, 2, workspace, 2"
+ "$mod, 3, workspace, 3"
+ "$mod, 4, workspace, 4"
+ "$mod, 5, workspace, 5"
+ "$mod, 6, workspace, 6"
+ "$mod, 7, workspace, 7"
+ "$mod, 8, workspace, 8"
+ "$mod, 9, workspace, 9"
+
+ "$mod_SHIFT, 1, movetoworkspacesilent, 1"
+ "$mod_SHIFT, 2, movetoworkspacesilent, 2"
+ "$mod_SHIFT, 3, movetoworkspacesilent, 3"
+ "$mod_SHIFT, 4, movetoworkspacesilent, 4"
+ "$mod_SHIFT, 5, movetoworkspacesilent, 5"
+ "$mod_SHIFT, 6, movetoworkspacesilent, 6"
+ "$mod_SHIFT, 7, movetoworkspacesilent, 7"
+ "$mod_SHIFT, 8, movetoworkspacesilent, 8"
+ "$mod_SHIFT, 9, movetoworkspacesilent, 9"
+
+ "$mod_SHIFT, left, movewindow, l"
+ "$mod_SHIFT, right, movewindow, r"
+ "$mod_SHIFT, up, movewindow, u"
+ "$mod_SHIFT, down, movewindow, d"
+
+ "$mod, left, resizeactive, -20 0"
+ "$mod, right, resizeactive, 20 0"
+ "$mod, up, resizeactive, 0 -20"
+ "$mod, down, resizeactive, 0 20"
+
+ "$mod_SHIFT, S, setfloating"
+ "$mod_SHIFT, T, settiled"
+ "$mod_SHIFT, F, fullscreen"
+
+ "$mod, V, killactive"
+ "$mod_ALT, Q, exec, loginctl terminate-user \"\""
+ "$mod_ALT, R, exec, hyprctl reload"
+ ];
+
+ bindm = [
+ "$mod, mouse:272, movewindow"
+ ];
+
+ general = {
+ border_size = 1;
+ gaps_out = "0, 8, 8, 8";
+ };
+
+ dwindle = {
+ preserve_split = true;
+ smart_split = false;
+ smart_resizing = false;
+ };
+
+ decoration = {
+ rounding = 10;
+ shadow = {
+ range = 5;
+ };
+ };
+
+ gestures = {
+ workspace_swipe = true;
+ workspace_swipe_create_new = true;
+ workspace_swipe_min_speed_to_force = 0;
+ };
+
+ misc = {
+ font_family = "SFProDisplay Nerd Font";
+ };
+ };
+ };
+
+ programs.waybar = {
+ enable = true;
+ systemd.enable = true;
+ package = pkgs.waybar.overrideAttrs (prev: {
+ version = "git";
+ mesonFlags = prev.mesonFlags ++ (lib.mapAttrsToList lib.mesonEnable {"cava" = false;});
+ src = pkgs.fetchFromGitHub {
+ owner = "Alexays";
+ repo = "Waybar";
+ rev = "ac08b752e38986f4ddcc13d257aea2fafcedbc92";
+ sha256 = "sha256-sbzyQjOag5OC7rSrMW68srjd1k62i9qLmtmFHVu73eA=";
+ };
+ patches = [];
+ });
+ settings = {
+ mainBar = {
+ layer = "top";
+ position = "top";
+ margin = "8";
+
+ modules-left = ["custom/nixicon" "hyprland/workspaces" "hyprland/window"];
+ modules-center = ["clock"];
+ modules-right = ["tray"];
+
+ "custom/nixicon" = {
+ format = " ";
+ tooltip = false;
+ };
+
+ clock = {
+ interval = 1;
+ locale = "en_US.utf8";
+ format = "{:L%r}";
+ format-alt = "{:L%r, %A, %B %d %Y}";
+ timezone = "America/Los_Angeles";
+ tooltip-format = "{calendar}";
+ calendar = {
+ mode = "year";
+ mode-mon-col = 3;
+ weeks-pos = "right";
+ format = {
+ months = "{}";
+ days = "{}";
+ weeks = "W{}";
+ weekdays = "{}";
+ today = "{}";
+ };
+ };
+ };
+
+ "hyprland/workspaces" = {
+ active-only = false;
+ all-outputs = true;
+ persistent-workspaces = {
+ "*" = 9;
+ };
+ };
+
+ "hyprland/window" = {
+ icon = true;
+ max-length = 50;
+ };
+
+ tray = {
+ icon-size = 21;
+ spacing = 10;
+ show-passive-items = true;
+ };
+ };
+ };
+ style = ''
+ * {
+ font-family: "SF ProDisplay Nerd Font";
+ border: none;
+ border-radius: 0;
+ }
+
+ window#waybar {
+ border-radius: 10px;
+ }
+
+ tooltip {
+ background-color: #1e1e2e;
+ border: 1px solid #f5c2e7;
+ border-radius: 10px;
+ }
+
+ #window {
+ margin-left: 10px;
+ }
+
+ #custom-nixicon {
+ font-size: 24px;
+ color: #7EBAE4;
+ }
+
+ #workspaces {
+ margin-top: 5px;
+ margin-bottom: 5px;
+ }
+
+ #workspaces button {
+ background-color: #313244;
+
+ border-bottom-style: solid;
+ border-color: #000000;
+ border-width: 3px;
+ }
+
+ #workspaces button.empty {
+ border-bottom-style: none;
+ }
+
+ #workspaces button.active {
+ border-bottom-style: solid;
+ border-color: white;
+ border-width: 3px;
+ }
+
+ #workspaces button.urgent {
+ border-bottom-style: solid;
+ border-color: red;
+ border-width: 3px;
+
+ animation: blinker 1s step-start infinite;
+ }
+
+ #workspaces button:nth-child(1) {
+ border-radius: 5px 0px 0px 5px;
+ }
+
+ #workspaces button:nth-child(9) {
+ border-radius: 0px 5px 5px 0px;
+ }
+
+ #tray {
+ border-radius: 0px 5px 5px 0px;
+ margin: 5px;
+ padding: 5px;
+ background-color: #313244;
+ }
+
+ @keyframes blinker {
+ 50% {
+ opacity: 0;
+ }
+ }
+ '';
+ };
+
+ programs.rofi = {
+ enable = true;
+ package = pkgs.rofi-wayland;
+ font = "SFProDisplay Nerd Font 10";
+ location = "center";
+ terminal = "${pkgs.kitty}/bin/kitty";
+ extraConfig = {
+ modi = "run,drun,window,calc";
+ show-icons = true;
+ drun-display-format = "{icon} {name}";
+ location = 0;
+ disable-history = false;
+ hide-scrollbar = true;
+ display-drun = " Apps ";
+ display-run = " Run ";
+ display-window = " Window";
+ display-calc = " Calc";
+ sidebar-mode = true;
+ };
+ theme = let
+ inherit (config.lib.formats.rasi) mkLiteral;
+ in {
+ listview = {
+ columns = 1;
+ lines = 15;
+ };
+
+ window = {
+ border-color = mkLiteral "#f5c2e7";
+ border-radius = mkLiteral "10px";
+ };
+
+ "element selected" = {
+ background-color = mkLiteral "#313244";
+ };
+ };
+ plugins = with pkgs; [
+ rofi-power-menu
+ (rofi-calc.override
+ {rofi-unwrapped = rofi-wayland-unwrapped;})
+ ];
+ };
+
+ programs.hyprlock.enable = true;
+ # services.hypridle.enable = true;
+
+ services.mako = {
+ enable = true;
+ actions = true;
+ borderRadius = 10;
+ defaultTimeout = 5000;
+ font = "SFProDisplay Nerd Font 10";
+ };
+
+ services.xsettingsd = {
+ enable = true;
+ settings = {
+ "Gtk/CursorThemeName" = "catppuccin-mocha-pink-cursors";
+ "Gtk/CursorThemeSize" = 30;
+ "Xft/Hinting" = 0;
+ "Xft/HintStyle" = "hintnone";
+ "Xft/Antialias" = 1;
+ "Xft/RGBA" = "rgb";
+ };
+ };
+
+ xresources.properties = {
+ "Xft.antialias" = 1;
+ "Xft.hinting" = 0;
+ "Xft.rgba" = "rgb";
+ "Xft.hintstyle" = "hintnone";
+ };
+
+ services.flatpak.overrides = {
+ global = {
+ Context.sockets = ["wayland" "!x11" "!fallback-x11"];
+
+ Environment = {
+ XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
+ };
+ };
+
+ "com.discordapp.Discord".Context = {
+ sockets = ["x11"];
+ };
+ };
+
+ home.pointerCursor = {
+ gtk.enable = true;
+ x11.enable = true;
+ hyprcursor = {
+ enable = true;
+ size = 24;
+ };
+ size = 24;
+ };
+
+ gtk = {
+ enable = true;
+ font = {
+ package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
+ name = "SFProDisplay Nerd Font";
+ size = 10;
+ };
+ };
+
+ qt = {
+ enable = true;
+ style.name = "kvantum";
+ platformTheme.name = "kvantum";
+ };
+
+ fonts.fontconfig = {
+ enable = true;
+
+ defaultFonts = {
+ emoji = ["Noto Color Emoji"];
+ monospace = ["SFMono Nerd Font"];
+ sansSerif = ["SFProDisplay Nerd Font"];
+ serif = ["SFProDisplay Nerd Font"];
+ };
+ };
+
+ catppuccin = {
+ gtk = {
+ enable = true;
+ gnomeShellTheme = true;
+ accent = "pink";
+ flavor = "mocha";
+ icon = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ };
+ cursors = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ hyprland = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ hyprlock = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ waybar = {
+ enable = true;
+ flavor = "mocha";
+ };
+ kvantum = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ mako = {
+ enable = true;
+ accent = "pink";
+ flavor = "mocha";
+ };
+ rofi = {
+ enable = true;
+ flavor = "mocha";
+ };
+ };
+
+ systemd.user.services = {
+ mako = {
+ Unit = {
+ Description = "mako";
+ PartOf = ["graphical-session.target"];
+ After = ["graphical-session.target"];
+ };
+ Service = {
+ Type = "dbus";
+ BusName = "org.freedesktop.Notifications";
+ ExecStart = "${pkgs.mako}/bin/mako";
+ ExecReload = "${pkgs.mako}/bin/makoctl reload";
+ Restart = "on-failure";
+ RestartSec = 1;
+ TimeoutStopSec = 10;
+ };
+ Install = {
+ WantedBy = ["graphical-session.target"];
+ };
+ };
+ waybar = {
+ Unit = {
+ After = lib.mkForce ["graphical-session.target"];
+ };
+ };
+ };
+
+ home.sessionVariables.NIXOS_OZONE_WL = "1";
+ home.packages = with pkgs; [
+ hyprpicker
+ hyprsunset
+
+ # Fonts
+ inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
+ inputs.apple-fonts.packages.${pkgs.system}.sf-pro
+ inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
+ inputs.apple-fonts.packages.${pkgs.system}.sf-mono
+ noto-fonts-color-emoji
+ noto-fonts
+ self.packages.${pkgs.system}.nerd-fonts-sf-mono-ligatures
+ ];
+}
diff --git a/home/users/relms.nix b/home/users/relms.nix
new file mode 100644
index 0000000..63137a0
--- /dev/null
+++ b/home/users/relms.nix
@@ -0,0 +1,8 @@
+{
+ home.username = "relms";
+ home.homeDirectory = "/home/relms";
+
+ home.stateVersion = "24.11";
+
+ programs.home-manager.enable = true;
+}
diff --git a/pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix b/pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix
new file mode 100644
index 0000000..442804e
--- /dev/null
+++ b/pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix
@@ -0,0 +1,97 @@
+{
+ stdenv,
+ fetchurl,
+ fontforge,
+ unzip,
+ parallel,
+ python3,
+ libarchive,
+ p7zip,
+}: let
+ sfMono = fetchurl {
+ url = "https://developer.apple.com/design/downloads/SF-Mono.dmg";
+ sha256 = "6d4a0b78e3aacd06f913f642cead1c7db4af34ed48856d7171a2e0b55d9a7945";
+ };
+ fontPatcher = fetchurl {
+ url = "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FontPatcher.zip";
+ sha256 = "ce4284e7d1a8816d29bb3a358e33a44e55804792e7925ed0022ba1b3ab1a9d34";
+ };
+ ligaturizer = fetchurl {
+ url = "https://github.com/ToxicFrog/Ligaturizer/archive/refs/tags/v5.tar.gz";
+ sha256 = "da7c20e7622f7381e6905fbbed736dc50dd8515f412b040adbfe31dfd9b9efb4";
+ };
+ firaCode = fetchurl {
+ url = "https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip";
+ sha256 = "0949915ba8eb24d89fd93d10a7ff623f42830d7c5ffc3ecbf960e4ecad3e3e79";
+ };
+in
+ stdenv.mkDerivation {
+ pname = "nerd-fonts-sf-mono-ligatures";
+ version = "3.3.0";
+
+ src = sfMono;
+
+ buildInputs = [
+ fontforge
+ unzip
+ parallel
+ python3
+ libarchive
+ p7zip
+ ];
+
+ unpackPhase = ''
+ # Extract SF Mono DMG
+ mkdir extracted
+ 7z x ${sfMono} -oextracted
+
+ # Extract package contents
+ bsdtar xvPf extracted/SFMonoFonts/SF\ Mono\ Fonts.pkg
+ bsdtar xvPf SFMonoFonts.pkg/Payload
+
+ # Unzip FontPatcher
+ unzip ${fontPatcher}
+
+ # Unzip FiraCode
+ unzip ${firaCode} -d FiraCode
+
+ # Extract Ligaturizer
+ bsdtar xvPf ${ligaturizer}
+ '';
+
+ buildPhase = ''
+ mkdir -p patched
+ echo "Patching all fonts"
+ parallel -j$(nproc) python ./font-patcher -c {} -out patched ::: Library/Fonts/*.otf
+
+ mkdir -p otf
+ for f in FiraCode/ttf/*.ttf; do
+ file=$(basename "$f")
+ base=$(echo "$file" | cut -d. -f1)
+ fontforge -c "import fontforge; from sys import argv; f = fontforge.open(argv[1]); f.generate(argv[2])" "$f" "otf/$base.otf"
+ done
+
+ mkdir -p Ligaturizer-5/fonts/fira/distr/otf
+ cp otf/FiraCode*.otf Ligaturizer-5/fonts/fira/distr/otf
+
+ mkdir -p ligaturized
+ echo "Ligaturizing all fonts"
+ cd Ligaturizer-5
+ parallel -j$(nproc) fontforge -lang py -script ligaturize.py \
+ --output-dir ../ligaturized --output-name SFMonoNerdFont {} ::: ../patched/*.otf
+
+ cd ..
+ '';
+
+ installPhase = ''
+ mkdir -p $out/share/fonts/apple
+ cp ligaturized/*.otf $out/share/fonts/apple/
+ '';
+
+ meta = {
+ description = "Monospaced variant of San Francisco patched with Nerd Fonts and Fira Code ligatures";
+ license = "proprietary";
+ maintainers = ["relms"];
+ platforms = ["x86_64-linux" "aarch64-linux"];
+ };
+ }
diff --git a/pkgs/libraries/gtk4.nix b/pkgs/libraries/gtk4.nix
new file mode 100644
index 0000000..197d630
--- /dev/null
+++ b/pkgs/libraries/gtk4.nix
@@ -0,0 +1,318 @@
+{
+ lib,
+ stdenv,
+ buildPackages,
+ substituteAll,
+ fetchurl,
+ pkg-config,
+ docutils,
+ gettext,
+ graphene,
+ gi-docgen,
+ meson,
+ mesonEmulatorHook,
+ ninja,
+ python3,
+ makeWrapper,
+ shared-mime-info,
+ isocodes,
+ glib,
+ cairo,
+ pango,
+ gdk-pixbuf,
+ gobject-introspection,
+ fribidi,
+ harfbuzz,
+ xorg,
+ libepoxy,
+ libxkbcommon,
+ libpng,
+ libtiff,
+ libjpeg,
+ libxml2,
+ gnome,
+ gsettings-desktop-schemas,
+ gst_all_1,
+ sassc,
+ trackerSupport ? stdenv.hostPlatform.isLinux,
+ tinysparql,
+ x11Support ? stdenv.hostPlatform.isLinux,
+ waylandSupport ? stdenv.hostPlatform.isLinux,
+ libGL,
+ vulkanSupport ? stdenv.hostPlatform.isLinux,
+ shaderc,
+ vulkan-loader,
+ vulkan-headers,
+ libdrm,
+ wayland,
+ wayland-protocols,
+ wayland-scanner,
+ xineramaSupport ? stdenv.hostPlatform.isLinux,
+ cupsSupport ? stdenv.hostPlatform.isLinux,
+ compileSchemas ? stdenv.hostPlatform.emulatorAvailable buildPackages,
+ cups,
+ libexecinfo,
+ broadwaySupport ? true,
+ testers,
+ darwinMinVersionHook,
+ libthai,
+}: let
+ gtkCleanImmodulesCache = substituteAll {
+ src = ./hooks/clean-immodules-cache.sh;
+ gtk_module_path = "gtk-4.0";
+ gtk_binary_version = "4.0.0";
+ };
+in
+ stdenv.mkDerivation (finalAttrs: {
+ pname = "gtk4";
+ version = "4.17.0";
+
+ outputs = ["out" "dev"] ++ lib.optionals x11Support ["devdoc"];
+ outputBin = "dev";
+
+ setupHooks = [
+ ./hooks/drop-icon-theme-cache.sh
+ gtkCleanImmodulesCache
+ ];
+
+ src = fetchurl {
+ url = with finalAttrs; "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
+ #hash = "sha256-gcCjde2XTxRnBGG2nJsTm7c/6LRS80iVVoAn5oCFn1M=";
+ hash = "sha256-787zVbXZA/xipwk0scZE85Zh48L/RMjFOo/Ntwx92X4=";
+ };
+
+ depsBuildBuild = [
+ pkg-config
+ ];
+
+ nativeBuildInputs =
+ [
+ docutils # for rst2man, rst2html5
+ gettext
+ gobject-introspection
+ makeWrapper
+ meson
+ ninja
+ pkg-config
+ python3
+ sassc
+ gi-docgen
+ libxml2 # for xmllint
+ ]
+ ++ lib.optionals (compileSchemas && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+ mesonEmulatorHook
+ ]
+ ++ lib.optionals waylandSupport [
+ wayland-scanner
+ ]
+ ++ lib.optionals vulkanSupport [
+ shaderc # for glslc
+ ]
+ ++ finalAttrs.setupHooks;
+
+ buildInputs =
+ [
+ libthai
+ libxkbcommon
+ libpng
+ libtiff
+ libjpeg
+ (libepoxy.override {inherit x11Support;})
+ isocodes
+ ]
+ ++ lib.optionals vulkanSupport [
+ vulkan-headers
+ libdrm
+ ]
+ ++ [
+ gst_all_1.gst-plugins-base
+ gst_all_1.gst-plugins-bad
+ fribidi
+ harfbuzz
+ ]
+ ++ (with xorg; [
+ libICE
+ libSM
+ libXcursor
+ libXdamage
+ libXi
+ libXrandr
+ libXrender
+ ])
+ ++ lib.optionals trackerSupport [
+ tinysparql
+ ]
+ ++ lib.optionals waylandSupport [
+ libGL
+ wayland
+ wayland-protocols
+ ]
+ ++ lib.optionals xineramaSupport [
+ xorg.libXinerama
+ ]
+ ++ lib.optionals cupsSupport [
+ cups
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isMusl [
+ libexecinfo
+ ];
+ #TODO: colord?
+
+ propagatedBuildInputs =
+ [
+ # Required by pkg-config files.
+ cairo
+ gdk-pixbuf
+ glib
+ graphene
+ pango
+ ]
+ ++ lib.optionals waylandSupport [
+ wayland
+ ]
+ ++ lib.optionals vulkanSupport [
+ vulkan-loader
+ ]
+ ++ [
+ # Required for GSettings schemas at runtime.
+ # Will be picked up by wrapGAppsHook4.
+ gsettings-desktop-schemas
+ ];
+
+ mesonFlags =
+ [
+ # ../docs/tools/shooter.c:4:10: fatal error: 'cairo-xlib.h' file not found
+ (lib.mesonBool "documentation" x11Support)
+ "-Dbuild-tests=false"
+ (lib.mesonEnable "tracker" trackerSupport)
+ (lib.mesonBool "broadway-backend" broadwaySupport)
+ (lib.mesonEnable "vulkan" vulkanSupport)
+ (lib.mesonEnable "print-cups" cupsSupport)
+ (lib.mesonBool "x11-backend" x11Support)
+ ]
+ ++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64) [
+ "-Dmedia-gstreamer=disabled" # requires gstreamer-gl
+ ];
+
+ doCheck = false; # needs X11
+
+ separateDebugInfo = stdenv.hostPlatform.isLinux;
+
+ # These are the defines that'd you'd get with --enable-debug=minimum (default).
+ # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options
+ env =
+ {
+ NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS";
+ }
+ // lib.optionalAttrs stdenv.hostPlatform.isMusl {
+ NIX_LDFLAGS = "-lexecinfo";
+ };
+
+ postPatch = ''
+ # this conditional gates the installation of share/gsettings-schemas/.../glib-2.0/schemas/gschemas.compiled.
+ substituteInPlace meson.build \
+ --replace 'if not meson.is_cross_build()' 'if ${lib.boolToString compileSchemas}'
+
+ files=(
+ build-aux/meson/gen-profile-conf.py
+ build-aux/meson/gen-visibility-macros.py
+ demos/gtk-demo/geninclude.py
+ gdk/broadway/gen-c-array.py
+ gdk/gen-gdk-gresources-xml.py
+ gtk/gen-gtk-gresources-xml.py
+ gtk/gentypefuncs.py
+ )
+
+ chmod +x ''${files[@]}
+ patchShebangs ''${files[@]}
+
+ '';
+
+ preInstall = ''
+ OLD_PATH="$PATH"
+ PATH="$PATH:$dev/bin" # so the install script finds gtk4-update-icon-cache
+ '';
+
+ postInstall =
+ ''
+ PATH="$OLD_PATH"
+ ''
+ + lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
+ # The updater is needed for nixos env and it's tiny.
+ moveToOutput bin/gtk4-update-icon-cache "$out"
+ # Launcher
+ moveToOutput bin/gtk-launch "$out"
+
+ # TODO: patch glib directly
+ for f in $dev/bin/gtk4-encode-symbolic-svg; do
+ wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+ done
+ ''
+ + lib.optionalString broadwaySupport ''
+ # Broadway daemon
+ moveToOutput bin/gtk4-broadwayd "$out"
+ '';
+
+ # Wrap demos
+ postFixup =
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
+ demos=(gtk4-demo gtk4-demo-application gtk4-widget-factory)
+
+ for program in ''${demos[@]}; do
+ wrapProgram $dev/bin/$program \
+ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${finalAttrs.pname}-${finalAttrs.version}"
+ done
+ ''
+ + lib.optionalString x11Support ''
+ # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+ moveToOutput "share/doc" "$devdoc"
+ '';
+
+ passthru = {
+ updateScript = gnome.updateScript {
+ packageName = "gtk";
+ versionPolicy = "odd-unstable";
+ attrPath = "gtk4";
+ };
+ tests = {
+ pkg-config = testers.hasPkgConfigModules {
+ package = finalAttrs.finalPackage;
+ };
+ };
+ };
+
+ meta = with lib; {
+ description = "Multi-platform toolkit for creating graphical user interfaces";
+ longDescription = ''
+ GTK is a highly usable, feature rich toolkit for creating
+ graphical user interfaces which boasts cross platform
+ compatibility and an easy to use API. GTK it is written in C,
+ but has bindings to many other popular programming languages
+ such as C++, Python and C# among others. GTK is licensed
+ under the GNU LGPL 2.1 allowing development of both free and
+ proprietary software with GTK without any license fees or
+ royalties.
+ '';
+ homepage = "https://www.gtk.org/";
+ license = licenses.lgpl2Plus;
+ maintainers = teams.gnome.members ++ (with maintainers; [raskin]);
+ platforms = platforms.all;
+ changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS";
+ pkgConfigModules =
+ [
+ "gtk4"
+ ]
+ ++ lib.optionals broadwaySupport [
+ "gtk4-broadway"
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isUnix [
+ "gtk4-unix-print"
+ ]
+ ++ lib.optionals waylandSupport [
+ "gtk4-wayland"
+ ]
+ ++ lib.optionals x11Support [
+ "gtk4-x11"
+ ];
+ };
+ })
diff --git a/pkgs/libraries/hooks/clean-immodules-cache.sh b/pkgs/libraries/hooks/clean-immodules-cache.sh
new file mode 100755
index 0000000..0868a4a
--- /dev/null
+++ b/pkgs/libraries/hooks/clean-immodules-cache.sh
@@ -0,0 +1,15 @@
+# shellcheck shell=bash
+
+fixupOutputHooks+=(_gtkCleanImmodulesCache)
+
+# Clean comments that link to generator of the file
+_gtkCleanImmodulesCache() {
+ # gtk_module_path is where the modules are installed
+ # https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.24/gtk/gtkmodules.c#L68
+ # gtk_binary_version can be retrived with:
+ # pkg-config --variable=gtk_binary_version gtk+-3.0
+ local f="${prefix:?}/lib/@gtk_module_path@/@gtk_binary_version@/immodules.cache"
+ if [ -f "$f" ]; then
+ sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
+ fi
+}
diff --git a/pkgs/libraries/hooks/drop-icon-theme-cache.sh b/pkgs/libraries/hooks/drop-icon-theme-cache.sh
new file mode 100755
index 0000000..f28a856
--- /dev/null
+++ b/pkgs/libraries/hooks/drop-icon-theme-cache.sh
@@ -0,0 +1,19 @@
+# shellcheck shell=bash
+
+# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache.
+# However, since each package is installed to its own prefix, the files will only collide.
+dropIconThemeCache() {
+ if [[ -z "${dontDropIconThemeCache:-}" ]]; then
+ local icondir="${out:?}/share/icons"
+ if [[ -d "${icondir}" ]]; then
+ # App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes.
+ find "${icondir}" -name 'icon-theme.cache' -print0 \
+ | while IFS= read -r -d '' file; do
+ echo "Removing ${file}"
+ rm -f "${file}"
+ done
+ fi
+ fi
+}
+
+preFixupPhases="${preFixupPhases-} dropIconThemeCache"
diff --git a/secrets/gitlab-runners.age b/secrets/gitlab-runners.age
deleted file mode 100644
index 544ab22..0000000
Binary files a/secrets/gitlab-runners.age and /dev/null differ
diff --git a/secrets/secrets.nix b/secrets/secrets.nix
deleted file mode 100644
index 9653c21..0000000
--- a/secrets/secrets.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-let
- relms = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqJnbK9FjoPX7EYtXwG5QV8XfK7fcTfOWGFrfsQRj9z";
-
- skynet = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMajj7jUSGbJgndndLYs1ZQi37WsZi7Foyj2xmfbGrnn";
- crystal-gitlab = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBg8PGtAXNsZYmWLYCmIdv1rpezCXBZ/Z+XbVZ39m3vt";
-in {
- "gitlab-runners.age".publicKeys = [relms crystal-gitlab];
-}
diff --git a/services/crystal/gitlab-runner.nix b/services/crystal/gitlab-runner.nix
deleted file mode 100644
index 4abe726..0000000
--- a/services/crystal/gitlab-runner.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- pkgs,
- config,
- ...
-}: {
- age.secrets.gitlab-runner.file = ../../secrets/gitlab-runners.age;
-
- services.gitlab-runner = {
- enable = true;
- services = {
- alpha = {
- description = "Relms-Alpha";
- registrationConfigFile = config.age.secrets.gitlab-runner.path;
- dockerImage = "alpine:latest";
- };
- beta = {
- description = "Relms-Beta";
- registrationConfigFile = config.age.secrets.gitlab-runner.path;
- dockerImage = "alpine:latest";
- };
- charlie = {
- description = "Relms-Charlie";
- registrationConfigFile = config.age.secrets.gitlab-runner.path;
- dockerImage = "alpine:latest";
- };
- };
- };
-}
diff --git a/system/desktop/apps.nix b/system/desktop/apps.nix
new file mode 100644
index 0000000..4360d04
--- /dev/null
+++ b/system/desktop/apps.nix
@@ -0,0 +1,4 @@
+{config, ...}: {
+ programs.nm-applet.enable = config.networking.networkmanager.enable;
+ services.blueman.enable = config.hardware.bluetooth.enable;
+}
diff --git a/system/desktop/displaymanagers/tuigreet.nix b/system/desktop/displaymanagers/tuigreet.nix
new file mode 100644
index 0000000..5ce8b13
--- /dev/null
+++ b/system/desktop/displaymanagers/tuigreet.nix
@@ -0,0 +1,10 @@
+{pkgs, ...}: {
+ services.greetd = {
+ enable = true;
+ settings = {
+ default_session = {
+ command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time";
+ };
+ };
+ };
+}
diff --git a/system/desktop/environments/hyprland.nix b/system/desktop/environments/hyprland.nix
new file mode 100644
index 0000000..79a534d
--- /dev/null
+++ b/system/desktop/environments/hyprland.nix
@@ -0,0 +1,55 @@
+{pkgs, ...}: {
+ programs.hyprland = {
+ enable = true;
+ withUWSM = true;
+ };
+
+ programs.thunar.enable = true;
+ programs.xfconf.enable = true;
+ services.gvfs.enable = true;
+ services.tumbler.enable = true;
+ programs.thunar.plugins = with pkgs.xfce; [
+ thunar-archive-plugin
+ thunar-volman
+ thunar-media-tags-plugin
+ ];
+
+ xdg.portal = {
+ enable = true;
+ extraPortals = with pkgs; [
+ xdg-desktop-portal-gtk
+ ];
+ };
+
+ security.pam.services.hyprlock = {};
+
+ fonts.fontconfig = {
+ hinting = {
+ enable = false;
+ style = "none";
+ };
+ antialias = true;
+ subpixel = {
+ lcdfilter = "none";
+ rgba = "rgb";
+ };
+ };
+
+ environment.systemPackages = with pkgs; [hyprpolkitagent];
+
+ systemd = {
+ user.services.hyprpolkitagent = {
+ description = "hyprpolkitagent";
+ wantedBy = ["graphical-session.target"];
+ wants = ["graphical-session.target"];
+ after = ["graphical-session.target"];
+ serviceConfig = {
+ Type = "simple";
+ ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
+ Restart = "on-failure";
+ RestartSec = 1;
+ TimeoutStopSec = 10;
+ };
+ };
+ };
+}
diff --git a/system/nix.nix b/system/nix.nix
new file mode 100644
index 0000000..431e87a
--- /dev/null
+++ b/system/nix.nix
@@ -0,0 +1,28 @@
+{pkgs, ...}: {
+ nixpkgs.config = {
+ allowUnfree = true;
+ };
+
+ nix = {
+ settings = {
+ auto-optimise-store = true;
+ trusted-users = ["root" "relms"];
+ };
+ extraOptions = ''
+ experimental-features = nix-command flakes
+ '';
+ };
+
+ hardware.enableRedistributableFirmware = true;
+
+ system.replaceDependencies = {
+ replacements = [
+ {
+ oldDependency = pkgs.gtk4;
+ newDependency = pkgs.callPackage ../pkgs/libraries/gtk4.nix {};
+ }
+ ];
+ };
+
+ system.stateVersion = "24.11";
+}
diff --git a/system/security/polkit.nix b/system/security/polkit.nix
new file mode 100644
index 0000000..8029f61
--- /dev/null
+++ b/system/security/polkit.nix
@@ -0,0 +1,3 @@
+{
+ security.polkit.enable = true;
+}
diff --git a/system/security/sudo.nix b/system/security/sudo.nix
new file mode 100644
index 0000000..eb1bf89
--- /dev/null
+++ b/system/security/sudo.nix
@@ -0,0 +1,6 @@
+{...}: {
+ security.sudo = {
+ enable = true;
+ extraConfig = "Defaults insults\nDefaults pwfeedback";
+ };
+}
diff --git a/system/services/bluetooth.nix b/system/services/bluetooth.nix
new file mode 100644
index 0000000..3dac4a1
--- /dev/null
+++ b/system/services/bluetooth.nix
@@ -0,0 +1,3 @@
+{
+ hardware.bluetooth.enable = true;
+}
diff --git a/system/services/flatpak.nix b/system/services/flatpak.nix
new file mode 100644
index 0000000..6f2d11d
--- /dev/null
+++ b/system/services/flatpak.nix
@@ -0,0 +1,6 @@
+{
+ services.flatpak = {
+ enable = true;
+ update.onActivation = true;
+ };
+}
diff --git a/system/services/networkmanager.nix b/system/services/networkmanager.nix
new file mode 100644
index 0000000..f29d881
--- /dev/null
+++ b/system/services/networkmanager.nix
@@ -0,0 +1,3 @@
+{
+ networking.networkmanager.enable = true;
+}
diff --git a/services/openssh.nix b/system/services/openssh.nix
similarity index 100%
rename from services/openssh.nix
rename to system/services/openssh.nix
diff --git a/common/desktop/media.nix b/system/services/pipewire.nix
similarity index 76%
rename from common/desktop/media.nix
rename to system/services/pipewire.nix
index 15f5e20..09c8b58 100644
--- a/common/desktop/media.nix
+++ b/system/services/pipewire.nix
@@ -1,6 +1,4 @@
{...}: {
- sound.enable = true;
- hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
diff --git a/common/personal.nix b/system/users/relms.nix
similarity index 63%
rename from common/personal.nix
rename to system/users/relms.nix
index 42313ed..aed8eff 100644
--- a/common/personal.nix
+++ b/system/users/relms.nix
@@ -2,13 +2,12 @@
users.users.relms = {
isNormalUser = true;
description = "Daryl Ronningen";
- extraGroups = ["networkmanager" "wheel" "adbusers" "libvirtd"];
+ extraGroups = ["networkmanager" "wheel"];
shell = pkgs.fish;
hashedPassword = "$y$j9T$fiNCczxfgXQRoDCYlRlgy.$8GVAPknKhtp0kq6g9YnJCaAU1GxE9W9puogCXLLYD2/";
};
- programs = {
- fish.enable = true;
- adb.enable = true;
- };
+ programs.fish.enable = true;
+
+ time.timeZone = "America/Los_Angeles";
}
diff --git a/users/relms/base.nix b/users/relms/base.nix
deleted file mode 100644
index 309f1bb..0000000
--- a/users/relms/base.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}: {
- home.stateVersion = "22.11";
-
- programs.home-manager.enable = true;
-
- programs.gpg.enable = true;
- services.gpg-agent.enable = true;
- services.gpg-agent.enableSshSupport = true;
- services.gpg-agent.pinentryFlavor = "gnome3";
-
- services.gnome-keyring.enable = true;
- services.gnome-keyring.components = ["pkcs11" "secrets" "ssh"];
-}
diff --git a/users/relms/files/neofetch.conf b/users/relms/files/neofetch.conf
deleted file mode 100644
index e2a5e95..0000000
--- a/users/relms/files/neofetch.conf
+++ /dev/null
@@ -1,900 +0,0 @@
-# See this wiki page for more info:
-# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
-print_info() {
- prin "┌────────────────────────────── OS Info ──────────────────────────────┐"
-
- info " OS" distro
- info " Kernel" kernel
- info " Uptime" uptime
- info " User" users
- prin " Hostname" "$(hostname)"
-
- prin "├─────────────────────────── Hardware Info ───────────────────────────┤"
-
- info " ﲾ Mainboard Model" model
- info " CPU" cpu
- info " GPU" gpu
- info " Memory" memory
- info " Disk" disk
- info " Resolution" resolution
- info " Network" network
-
- prin "├─────────────────────────── Software Info ───────────────────────────┤"
-
- info " Desktop Environment" de
- info " Window Manager" wm
- info " Packages" packages
- info " Shell" shell
- info " Terminal" term
- info " GPU Driver" gpu_driver
- info " 直Local IP" local_ip
- info " Locale" locale
- prin " Editor" "$(echo $EDITOR)"
-
- prin "├─────────────────────────────── Theme ───────────────────────────────┤"
-
- info " Font" font
- info " Terminal Font" term_font
- info " 嗀Theme" theme
- info " 嗀WM Theme" wm_theme
- info " Icons" icons
-
- prin "├─────────────────────────────── Media ───────────────────────────────┤"
-
- info " Media" song
- [[ "$player" ]] && prin " 阮Media Player" "$player"
-
- prin "└─────────────────────────────────────────────────────────────────────┘"
-
- info cols
-}
-
-# Title
-
-
-# Hide/Show Fully qualified domain name.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --title_fqdn
-title_fqdn="off"
-
-
-# Kernel
-
-
-# Shorten the output of the kernel function.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --kernel_shorthand
-# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
-#
-# Example:
-# on: '4.8.9-1-ARCH'
-# off: 'Linux 4.8.9-1-ARCH'
-kernel_shorthand="off"
-
-
-# Distro
-
-
-# Shorten the output of the distro function
-#
-# Default: 'off'
-# Values: 'on', 'tiny', 'off'
-# Flag: --distro_shorthand
-# Supports: Everything except Windows and Haiku
-distro_shorthand="off"
-
-# Show/Hide OS Architecture.
-# Show 'x86_64', 'x86' and etc in 'Distro:' output.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --os_arch
-#
-# Example:
-# on: 'Arch Linux x86_64'
-# off: 'Arch Linux'
-os_arch="on"
-
-
-# Uptime
-
-
-# Shorten the output of the uptime function
-#
-# Default: 'on'
-# Values: 'on', 'tiny', 'off'
-# Flag: --uptime_shorthand
-#
-# Example:
-# on: '2 days, 10 hours, 3 mins'
-# tiny: '2d 10h 3m'
-# off: '2 days, 10 hours, 3 minutes'
-uptime_shorthand="off"
-
-
-# Memory
-
-
-# Show memory percentage in output.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --memory_percent
-#
-# Example:
-# on: '1801MiB / 7881MiB (22%)'
-# off: '1801MiB / 7881MiB'
-memory_percent="on"
-
-# Change memory output unit.
-#
-# Default: 'mib'
-# Values: 'kib', 'mib', 'gib'
-# Flag: --memory_unit
-#
-# Example:
-# kib '1020928KiB / 7117824KiB'
-# mib '1042MiB / 6951MiB'
-# gib: ' 0.98GiB / 6.79GiB'
-memory_unit="gib"
-
-
-# Packages
-
-
-# Show/Hide Package Manager names.
-#
-# Default: 'tiny'
-# Values: 'on', 'tiny' 'off'
-# Flag: --package_managers
-#
-# Example:
-# on: '998 (pacman), 8 (flatpak), 4 (snap)'
-# tiny: '908 (pacman, flatpak, snap)'
-# off: '908'
-package_managers="on"
-
-
-# Shell
-
-
-# Show the path to $SHELL
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --shell_path
-#
-# Example:
-# on: '/bin/bash'
-# off: 'bash'
-shell_path="on"
-
-# Show $SHELL version
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --shell_version
-#
-# Example:
-# on: 'bash 4.4.5'
-# off: 'bash'
-shell_version="on"
-
-
-# CPU
-
-
-# CPU speed type
-#
-# Default: 'bios_limit'
-# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
-# Flag: --speed_type
-# Supports: Linux with 'cpufreq'
-# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
-speed_type="bios_limit"
-
-# CPU speed shorthand
-#
-# Default: 'off'
-# Values: 'on', 'off'.
-# Flag: --speed_shorthand
-# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
-#
-# Example:
-# on: 'i7-6500U (4) @ 3.1GHz'
-# off: 'i7-6500U (4) @ 3.100GHz'
-speed_shorthand="off"
-
-# Enable/Disable CPU brand in output.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --cpu_brand
-#
-# Example:
-# on: 'Intel i7-6500U'
-# off: 'i7-6500U (4)'
-cpu_brand="on"
-
-# CPU Speed
-# Hide/Show CPU speed.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --cpu_speed
-#
-# Example:
-# on: 'Intel i7-6500U (4) @ 3.1GHz'
-# off: 'Intel i7-6500U (4)'
-cpu_speed="on"
-
-# CPU Cores
-# Display CPU cores in output
-#
-# Default: 'logical'
-# Values: 'logical', 'physical', 'off'
-# Flag: --cpu_cores
-# Support: 'physical' doesn't work on BSD.
-#
-# Example:
-# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
-# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
-# off: 'Intel i7-6500U @ 3.1GHz'
-cpu_cores="logical"
-
-# CPU Temperature
-# Hide/Show CPU temperature.
-# Note the temperature is added to the regular CPU function.
-#
-# Default: 'off'
-# Values: 'C', 'F', 'off'
-# Flag: --cpu_temp
-# Supports: Linux, BSD
-# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
-# coretemp kernel module. This only supports newer Intel processors.
-#
-# Example:
-# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
-# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
-# off: 'Intel i7-6500U (4) @ 3.1GHz'
-cpu_temp="on"
-
-
-# GPU
-
-
-# Enable/Disable GPU Brand
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gpu_brand
-#
-# Example:
-# on: 'AMD HD 7950'
-# off: 'HD 7950'
-gpu_brand="on"
-
-# Which GPU to display
-#
-# Default: 'all'
-# Values: 'all', 'dedicated', 'integrated'
-# Flag: --gpu_type
-# Supports: Linux
-#
-# Example:
-# all:
-# GPU1: AMD HD 7950
-# GPU2: Intel Integrated Graphics
-#
-# dedicated:
-# GPU1: AMD HD 7950
-#
-# integrated:
-# GPU1: Intel Integrated Graphics
-gpu_type="all"
-
-
-# Resolution
-
-
-# Display refresh rate next to each monitor
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --refresh_rate
-# Supports: Doesn't work on Windows.
-#
-# Example:
-# on: '1920x1080 @ 60Hz'
-# off: '1920x1080'
-refresh_rate="on"
-
-
-# Gtk Theme / Icons / Font
-
-
-# Shorten output of GTK Theme / Icons / Font
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --gtk_shorthand
-#
-# Example:
-# on: 'Numix, Adwaita'
-# off: 'Numix [GTK2], Adwaita [GTK3]'
-gtk_shorthand="off"
-
-
-# Enable/Disable gtk2 Theme / Icons / Font
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gtk2
-#
-# Example:
-# on: 'Numix [GTK2], Adwaita [GTK3]'
-# off: 'Adwaita [GTK3]'
-gtk2="on"
-
-# Enable/Disable gtk3 Theme / Icons / Font
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gtk3
-#
-# Example:
-# on: 'Numix [GTK2], Adwaita [GTK3]'
-# off: 'Numix [GTK2]'
-gtk3="on"
-
-# Enable/Disable Qt Theme / Icons / Font
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --qt
-#
-# Example:
-# on: 'Breeze [Qt], Arc [GTK3]'
-# off: 'Arc [GTK3]'
-qt="on"
-
-# IP Address
-
-
-# Website to ping for the public IP
-#
-# Default: 'http://ident.me'
-# Values: 'url'
-# Flag: --ip_host
-public_ip_host="http://ident.me"
-
-# Public IP timeout.
-#
-# Default: '2'
-# Values: 'int'
-# Flag: --ip_timeout
-public_ip_timeout=2
-
-# Local IP interface
-#
-# Default: 'auto' (interface of default route)
-# Values: 'auto', 'en0', 'en1'
-# Flag: --ip_interface
-local_ip_interface=('auto')
-
-
-# Desktop Environment
-
-
-# Show Desktop Environment version
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --de_version
-de_version="on"
-
-
-# Disk
-
-
-# Which disks to display.
-# The values can be any /dev/sdXX, mount point or directory.
-# NOTE: By default we only show the disk info for '/'.
-#
-# Default: '/'
-# Values: '/', '/dev/sdXX', '/path/to/drive'.
-# Flag: --disk_show
-#
-# Example:
-# disk_show=('/' '/dev/sdb1'):
-# 'Disk (/): 74G / 118G (66%)'
-# 'Disk (/mnt/Videos): 823G / 893G (93%)'
-#
-# disk_show=('/'):
-# 'Disk (/): 74G / 118G (66%)'
-#
-disk_show=('/')
-
-# Disk subtitle.
-# What to append to the Disk subtitle.
-#
-# Default: 'mount'
-# Values: 'mount', 'name', 'dir', 'none'
-# Flag: --disk_subtitle
-#
-# Example:
-# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
-# 'Disk (/dev/sdb2): 74G / 118G (66%)'
-#
-# mount: 'Disk (/): 74G / 118G (66%)'
-# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
-# 'Disk (/mnt/Videos): 74G / 118G (66%)'
-#
-# dir: 'Disk (/): 74G / 118G (66%)'
-# 'Disk (Local Disk): 74G / 118G (66%)'
-# 'Disk (Videos): 74G / 118G (66%)'
-#
-# none: 'Disk: 74G / 118G (66%)'
-# 'Disk: 74G / 118G (66%)'
-# 'Disk: 74G / 118G (66%)'
-disk_subtitle="mount"
-
-# Disk percent.
-# Show/Hide disk percent.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --disk_percent
-#
-# Example:
-# on: 'Disk (/): 74G / 118G (66%)'
-# off: 'Disk (/): 74G / 118G'
-disk_percent="on"
-
-
-# Song
-
-
-# Manually specify a music player.
-#
-# Default: 'auto'
-# Values: 'auto', 'player-name'
-# Flag: --music_player
-#
-# Available values for 'player-name':
-#
-# amarok
-# audacious
-# banshee
-# bluemindo
-# clementine
-# cmus
-# deadbeef
-# deepin-music
-# dragon
-# elisa
-# exaile
-# gnome-music
-# gmusicbrowser
-# gogglesmm
-# guayadeque
-# io.elementary.music
-# iTunes
-# Music
-# juk
-# lollypop
-# MellowPlayer
-# mocp
-# mopidy
-# mpd
-# muine
-# netease-cloud-music
-# olivia
-# playerctl
-# pogo
-# pragha
-# qmmp
-# quodlibet
-# rhythmbox
-# sayonara
-# smplayer
-# spotify
-# strawberry
-# tauonmb
-# tomahawk
-# vlc
-# xmms2d
-# xnoise
-# yarock
-music_player="auto"
-
-# Format to display song information.
-#
-# Default: '%artist% - %album% - %title%'
-# Values: '%artist%', '%album%', '%title%'
-# Flag: --song_format
-#
-# Example:
-# default: 'Song: Jet - Get Born - Sgt Major'
-song_format="%artist% - %album% - %title%"
-
-# Print the Artist, Album and Title on separate lines
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --song_shorthand
-#
-# Example:
-# on: 'Artist: The Fratellis'
-# 'Album: Costello Music'
-# 'Song: Chelsea Dagger'
-#
-# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
-song_shorthand="off"
-
-# 'mpc' arguments (specify a host, password etc).
-#
-# Default: ''
-# Example: mpc_args=(-h HOST -P PASSWORD)
-mpc_args=()
-
-
-# Text Colors
-
-
-# Text Colors
-#
-# Default: 'distro'
-# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
-# Flag: --colors
-#
-# Each number represents a different part of the text in
-# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
-#
-# Example:
-# colors=(distro) - Text is colored based on Distro colors.
-# colors=(4 6 1 8 8 6) - Text is colored in the order above.
-colors=(distro)
-
-
-# Text Options
-
-
-# Toggle bold text
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --bold
-bold="on"
-
-# Enable/Disable Underline
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --underline
-underline_enabled="on"
-
-# Underline character
-#
-# Default: '-'
-# Values: 'string'
-# Flag: --underline_char
-underline_char="-"
-
-
-# Info Separator
-# Replace the default separator with the specified string.
-#
-# Default: ':'
-# Flag: --separator
-#
-# Example:
-# separator="->": 'Shell-> bash'
-# separator=" =": 'WM = dwm'
-separator=":"
-
-
-# Color Blocks
-
-
-# Color block range
-# The range of colors to print.
-#
-# Default: '0', '15'
-# Values: 'num'
-# Flag: --block_range
-#
-# Example:
-#
-# Display colors 0-7 in the blocks. (8 colors)
-# neofetch --block_range 0 7
-#
-# Display colors 0-15 in the blocks. (16 colors)
-# neofetch --block_range 0 15
-block_range=(0 15)
-
-# Toggle color blocks
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --color_blocks
-color_blocks="on"
-
-# Color block width in spaces
-#
-# Default: '3'
-# Values: 'num'
-# Flag: --block_width
-block_width=3
-
-# Color block height in lines
-#
-# Default: '1'
-# Values: 'num'
-# Flag: --block_height
-block_height=1
-
-# Color Alignment
-#
-# Default: 'auto'
-# Values: 'auto', 'num'
-# Flag: --col_offset
-#
-# Number specifies how far from the left side of the terminal (in spaces) to
-# begin printing the columns, in case you want to e.g. center them under your
-# text.
-# Example:
-# col_offset="auto" - Default behavior of neofetch
-# col_offset=7 - Leave 7 spaces then print the colors
-col_offset="auto"
-
-# Progress Bars
-
-
-# Bar characters
-#
-# Default: '-', '='
-# Values: 'string', 'string'
-# Flag: --bar_char
-#
-# Example:
-# neofetch --bar_char 'elapsed' 'total'
-# neofetch --bar_char '-' '='
-bar_char_elapsed="-"
-bar_char_total="="
-
-# Toggle Bar border
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --bar_border
-bar_border="on"
-
-# Progress bar length in spaces
-# Number of chars long to make the progress bars.
-#
-# Default: '15'
-# Values: 'num'
-# Flag: --bar_length
-bar_length=15
-
-# Progress bar colors
-# When set to distro, uses your distro's logo colors.
-#
-# Default: 'distro', 'distro'
-# Values: 'distro', 'num'
-# Flag: --bar_colors
-#
-# Example:
-# neofetch --bar_colors 3 4
-# neofetch --bar_colors distro 5
-bar_color_elapsed="distro"
-bar_color_total="distro"
-
-
-# Info display
-# Display a bar with the info.
-#
-# Default: 'off'
-# Values: 'bar', 'infobar', 'barinfo', 'off'
-# Flags: --memory_display
-# --battery_display
-# --disk_display
-#
-# Example:
-# bar: '[---=======]'
-# infobar: 'info [---=======]'
-# barinfo: '[---=======] info'
-# off: 'info'
-memory_display="off"
-battery_display="off"
-disk_display="off"
-
-
-# Backend Settings
-
-
-# Image backend.
-#
-# Default: 'ascii'
-# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off',
-# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug',
-# 'viu'
-
-# Flag: --backend
-image_backend="ascii"
-
-# Image Source
-#
-# Which image or ascii file to display.
-#
-# Default: 'auto'
-# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
-# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
-# Flag: --source
-#
-# NOTE: 'auto' will pick the best image source for whatever image backend is used.
-# In ascii mode, distro ascii art will be used and in an image mode, your
-# wallpaper will be used.
-image_source="auto"
-
-
-# Ascii Options
-
-
-# Ascii distro
-# Which distro's ascii art to display.
-#
-# Default: 'auto'
-# Values: 'auto', 'distro_name'
-# Flag: --ascii_distro
-#
-# NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS,
-# AOSC OS/Retro, Aperio GNU/Linux, Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchMerge,
-# ArchStrike, ArcoLinux, Artix, Arya, Asahi, AsteroidOS, Bedrock, BigLinux, Bitrig, BlackArch,
-# blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, Cachy OS, Calculate,
-# CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, Chrom, Cleanjaro,
-# Clear Linux OS, ClearOS, Clover, Condres, Container Linux by CoreOS, CRUX, Crystal Linux,
-# Cucumber, CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS, Devuan, DracOS,
-# DragonFly, Drauger, Elementary, Elive, EncryptOS, EndeavourOS, Endless, EuroLinux, Exherbo, Exodia
-# Predator OS, Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda,
-# Gentoo, glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HarDClanZ,
-# Hash, Huayra, HydroOS, Hyperbola, iglunix, instantOS, IRIX, Itc, januslinux, Kaisen, Kali, KaOS,
-# KDE, Kibojoe, Kogaion, Korora, KrassOS, KSLinux, Kubuntu, LangitKetujuh, LaxerOS, LEDE, LibreELEC,
-# Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac,
-# Mageia, MagpieOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, Mer, Minix, MIRACLE LINUX, MX, Namib,
-# Neptune, NetBSD, Netrunner, Nitrux, NixOS, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, Open
-# Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage,
-# openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense, Oracle, orchid, OS Elbrus,
-# PacBSD, Parabola, parch, Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo,
-# Peppermint, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS,
-# Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, Reborn OS, Red Star, Redcore, Redhat,
-# Refracted Devuan, Regata, Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS,
-# Scientific, semc, Septor, Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware, SliTaz,
-# SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS, Sulin, SunOS, SwagArch, t2, Tails,
-# TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin,
-# Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine
-# Linux, Univalent, Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows,
-# Windows 10, Windows 11, XFerience, Xubuntu, yiffOS, Zorin have ascii logos.
-
-# NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use
-# {distro}_old to use them.
-
-# NOTE: alpine, android, aoscosretro, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux,
-# debian, dragonfly, elementary, fedora, freebsd, gentoo, guix, haiku, hyperbola, linuxlite,
-# linuxmint, mac, mageia, manjaro, mx, netbsd, nixos, openbsd, opensuse, orchid, parabola, popos,
-# postmarketos, pureos, Raspbian, rocky, slackware, sunos, ubuntu, void have 'small' logo variants,
-# use {distro}_small to use them.
-ascii_distro="auto"
-
-# Ascii Colors
-#
-# Default: 'distro'
-# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
-# Flag: --ascii_colors
-#
-# Example:
-# ascii_colors=(distro) - Ascii is colored based on Distro colors.
-# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
-ascii_colors=(distro)
-
-# Bold ascii logo
-# Whether or not to bold the ascii logo.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --ascii_bold
-ascii_bold="on"
-
-
-# Image Options
-
-
-# Image loop
-# Setting this to on will make neofetch redraw the image constantly until
-# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --loop
-image_loop="off"
-
-# Thumbnail directory
-#
-# Default: '~/.cache/thumbnails/neofetch'
-# Values: 'dir'
-thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
-
-# Crop mode
-#
-# Default: 'normal'
-# Values: 'normal', 'fit', 'fill'
-# Flag: --crop_mode
-#
-# See this wiki page to learn about the fit and fill options.
-# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
-crop_mode="normal"
-
-# Crop offset
-# Note: Only affects 'normal' crop mode.
-#
-# Default: 'center'
-# Values: 'northwest', 'north', 'northeast', 'west', 'center'
-# 'east', 'southwest', 'south', 'southeast'
-# Flag: --crop_offset
-crop_offset="center"
-
-# Image size
-# The image is half the terminal width by default.
-#
-# Default: 'auto'
-# Values: 'auto', '00px', '00%', 'none'
-# Flags: --image_size
-# --size
-image_size="auto"
-
-# Catimg block size.
-# Control the resolution of catimg.
-#
-# Default: '2'
-# Values: '1', '2'
-# Flags: --catimg_size
-catimg_size="2"
-
-# Gap between image and text
-#
-# Default: '3'
-# Values: 'num', '-num'
-# Flag: --gap
-gap=3
-
-# Image offsets
-# Only works with the w3m backend.
-#
-# Default: '0'
-# Values: 'px'
-# Flags: --xoffset
-# --yoffset
-yoffset=0
-xoffset=0
-
-# Image background color
-# Only works with the w3m backend.
-#
-# Default: ''
-# Values: 'color', 'blue'
-# Flag: --bg_color
-background_color=
-
-
-# Misc Options
-
-# Stdout mode
-# Turn off all colors and disables image backend (ASCII/Image).
-# Useful for piping into another command.
-# Default: 'off'
-# Values: 'on', 'off'
-stdout="off"
diff --git a/users/relms/gui.nix b/users/relms/gui.nix
deleted file mode 100644
index 8a6c740..0000000
--- a/users/relms/gui.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- gnome.nautilus
- gnome.gnome-tweaks
- gnome.gnome-software
- adw-gtk3
- papirus-icon-theme
- (st.overrideAttrs (oldAttrs: {
- src = builtins.fetchTarball {
- url = "https://code.relms.dev/Relms/st/archive/50a72324cd9e81efb7985dca26ac77cf781305f0.tar.gz";
- sha256 = "sha256:1kmn775fzgdlb6wp4c9zzkiqa4mjv84zyaash842yqwh72zal62y";
- };
- buildInputs = oldAttrs.buildInputs ++ [harfbuzz xorg.libXcursor];
- }))
- ];
-
- xresources.extraConfig = builtins.readFile (
- pkgs.fetchFromGitHub {
- owner = "solarized";
- repo = "xresources";
- rev = "0c426297b558965d462f0e45f87eb16a10586c53";
- sha256 = "sha256-ljZHqFUnmsyBGPlrnb9pQ9X8yH24W9Z5ImohyuoaAcA=";
- }
- + "/Xresources.dark"
- );
-
- programs.firefox = {
- enable = true;
- package = pkgs.firefox.override {
- cfg = {
- enableGnomeExtensions = true;
- enableTridactylNative = true;
- };
- };
- };
-}
diff --git a/users/relms/neovim.nix b/users/relms/neovim.nix
deleted file mode 100644
index 94b8ef6..0000000
--- a/users/relms/neovim.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{pkgs, ...}: {
- programs.neovim = {
- enable = true;
- package = pkgs.neovim;
- defaultEditor = true;
- viAlias = true;
- vimAlias = true;
- vimdiffAlias = true;
- withNodeJs = true;
- withPython3 = true;
- withRuby = true;
- extraPackages = with pkgs; [
- wget
- gcc12
- tree-sitter
- xsel
- stylua
- lua-language-server
- actionlint
- unzip
- ];
- extraPython3Packages = pyPkgs:
- with pyPkgs; [
- pip
- ];
- };
-}
diff --git a/users/relms/shell.nix b/users/relms/shell.nix
deleted file mode 100644
index e864599..0000000
--- a/users/relms/shell.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{lib, ...}: {
- programs.htop.enable = true;
-
- programs.hyfetch.enable = true;
- programs.hyfetch.settings = {
- preset = "genderfluid";
- mode = "rgb";
- color_align = {
- mode = "horizontal";
- };
- };
-
- home.file.neofetch = {
- enable = true;
- source = ./files/neofetch.conf;
- target = ".config/neofetch/config.conf";
- };
-
- programs.exa.enable = true;
-
- programs.fish.enable = true;
- programs.fish.shellAliases = {
- ls = "exa -laFghHUum@ --sort name --group-directories-first --git --icons";
- tree = "exa -laFghHUumRT@ --sort name --group-directories-first --git --icons";
- nixos-rebuild = "sudo nixos-rebuild --flake ~/git/flake#";
- home-manager = "home-manager --flake ~/git/flake#relms";
- };
- programs.fish.interactiveShellInit = "fish_add_path ~/.spicetify";
-
- programs.bash.enable = true;
- programs.bash.enableVteIntegration = true;
-
- programs.starship.enable = true;
- programs.starship.enableFishIntegration = true;
- programs.starship.enableBashIntegration = true;
- programs.starship.settings = {
- add_newline = true;
- format = lib.concatStrings ["$username@$hostname" " " "$directory" " " "$all$character"];
- right_format = "$cmd_duration";
- directory = {
- format = "[$path]($style)[$read_only]($read_only_style)";
- read_only = " 🔒";
- };
- hostname = {
- ssh_only = false;
- format = "[$hostname]($style)";
- };
- username = {
- show_always = true;
- format = "[$user]($style)";
- };
- shell = {
- disabled = false;
- };
- time = {
- disabled = false;
- };
- status = {
- disabled = false;
- };
- };
-}
diff --git a/users/relms/wine.nix b/users/relms/wine.nix
deleted file mode 100644
index 3c3a864..0000000
--- a/users/relms/wine.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- (wineWowPackages.stagingFull.override {
- vulkanSupport = true;
- waylandSupport = true;
- })
- winetricks
- ];
-}
diff --git a/wahnix-facter.json b/wahnix-facter.json
new file mode 100644
index 0000000..303ad86
--- /dev/null
+++ b/wahnix-facter.json
@@ -0,0 +1,5682 @@
+{
+ "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": 772
+ },
+ "bluetooth": [
+ {
+ "index": 60,
+ "attached_to": 59,
+ "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": "0033",
+ "value": 51
+ },
+ "model": "Bluetooth Device",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0",
+ "sysfs_bus_id": "3-10:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "device_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "btusb",
+ "driver_module": "btusb",
+ "drivers": [
+ "btusb"
+ ],
+ "driver_modules": [
+ "btusb"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "btusb"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "btusb"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in00"
+ },
+ {
+ "index": 66,
+ "attached_to": 59,
+ "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": "0033",
+ "value": 51
+ },
+ "model": "Bluetooth Device",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1",
+ "sysfs_bus_id": "3-10:1.1",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 12000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "device_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "00e0",
+ "name": "wireless",
+ "value": 224
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 1,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "btusb",
+ "driver_module": "btusb",
+ "drivers": [
+ "btusb"
+ ],
+ "driver_modules": [
+ "btusb"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "btusb"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "btusb"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in01"
+ }
+ ],
+ "bridge": [
+ {
+ "index": 24,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 28
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51b8",
+ "value": 20920
+ },
+ "sub_device": {
+ "hex": "383b",
+ "value": 14395
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.0",
+ "sysfs_bus_id": "0000:00:1c.0",
+ "sysfs_iommu_group_id": 14,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 126,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 50,
+ "irq": 126,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000051B8sv000017AAsd0000383Bbc06sc04i00"
+ },
+ {
+ "index": 27,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0001",
+ "name": "ISA bridge",
+ "value": 1
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "519d",
+ "value": 20893
+ },
+ "sub_device": {
+ "hex": "3805",
+ "value": 14341
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel ISA bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.0",
+ "sysfs_bus_id": "0000:00:1f.0",
+ "sysfs_iommu_group_id": 16,
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "module_alias": "pci:v00008086d0000519Dsv000017AAsd00003805bc06sc01i00"
+ },
+ {
+ "index": 29,
+ "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": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a70d",
+ "value": 42765
+ },
+ "sub_device": {
+ "hex": "3811",
+ "value": 14353
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:01.0",
+ "sysfs_bus_id": "0000:00:01.0",
+ "sysfs_iommu_group_id": 2,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 122,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1287,
+ "header_type": 1,
+ "secondary_bus": 1,
+ "irq": 122,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d0000A70Dsv000017AAsd00003811bc06sc04i00"
+ },
+ {
+ "index": 35,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 7
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "a76e",
+ "value": 42862
+ },
+ "sub_device": {
+ "hex": "7270",
+ "value": 29296
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:07.0",
+ "sysfs_bus_id": "0000:00:07.0",
+ "sysfs_iommu_group_id": 6,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 125,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 8,
+ "irq": 125,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d0000A76Esv00008086sd00007270bc06sc04i00"
+ },
+ {
+ "index": 40,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Host bridge",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a706",
+ "value": 42758
+ },
+ "sub_device": {
+ "hex": "3815",
+ "value": 14357
+ },
+ "model": "Intel Host bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:00.0",
+ "sysfs_bus_id": "0000:00:00.0",
+ "sysfs_iommu_group_id": 1,
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "driver": "igen6_edac",
+ "driver_module": "igen6_edac",
+ "drivers": [
+ "igen6_edac"
+ ],
+ "driver_modules": [
+ "igen6_edac"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "igen6_edac"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "igen6_edac"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d0000A706sv000017AAsd00003815bc06sc00i00"
+ },
+ {
+ "index": 42,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 6
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "a73d",
+ "value": 42813
+ },
+ "sub_device": {
+ "hex": "7270",
+ "value": 29296
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:06.2",
+ "sysfs_bus_id": "0000:00:06.2",
+ "sysfs_iommu_group_id": 5,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 124,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 1287,
+ "header_type": 1,
+ "secondary_bus": 7,
+ "irq": 124,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d0000A73Dsv00008086sd00007270bc06sc04i00"
+ },
+ {
+ "index": 45,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 6
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a74d",
+ "value": 42829
+ },
+ "sub_device": {
+ "hex": "3812",
+ "value": 14354
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:06.0",
+ "sysfs_bus_id": "0000:00:06.0",
+ "sysfs_iommu_group_id": 4,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 123,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1287,
+ "header_type": 1,
+ "secondary_bus": 6,
+ "irq": 123,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d0000A74Dsv000017AAsd00003812bc06sc04i00"
+ },
+ {
+ "index": 46,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "bridge"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 28
+ },
+ "base_class": {
+ "hex": "0006",
+ "name": "Bridge",
+ "value": 6
+ },
+ "sub_class": {
+ "hex": "0004",
+ "name": "PCI bridge",
+ "value": 4
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "Normal decode",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51be",
+ "value": 20926
+ },
+ "sub_device": {
+ "hex": "383f",
+ "value": 14399
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel PCI bridge",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.6",
+ "sysfs_bus_id": "0000:00:1c.6",
+ "sysfs_iommu_group_id": 15,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 127,
+ "triggered": 0,
+ "enabled": true
+ }
+ ],
+ "detail": {
+ "function": 6,
+ "command": 1031,
+ "header_type": 1,
+ "secondary_bus": 55,
+ "irq": 127,
+ "prog_if": 0
+ },
+ "driver": "pcieport",
+ "drivers": [
+ "pcieport"
+ ],
+ "module_alias": "pci:v00008086d000051BEsv000017AAsd0000383Fbc06sc04i00"
+ }
+ ],
+ "camera": [
+ {
+ "index": 57,
+ "attached_to": 59,
+ "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": "30c9",
+ "name": "8SSC21K12273V1SR3852953",
+ "value": 12489
+ },
+ "device": {
+ "hex": "00ac",
+ "name": "Integrated Camera",
+ "value": 172
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "0.08",
+ "value": 0
+ },
+ "serial": "01.00.00",
+ "model": "8SSC21K12273V1SR3852953 Integrated Camera",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0",
+ "sysfs_bus_id": "3-7:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00ef",
+ "name": "miscellaneous",
+ "value": 239
+ },
+ "device_subclass": {
+ "hex": "0002",
+ "name": "comm",
+ "value": 2
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "000e",
+ "name": "video",
+ "value": 14
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 0,
+ "interface_alternate_setting": 0,
+ "interface_association": {
+ "function_class": {
+ "hex": "000e",
+ "name": "video",
+ "value": 14
+ },
+ "function_subclass": {
+ "hex": "0003",
+ "name": "hid",
+ "value": 3
+ },
+ "function_protocol": 0,
+ "interface_count": 2,
+ "first_interface": 0
+ }
+ },
+ "hotplug": "usb",
+ "driver": "uvcvideo",
+ "driver_module": "uvcvideo",
+ "drivers": [
+ "uvcvideo"
+ ],
+ "driver_modules": [
+ "uvcvideo"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "uvcvideo"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "uvcvideo"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "usb:v30C9p00ACd0008dcEFdsc02dp01ic0Eisc01ip01in00"
+ },
+ {
+ "index": 62,
+ "attached_to": 59,
+ "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": "30c9",
+ "name": "8SSC21K12273V1SR3852953",
+ "value": 12489
+ },
+ "device": {
+ "hex": "00ac",
+ "name": "Integrated Camera",
+ "value": 172
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "0.08",
+ "value": 0
+ },
+ "serial": "01.00.00",
+ "model": "8SSC21K12273V1SR3852953 Integrated Camera",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.1",
+ "sysfs_bus_id": "3-7:1.1",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "00ef",
+ "name": "miscellaneous",
+ "value": 239
+ },
+ "device_subclass": {
+ "hex": "0002",
+ "name": "comm",
+ "value": 2
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "000e",
+ "name": "video",
+ "value": 14
+ },
+ "interface_subclass": {
+ "hex": "0002",
+ "name": "comm",
+ "value": 2
+ },
+ "interface_protocol": 1,
+ "interface_number": 1,
+ "interface_alternate_setting": 0,
+ "interface_association": {
+ "function_class": {
+ "hex": "000e",
+ "name": "video",
+ "value": 14
+ },
+ "function_subclass": {
+ "hex": "0003",
+ "name": "hid",
+ "value": 3
+ },
+ "function_protocol": 0,
+ "interface_count": 2,
+ "first_interface": 0
+ }
+ },
+ "hotplug": "usb",
+ "driver": "uvcvideo",
+ "driver_module": "uvcvideo",
+ "drivers": [
+ "uvcvideo"
+ ],
+ "driver_modules": [
+ "uvcvideo"
+ ],
+ "module_alias": "usb:v30C9p00ACd0008dcEFdsc02dp01ic0Eisc02ip01in01"
+ }
+ ],
+ "cpu": [
+ {
+ "architecture": "x86_64",
+ "vendor_name": "GenuineIntel",
+ "family": 6,
+ "model": 186,
+ "stepping": 2,
+ "features": [
+ "fpu",
+ "vme",
+ "de",
+ "pse",
+ "tsc",
+ "msr",
+ "pae",
+ "mce",
+ "cx8",
+ "apic",
+ "sep",
+ "mtrr",
+ "pge",
+ "mca",
+ "cmov",
+ "pat",
+ "pse36",
+ "clflush",
+ "dts",
+ "acpi",
+ "mmx",
+ "fxsr",
+ "sse",
+ "sse2",
+ "ss",
+ "ht",
+ "tm",
+ "pbe",
+ "syscall",
+ "nx",
+ "pdpe1gb",
+ "rdtscp",
+ "lm",
+ "constant_tsc",
+ "art",
+ "arch_perfmon",
+ "pebs",
+ "bts",
+ "rep_good",
+ "nopl",
+ "xtopology",
+ "nonstop_tsc",
+ "cpuid",
+ "aperfmperf",
+ "tsc_known_freq",
+ "pni",
+ "pclmulqdq",
+ "dtes64",
+ "monitor",
+ "ds_cpl",
+ "vmx",
+ "smx",
+ "est",
+ "tm2",
+ "ssse3",
+ "sdbg",
+ "fma",
+ "cx16",
+ "xtpr",
+ "pdcm",
+ "sse4_1",
+ "sse4_2",
+ "x2apic",
+ "movbe",
+ "popcnt",
+ "tsc_deadline_timer",
+ "aes",
+ "xsave",
+ "avx",
+ "f16c",
+ "rdrand",
+ "lahf_lm",
+ "abm",
+ "3dnowprefetch",
+ "cpuid_fault",
+ "epb",
+ "ssbd",
+ "ibrs",
+ "ibpb",
+ "stibp",
+ "ibrs_enhanced",
+ "tpr_shadow",
+ "flexpriority",
+ "ept",
+ "vpid",
+ "ept_ad",
+ "fsgsbase",
+ "tsc_adjust",
+ "bmi1",
+ "avx2",
+ "smep",
+ "bmi2",
+ "erms",
+ "invpcid",
+ "rdseed",
+ "adx",
+ "smap",
+ "clflushopt",
+ "clwb",
+ "intel_pt",
+ "sha_ni",
+ "xsaveopt",
+ "xsavec",
+ "xgetbv1",
+ "xsaves",
+ "split_lock_detect",
+ "user_shstk",
+ "avx_vnni",
+ "dtherm",
+ "ida",
+ "arat",
+ "pln",
+ "pts",
+ "hwp",
+ "hwp_notify",
+ "hwp_act_window",
+ "hwp_epp",
+ "hwp_pkg_req",
+ "hfi",
+ "vnmi",
+ "umip",
+ "pku",
+ "ospke",
+ "waitpkg",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "rdpid",
+ "movdiri",
+ "movdir64b",
+ "fsrm",
+ "md_clear",
+ "serialize",
+ "pconfig",
+ "arch_lbr",
+ "ibt",
+ "flush_l1d",
+ "arch_capabilities"
+ ],
+ "bugs": [
+ "spectre_v1",
+ "spectre_v2",
+ "spec_store_bypass",
+ "swapgs",
+ "eibrs_pbrsb",
+ "rfds",
+ "bhi"
+ ],
+ "bogo": 5990.4,
+ "cache": 24576,
+ "units": 128,
+ "physical_id": 0,
+ "siblings": 20,
+ "cores": 14,
+ "fpu": true,
+ "fpu_exception": true,
+ "cpuid_level": 32,
+ "write_protect": false,
+ "clflush_size": 64,
+ "cache_alignment": 64,
+ "address_sizes": {
+ "physical": 46,
+ "virtual": 48
+ }
+ }
+ ],
+ "disk": [
+ {
+ "index": 54,
+ "attached_to": 37,
+ "class_list": [
+ "disk",
+ "block_device",
+ "nvme"
+ ],
+ "bus_type": {
+ "hex": "0096",
+ "name": "NVME",
+ "value": 150
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0106",
+ "name": "Mass Storage Device",
+ "value": 262
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Disk",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a80a",
+ "name": "Samsung SSD 980 PRO 1TB",
+ "value": 43018
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "serial": "S5P2NS0WB02716X",
+ "model": "Samsung SSD 980 PRO 1TB",
+ "sysfs_id": "/class/block/nvme0n1",
+ "sysfs_bus_id": "nvme0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:06.2/0000:07: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-Samsung_SSD_980_PRO_1TB_S5P2NS0WB02716X",
+ "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_1TB_S5P2NS0WB02716X_1",
+ "/dev/disk/by-id/nvme-eui.002538bb31400a9c",
+ "/dev/disk/by-path/pci-0000:07:00.0-nvme-1",
+ "/dev/nvme0n1"
+ ],
+ "resources": [
+ {
+ "type": "disk_geo",
+ "cylinders": 953869,
+ "heads": 64,
+ "sectors": 32,
+ "size": 0,
+ "geo_type": "logical"
+ },
+ {
+ "type": "size",
+ "unit": "sectors",
+ "value_1": 1953525168,
+ "value_2": 512
+ }
+ ],
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ]
+ },
+ {
+ "index": 55,
+ "attached_to": 41,
+ "class_list": [
+ "disk",
+ "block_device",
+ "nvme"
+ ],
+ "bus_type": {
+ "hex": "0096",
+ "name": "NVME",
+ "value": 150
+ },
+ "slot": {
+ "bus": 0,
+ "number": 1
+ },
+ "base_class": {
+ "hex": "0106",
+ "name": "Mass Storage Device",
+ "value": 262
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Disk",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a80a",
+ "name": "SAMSUNG MZVL21T0HCLR-00BL2",
+ "value": 43018
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "serial": "S64NNX0W818989",
+ "model": "SAMSUNG MZVL21T0HCLR-00BL2",
+ "sysfs_id": "/class/block/nvme1n1",
+ "sysfs_bus_id": "nvme1",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:06:00.0/nvme/nvme1",
+ "unix_device_name": "/dev/nvme1n1",
+ "unix_device_number": {
+ "type": 98,
+ "major": 259,
+ "minor": 1,
+ "range": 0
+ },
+ "unix_device_names": [
+ "/dev/disk/by-diskseq/2",
+ "/dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00BL2_S64NNX0W818989",
+ "/dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00BL2_S64NNX0W818989_1",
+ "/dev/disk/by-id/nvme-eui.002538b831b20d84",
+ "/dev/disk/by-path/pci-0000:06:00.0-nvme-1",
+ "/dev/nvme1n1"
+ ],
+ "resources": [
+ {
+ "type": "disk_geo",
+ "cylinders": 976762,
+ "heads": 64,
+ "sectors": 32,
+ "size": 0,
+ "geo_type": "logical"
+ },
+ {
+ "type": "size",
+ "unit": "sectors",
+ "value_1": 2000409264,
+ "value_2": 512
+ }
+ ],
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ]
+ },
+ {
+ "index": 56,
+ "attached_to": 25,
+ "class_list": [
+ "disk",
+ "usb",
+ "scsi",
+ "block_device"
+ ],
+ "bus_type": {
+ "hex": "0084",
+ "name": "SCSI",
+ "value": 132
+ },
+ "slot": {
+ "bus": 0,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0106",
+ "name": "Mass Storage Device",
+ "value": 262
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Disk",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "0bda",
+ "name": "Realtek",
+ "value": 3034
+ },
+ "device": {
+ "hex": "9210",
+ "name": "RTL9210B-CG",
+ "value": 37392
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "1.00",
+ "value": 0
+ },
+ "serial": "0000000000000000",
+ "model": "Realtek RTL9210B-CG",
+ "sysfs_id": "/class/block/sda",
+ "sysfs_bus_id": "0:0:0:0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:0d.0/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0",
+ "unix_device_name": "/dev/sda",
+ "unix_device_number": {
+ "type": 98,
+ "major": 8,
+ "minor": 0,
+ "range": 16
+ },
+ "unix_device_names": [
+ "/dev/disk/by-diskseq/4",
+ "/dev/disk/by-id/ata-SAMSUNG_MZVL21T0HCLR-00BL2_S64NNF3W989780",
+ "/dev/disk/by-id/usb-Realtek_RTL9210B-CG_012345679039-0:0",
+ "/dev/disk/by-path/pci-0000:00:0d.0-usb-0:1:1.0-scsi-0:0:0:0",
+ "/dev/disk/by-path/pci-0000:00:0d.0-usbv3-0:1:1.0-scsi-0:0:0:0",
+ "/dev/sda"
+ ],
+ "unix_device_name2": "/dev/sg0",
+ "unix_device_number2": {
+ "type": 99,
+ "major": 21,
+ "minor": 0,
+ "range": 1
+ },
+ "resources": [
+ {
+ "type": "disk_geo",
+ "cylinders": 124519,
+ "heads": 255,
+ "sectors": 63,
+ "size": 0,
+ "geo_type": "logical"
+ },
+ {
+ "type": "size",
+ "unit": "sectors",
+ "value_1": 2000409264,
+ "value_2": 512
+ }
+ ],
+ "driver": "uas",
+ "driver_module": "uas",
+ "drivers": [
+ "sd",
+ "uas"
+ ],
+ "driver_modules": [
+ "uas"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "uas"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "uas"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "usb:v0BDAp9210d2001dc00dsc00dp00ic08isc06ip62in00"
+ }
+ ],
+ "graphics_card": [
+ {
+ "index": 34,
+ "attached_to": 29,
+ "class_list": [
+ "graphics_card",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 1,
+ "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": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "2860",
+ "value": 10336
+ },
+ "sub_device": {
+ "hex": "3e67",
+ "value": 15975
+ },
+ "revision": {
+ "hex": "00a1",
+ "value": 161
+ },
+ "model": "nVidia VGA compatible controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:01.0/0000:01:00.0",
+ "sysfs_bus_id": "0000:01:00.0",
+ "sysfs_iommu_group_id": 17,
+ "resources": [
+ {
+ "type": "io",
+ "base": 16384,
+ "range": 128,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 237,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1610612736,
+ "range": 16777216,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 1627389952,
+ "range": 524288,
+ "enabled": false,
+ "access": "read_only",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 412316860416,
+ "range": 8589934592,
+ "enabled": true,
+ "access": "read_only",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 420906795008,
+ "range": 33554432,
+ "enabled": true,
+ "access": "read_only",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 237,
+ "prog_if": 0
+ },
+ "driver": "nvidia",
+ "driver_module": "nvidia",
+ "drivers": [
+ "nvidia"
+ ],
+ "driver_modules": [
+ "nvidia"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "nouveau"
+ ],
+ "active": false,
+ "modprobe": true,
+ "names": [
+ "nouveau"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v000010DEd00002860sv000017AAsd00003E67bc03sc00i00"
+ },
+ {
+ "index": 49,
+ "attached_to": 0,
+ "class_list": [
+ "graphics_card",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 2
+ },
+ "base_class": {
+ "hex": "0003",
+ "name": "Display controller",
+ "value": 3
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "VGA compatible controller",
+ "value": 0
+ },
+ "pci_interface": {
+ "hex": "0000",
+ "name": "VGA",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a7a0",
+ "value": 42912
+ },
+ "sub_device": {
+ "hex": "3e67",
+ "value": 15975
+ },
+ "revision": {
+ "hex": "0004",
+ "value": 4
+ },
+ "model": "Intel VGA compatible controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:02.0",
+ "sysfs_bus_id": "0000:00:02.0",
+ "sysfs_iommu_group_id": 0,
+ "resources": [
+ {
+ "type": "io",
+ "base": 20480,
+ "range": 64,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 187,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 274877906944,
+ "range": 268435456,
+ "enabled": true,
+ "access": "read_only",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 420957126656,
+ "range": 16777216,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 786432,
+ "range": 131072,
+ "enabled": false,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 187,
+ "prog_if": 0
+ },
+ "driver": "i915",
+ "driver_module": "i915",
+ "drivers": [
+ "i915"
+ ],
+ "driver_modules": [
+ "i915"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "i915"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "i915"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d0000A7A0sv000017AAsd00003E67bc03sc00i00"
+ }
+ ],
+ "hub": [
+ {
+ "index": 59,
+ "attached_to": 50,
+ "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.7-zen1-1-zen xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0002",
+ "name": "xHCI Host Controller",
+ "value": 2
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.12",
+ "value": 0
+ },
+ "serial": "0000:00:14.0",
+ "model": "Linux 6.12.7-zen1-1-zen xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0",
+ "sysfs_bus_id": "3-0:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00"
+ },
+ {
+ "index": 63,
+ "attached_to": 50,
+ "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.7-zen1-1-zen xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0003",
+ "name": "xHCI Host Controller",
+ "value": 3
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.12",
+ "value": 0
+ },
+ "serial": "0000:00:14.0",
+ "model": "Linux 6.12.7-zen1-1-zen xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0",
+ "sysfs_bus_id": "4-0:1.0",
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 3,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00"
+ },
+ {
+ "index": 65,
+ "attached_to": 25,
+ "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.7-zen1-1-zen xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0002",
+ "name": "xHCI Host Controller",
+ "value": 2
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.12",
+ "value": 0
+ },
+ "serial": "0000:00:0d.0",
+ "model": "Linux 6.12.7-zen1-1-zen xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb1/1-0:1.0",
+ "sysfs_bus_id": "1-0:1.0",
+ "resources": [
+ {
+ "type": "baud",
+ "speed": 480000000,
+ "bits": 0,
+ "stop_bits": 0,
+ "parity": 0,
+ "handshake": 0
+ }
+ ],
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 1,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00"
+ },
+ {
+ "index": 68,
+ "attached_to": 25,
+ "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.7-zen1-1-zen xhci-hcd",
+ "value": 7531
+ },
+ "device": {
+ "hex": "0003",
+ "name": "xHCI Host Controller",
+ "value": 3
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "6.12",
+ "value": 0
+ },
+ "serial": "0000:00:0d.0",
+ "model": "Linux 6.12.7-zen1-1-zen xhci-hcd xHCI Host Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb2/2-0:1.0",
+ "sysfs_bus_id": "2-0:1.0",
+ "detail": {
+ "device_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "device_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "device_protocol": 3,
+ "interface_class": {
+ "hex": "0009",
+ "name": "hub",
+ "value": 9
+ },
+ "interface_subclass": {
+ "hex": "0000",
+ "name": "per_interface",
+ "value": 0
+ },
+ "interface_protocol": 0,
+ "interface_number": 0,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "driver": "hub",
+ "drivers": [
+ "hub"
+ ],
+ "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00"
+ }
+ ],
+ "keyboard": [
+ {
+ "index": 64,
+ "attached_to": 59,
+ "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": "048d",
+ "name": "Integrated Technology Express",
+ "value": 1165
+ },
+ "device": {
+ "hex": "c987",
+ "name": "ITE Device(8258)",
+ "value": 51591
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "13.00",
+ "value": 0
+ },
+ "model": "Integrated Technology Express ITE Device(8258)",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0",
+ "sysfs_bus_id": "3-9:1.0",
+ "unix_device_name": "/dev/input/event5",
+ "unix_device_number": {
+ "type": 99,
+ "major": 13,
+ "minor": 69,
+ "range": 1
+ },
+ "unix_device_names": [
+ "/dev/input/by-id/usb-ITE_Tech._Inc._ITE_Device_8258_-event-if00",
+ "/dev/input/by-path/pci-0000:00:14.0-usb-0:9:1.0-event",
+ "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:9:1.0-event",
+ "/dev/input/event5"
+ ],
+ "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:v048DpC987d1300dc00dsc00dp00ic03isc01ip01in00"
+ }
+ ],
+ "memory": [
+ {
+ "index": 23,
+ "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": 33360388096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "unknown"
+ },
+ {
+ "type": "phys_mem",
+ "range": 34359738368
+ }
+ ]
+ }
+ ],
+ "monitor": [
+ {
+ "index": 53,
+ "attached_to": 49,
+ "class_list": [
+ "monitor"
+ ],
+ "base_class": {
+ "hex": "0100",
+ "name": "Monitor",
+ "value": 256
+ },
+ "sub_class": {
+ "hex": "0002",
+ "name": "LCD Monitor",
+ "value": 2
+ },
+ "vendor": {
+ "hex": "09e5",
+ "name": "BOE CQ",
+ "value": 2533
+ },
+ "device": {
+ "hex": "0bbe",
+ "value": 3006
+ },
+ "serial": "5",
+ "model": "BOE CQ LCD Monitor",
+ "resources": [
+ {
+ "type": "monitor",
+ "width": 2560,
+ "height": 1600,
+ "vertical_frequency": 60,
+ "interlaced": false
+ },
+ {
+ "type": "size",
+ "unit": "mm",
+ "value_1": 345,
+ "value_2": 215
+ }
+ ],
+ "detail": {
+ "manufacture_year": 2022,
+ "manufacture_week": 44,
+ "vertical_sync": {
+ "min": 60,
+ "max": 240
+ },
+ "horizontal_sync": {
+ "min": 177,
+ "max": 177
+ },
+ "horizontal_sync_timings": {
+ "disp": 2560,
+ "sync_start": 2608,
+ "sync_end": 2640,
+ "total": 2720
+ },
+ "vertical_sync_timings": {
+ "disp": 1600,
+ "sync_start": 1603,
+ "sync_end": 1609,
+ "total": 1800
+ },
+ "clock": 293760,
+ "width": 2560,
+ "height": 1600,
+ "width_millimetres": 345,
+ "height_millimetres": 215,
+ "horizontal_flag": 45,
+ "vertical_flag": 43,
+ "vendor": "BOE CQ",
+ "name": ""
+ },
+ "driver_info": {
+ "type": "display",
+ "width": 2560,
+ "height": 1600,
+ "vertical_sync": {
+ "min": 60,
+ "max": 240
+ },
+ "horizontal_sync": {
+ "min": 177,
+ "max": 177
+ },
+ "bandwidth": 0,
+ "horizontal_sync_timings": {
+ "disp": 2560,
+ "sync_start": 2608,
+ "sync_end": 2640,
+ "total": 2720
+ },
+ "vertical_sync_timings": {
+ "disp": 1600,
+ "sync_start": 1603,
+ "sync_end": 1609,
+ "total": 1800
+ },
+ "horizontal_flag": 45,
+ "vertical_flag": 43
+ }
+ }
+ ],
+ "mouse": [
+ {
+ "index": 75,
+ "attached_to": 0,
+ "bus_type": {
+ "hex": "0081",
+ "name": "serial",
+ "value": 129
+ },
+ "base_class": {
+ "hex": "0118",
+ "name": "touchpad",
+ "value": 280
+ },
+ "sub_class": {
+ "hex": "0001",
+ "name": "bus",
+ "value": 1
+ },
+ "vendor": {
+ "hex": "04f3",
+ "value": 1267
+ },
+ "device": {
+ "hex": "3280",
+ "value": 12928
+ },
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.0/i2c_designware.2/i2c-17/i2c-ELAN06FA:00/0018:04F3:3280.0002/input/input22",
+ "unix_device_names": [
+ "/dev/input/event18",
+ "/dev/input/ + handler"
+ ]
+ }
+ ],
+ "network_controller": [
+ {
+ "index": 32,
+ "attached_to": 0,
+ "class_list": [
+ "network_controller",
+ "pci",
+ "wlan_card"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 20
+ },
+ "base_class": {
+ "hex": "0002",
+ "name": "Network controller",
+ "value": 2
+ },
+ "sub_class": {
+ "hex": "0082",
+ "name": "WLAN controller",
+ "value": 130
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "51f1",
+ "value": 20977
+ },
+ "sub_device": {
+ "hex": "0094",
+ "value": 148
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel WLAN controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.3",
+ "sysfs_bus_id": "0000:00:14.3",
+ "sysfs_iommu_group_id": 10,
+ "unix_device_name": "wlan0",
+ "unix_device_names": [
+ "wlan0"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 101
+ },
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420975427584,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "phwaddr",
+ "address": 101
+ },
+ {
+ "type": "wlan",
+ "channels": [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "12",
+ "13",
+ "36",
+ "40",
+ "44",
+ "48",
+ "52",
+ "56",
+ "60",
+ "64",
+ "100",
+ "104",
+ "108",
+ "112",
+ "116",
+ "120",
+ "124",
+ "128",
+ "132",
+ "136",
+ "140"
+ ],
+ "frequencies": [
+ "2.412",
+ "2.417",
+ "2.422",
+ "2.427",
+ "2.432",
+ "2.437",
+ "2.442",
+ "2.447",
+ "2.452",
+ "2.457",
+ "2.462",
+ "2.467",
+ "2.472",
+ "5.18",
+ "5.2",
+ "5.22",
+ "5.24",
+ "5.26",
+ "5.28",
+ "5.3",
+ "5.32",
+ "5.5",
+ "5.52",
+ "5.54",
+ "5.56",
+ "5.58",
+ "5.6",
+ "5.62",
+ "5.64",
+ "5.66",
+ "5.68",
+ "5.7"
+ ],
+ "auth_modes": [
+ "open",
+ "sharedkey",
+ "wpa-psk",
+ "wpa-eap"
+ ],
+ "enc_modes": [
+ "WEP40",
+ "WEP104",
+ "TKIP",
+ "CCMP"
+ ]
+ }
+ ],
+ "detail": {
+ "function": 3,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "iwlwifi",
+ "driver_module": "iwlwifi",
+ "drivers": [
+ "iwlwifi"
+ ],
+ "driver_modules": [
+ "iwlwifi"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "iwlwifi"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "iwlwifi"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051F1sv00008086sd00000094bc02sc80i00"
+ }
+ ],
+ "network_interface": [
+ {
+ "index": 69,
+ "attached_to": 32,
+ "class_list": [
+ "network_interface"
+ ],
+ "base_class": {
+ "hex": "0107",
+ "name": "Network Interface",
+ "value": 263
+ },
+ "sub_class": {
+ "hex": "000a",
+ "name": "WLAN",
+ "value": 10
+ },
+ "model": "WLAN network interface",
+ "sysfs_id": "/class/net/wlan0",
+ "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3",
+ "unix_device_name": "wlan0",
+ "unix_device_names": [
+ "wlan0"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 101
+ },
+ {
+ "type": "phwaddr",
+ "address": 101
+ }
+ ],
+ "driver": "iwlwifi",
+ "driver_module": "iwlwifi",
+ "drivers": [
+ "iwlwifi"
+ ],
+ "driver_modules": [
+ "iwlwifi"
+ ]
+ },
+ {
+ "index": 71,
+ "attached_to": 0,
+ "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/vmnet1",
+ "unix_device_name": "vmnet1",
+ "unix_device_names": [
+ "vmnet1"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 48
+ },
+ {
+ "type": "phwaddr",
+ "address": 48
+ }
+ ]
+ },
+ {
+ "index": 72,
+ "attached_to": 0,
+ "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/vmnet8",
+ "unix_device_name": "vmnet8",
+ "unix_device_names": [
+ "vmnet8"
+ ],
+ "resources": [
+ {
+ "type": "hwaddr",
+ "address": 48
+ },
+ {
+ "type": "phwaddr",
+ "address": 48
+ }
+ ]
+ },
+ {
+ "index": 74,
+ "attached_to": 0,
+ "class_list": [
+ "network_interface"
+ ],
+ "base_class": {
+ "hex": "0107",
+ "name": "Network Interface",
+ "value": 263
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "Loopback",
+ "value": 0
+ },
+ "model": "Loopback network interface",
+ "sysfs_id": "/class/net/lo",
+ "unix_device_name": "lo",
+ "unix_device_names": [
+ "lo"
+ ]
+ }
+ ],
+ "pci": [
+ {
+ "index": 26,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 21
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "51e9",
+ "value": 20969
+ },
+ "sub_device": {
+ "hex": "7270",
+ "value": 29296
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.1",
+ "sysfs_bus_id": "0000:00:15.1",
+ "sysfs_iommu_group_id": 11,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 40,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 275263795200,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 1,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 40,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "intel_lpss_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "intel_lpss_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051E9sv00008086sd00007270bc0Csc80i00"
+ },
+ {
+ "index": 28,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 16
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51d8",
+ "value": 20952
+ },
+ "sub_device": {
+ "hex": "382f",
+ "value": 14383
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:10.0",
+ "sysfs_bus_id": "0000:00:10.0",
+ "sysfs_iommu_group_id": 8,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 18,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 275263782912,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 18,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "intel_lpss_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "intel_lpss_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051D8sv000017AAsd0000382Fbc0Csc80i00"
+ },
+ {
+ "index": 30,
+ "attached_to": 46,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 55,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0008",
+ "name": "Generic system peripheral",
+ "value": 8
+ },
+ "sub_class": {
+ "hex": "0005",
+ "value": 5
+ },
+ "pci_interface": {
+ "hex": "0001",
+ "value": 1
+ },
+ "vendor": {
+ "hex": "17a0",
+ "value": 6048
+ },
+ "sub_vendor": {
+ "hex": "17a0",
+ "value": 6048
+ },
+ "device": {
+ "hex": "9750",
+ "value": 38736
+ },
+ "sub_device": {
+ "hex": "9750",
+ "value": 38736
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Generic system peripheral",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1c.6/0000:37:00.0",
+ "sysfs_bus_id": "0000:37:00.0",
+ "sysfs_iommu_group_id": 20,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 186,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1579155456,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 186,
+ "prog_if": 1
+ },
+ "driver": "sdhci-pci",
+ "driver_module": "sdhci_pci",
+ "drivers": [
+ "sdhci-pci"
+ ],
+ "driver_modules": [
+ "sdhci_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "sdhci_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "sdhci_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v000017A0d00009750sv000017A0sd00009750bc08sc05i01"
+ },
+ {
+ "index": 31,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 4
+ },
+ "base_class": {
+ "hex": "0011",
+ "name": "Signal processing controller",
+ "value": 17
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Signal processing controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a71d",
+ "value": 42781
+ },
+ "sub_device": {
+ "hex": "3814",
+ "value": 14356
+ },
+ "model": "Intel Signal processing controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:04.0",
+ "sysfs_bus_id": "0000:00:04.0",
+ "sysfs_iommu_group_id": 3,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420975214592,
+ "range": 131072,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "proc_thermal_pci",
+ "driver_module": "processor_thermal_device_pci",
+ "drivers": [
+ "proc_thermal_pci"
+ ],
+ "driver_modules": [
+ "processor_thermal_device_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "processor_thermal_device_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "processor_thermal_device_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d0000A71Dsv000017AAsd00003814bc11sc80i00"
+ },
+ {
+ "index": 33,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 22
+ },
+ "base_class": {
+ "hex": "0007",
+ "name": "Communication controller",
+ "value": 7
+ },
+ "sub_class": {
+ "hex": "0080",
+ "name": "Communication controller",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51e0",
+ "value": 20960
+ },
+ "sub_device": {
+ "hex": "3849",
+ "value": 14409
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Communication controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:16.0",
+ "sysfs_bus_id": "0000:00:16.0",
+ "sysfs_iommu_group_id": 12,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 201,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420975468544,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 201,
+ "prog_if": 0
+ },
+ "driver": "mei_me",
+ "driver_module": "mei_me",
+ "drivers": [
+ "mei_me"
+ ],
+ "driver_modules": [
+ "mei_me"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "mei_me"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "mei_me"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051E0sv000017AAsd00003849bc07sc80i00"
+ },
+ {
+ "index": 36,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51a4",
+ "value": 20900
+ },
+ "sub_device": {
+ "hex": "384c",
+ "value": 14412
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.5",
+ "sysfs_bus_id": "0000:00:1f.5",
+ "sysfs_iommu_group_id": 16,
+ "resources": [
+ {
+ "type": "mem",
+ "base": 1346371584,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 5,
+ "command": 1026,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "driver": "intel-spi",
+ "driver_module": "spi_intel_pci",
+ "drivers": [
+ "intel-spi"
+ ],
+ "driver_modules": [
+ "spi_intel_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "spi_intel_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "spi_intel_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051A4sv000017AAsd0000384Cbc0Csc80i00"
+ },
+ {
+ "index": 38,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 25
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "51c5",
+ "value": 20933
+ },
+ "sub_device": {
+ "hex": "7270",
+ "value": 29296
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:19.0",
+ "sysfs_bus_id": "0000:00:19.0",
+ "sysfs_iommu_group_id": 13,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 31,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 275263799296,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 31,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "intel_lpss_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "intel_lpss_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051C5sv00008086sd00007270bc0Csc80i00"
+ },
+ {
+ "index": 43,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 16
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51d9",
+ "value": 20953
+ },
+ "sub_device": {
+ "hex": "3801",
+ "value": 14337
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:10.1",
+ "sysfs_bus_id": "0000:00:10.1",
+ "sysfs_iommu_group_id": 8,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 19,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 275263787008,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 1,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 19,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "intel_lpss_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "intel_lpss_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051D9sv000017AAsd00003801bc0Csc80i00"
+ },
+ {
+ "index": 44,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 21
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51e8",
+ "value": 20968
+ },
+ "sub_device": {
+ "hex": "3843",
+ "value": 14403
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Serial bus controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:15.0",
+ "sysfs_bus_id": "0000:00:15.0",
+ "sysfs_iommu_group_id": 11,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 27,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 275263791104,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 27,
+ "prog_if": 0
+ },
+ "driver": "intel-lpss",
+ "driver_module": "intel_lpss_pci",
+ "drivers": [
+ "intel-lpss"
+ ],
+ "driver_modules": [
+ "intel_lpss_pci"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "intel_lpss_pci"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "intel_lpss_pci"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051E8sv000017AAsd00003843bc0Csc80i00"
+ },
+ {
+ "index": 48,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 20
+ },
+ "base_class": {
+ "hex": "0005",
+ "name": "Memory controller",
+ "value": 5
+ },
+ "sub_class": {
+ "hex": "0000",
+ "name": "RAM memory",
+ "value": 0
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51ef",
+ "value": 20975
+ },
+ "sub_device": {
+ "hex": "384e",
+ "value": 14414
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel RAM memory",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.2",
+ "sysfs_bus_id": "0000:00:14.2",
+ "sysfs_iommu_group_id": 9,
+ "resources": [
+ {
+ "type": "mem",
+ "base": 420975443968,
+ "range": 16384,
+ "enabled": false,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 420975480832,
+ "range": 4096,
+ "enabled": false,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 0,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 0,
+ "prog_if": 0
+ },
+ "module_alias": "pci:v00008086d000051EFsv000017AAsd0000384Ebc05sc00i00"
+ },
+ {
+ "index": 51,
+ "attached_to": 0,
+ "class_list": [
+ "pci",
+ "unknown"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0005",
+ "name": "SMBus",
+ "value": 5
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51a3",
+ "value": 20899
+ },
+ "sub_device": {
+ "hex": "385b",
+ "value": 14427
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel SMBus",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.4",
+ "sysfs_bus_id": "0000:00:1f.4",
+ "sysfs_iommu_group_id": 16,
+ "resources": [
+ {
+ "type": "io",
+ "base": 61344,
+ "range": 32,
+ "enabled": true,
+ "access": "read_write"
+ },
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420975460352,
+ "range": 256,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 4,
+ "command": 3,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 0
+ },
+ "driver": "i801_smbus",
+ "driver_module": "i2c_i801",
+ "drivers": [
+ "i801_smbus"
+ ],
+ "driver_modules": [
+ "i2c_i801"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "i2c_i801"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "i2c_i801"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051A3sv000017AAsd0000385Bbc0Csc05i00"
+ }
+ ],
+ "sound": [
+ {
+ "index": 39,
+ "attached_to": 0,
+ "class_list": [
+ "sound",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 31
+ },
+ "base_class": {
+ "hex": "0004",
+ "name": "Multimedia controller",
+ "value": 4
+ },
+ "sub_class": {
+ "hex": "0003",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0080",
+ "value": 128
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51ca",
+ "value": 20938
+ },
+ "sub_device": {
+ "hex": "3864",
+ "value": 14436
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel Multimedia controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:1f.3",
+ "sysfs_bus_id": "0000:00:1f.3",
+ "sysfs_iommu_group_id": 16,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 223,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420973903872,
+ "range": 1048576,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 420975411200,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 3,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 223,
+ "prog_if": 128
+ },
+ "driver": "snd_hda_intel",
+ "driver_module": "snd_hda_intel",
+ "drivers": [
+ "snd_hda_intel"
+ ],
+ "driver_modules": [
+ "snd_hda_intel"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "snd_hda_intel"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "snd_hda_intel"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d000051CAsv000017AAsd00003864bc04sc03i80"
+ },
+ {
+ "index": 47,
+ "attached_to": 29,
+ "class_list": [
+ "sound",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 1,
+ "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": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "22bd",
+ "value": 8893
+ },
+ "sub_device": {
+ "hex": "3e67",
+ "value": 15975
+ },
+ "revision": {
+ "hex": "00a1",
+ "value": 161
+ },
+ "model": "nVidia Multimedia controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:01.0/0000:01:00.1",
+ "sysfs_bus_id": "0000:01:00.1",
+ "sysfs_iommu_group_id": 17,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 17,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1627914240,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 1,
+ "command": 6,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 17,
+ "prog_if": 0
+ },
+ "driver": "snd_hda_intel",
+ "driver_module": "snd_hda_intel",
+ "drivers": [
+ "snd_hda_intel"
+ ],
+ "driver_modules": [
+ "snd_hda_intel"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "snd_hda_intel"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "snd_hda_intel"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v000010DEd000022BDsv000017AAsd00003E67bc04sc03i00"
+ }
+ ],
+ "storage_controller": [
+ {
+ "index": 37,
+ "attached_to": 42,
+ "class_list": [
+ "storage_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 7,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0001",
+ "name": "Mass storage controller",
+ "value": 1
+ },
+ "sub_class": {
+ "hex": "0008",
+ "value": 8
+ },
+ "pci_interface": {
+ "hex": "0002",
+ "value": 2
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a80a",
+ "value": 43018
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "model": "Mass storage controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:06.2/0000:07:00.0",
+ "sysfs_bus_id": "0000:07:00.0",
+ "sysfs_iommu_group_id": 19,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 17,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1580204032,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 17,
+ "prog_if": 2
+ },
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "nvme"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "nvme"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v0000144Dd0000A80Asv0000144Dsd0000A801bc01sc08i02"
+ },
+ {
+ "index": 41,
+ "attached_to": 45,
+ "class_list": [
+ "storage_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 6,
+ "number": 0
+ },
+ "base_class": {
+ "hex": "0001",
+ "name": "Mass storage controller",
+ "value": 1
+ },
+ "sub_class": {
+ "hex": "0008",
+ "value": 8
+ },
+ "pci_interface": {
+ "hex": "0002",
+ "value": 2
+ },
+ "vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "sub_vendor": {
+ "hex": "144d",
+ "value": 5197
+ },
+ "device": {
+ "hex": "a80a",
+ "value": 43018
+ },
+ "sub_device": {
+ "hex": "a801",
+ "value": 43009
+ },
+ "model": "Mass storage controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:06:00.0",
+ "sysfs_bus_id": "0000:06:00.0",
+ "sysfs_iommu_group_id": 18,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1581252608,
+ "range": 16384,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 2
+ },
+ "driver": "nvme",
+ "driver_module": "nvme",
+ "drivers": [
+ "nvme"
+ ],
+ "driver_modules": [
+ "nvme"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "nvme"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "nvme"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v0000144Dd0000A80Asv0000144Dsd0000A801bc01sc08i02"
+ }
+ ],
+ "system": {
+ "form_factor": "laptop"
+ },
+ "usb": [
+ {
+ "index": 61,
+ "attached_to": 59,
+ "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": "04f3",
+ "name": "Elan Microelectronics Corportation",
+ "value": 1267
+ },
+ "device": {
+ "hex": "0c4b",
+ "name": "ELAN:Fingerprint",
+ "value": 3147
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "24.30",
+ "value": 0
+ },
+ "model": "Elan Microelectronics Corportation ELAN:Fingerprint",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0",
+ "sysfs_bus_id": "3-8: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": "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:v04F3p0C4Bd2430dc00dsc00dp00icFFisc00ip00in00"
+ },
+ {
+ "index": 67,
+ "attached_to": 59,
+ "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": "30c9",
+ "name": "8SSC21K12273V1SR3852953",
+ "value": 12489
+ },
+ "device": {
+ "hex": "00ac",
+ "name": "Integrated Camera",
+ "value": 172
+ },
+ "revision": {
+ "hex": "0000",
+ "name": "0.08",
+ "value": 0
+ },
+ "serial": "01.00.00",
+ "model": "8SSC21K12273V1SR3852953 Integrated Camera",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.2",
+ "sysfs_bus_id": "3-7: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": "00fe",
+ "name": "application",
+ "value": 254
+ },
+ "interface_subclass": {
+ "hex": "0001",
+ "name": "audio",
+ "value": 1
+ },
+ "interface_protocol": 1,
+ "interface_number": 2,
+ "interface_alternate_setting": 0
+ },
+ "hotplug": "usb",
+ "module_alias": "usb:v30C9p00ACd0008dcEFdsc02dp01icFEisc01ip01in02"
+ }
+ ],
+ "usb_controller": [
+ {
+ "index": 25,
+ "attached_to": 0,
+ "class_list": [
+ "usb_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 13
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0003",
+ "name": "USB Controller",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0030",
+ "value": 48
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "a71e",
+ "value": 42782
+ },
+ "sub_device": {
+ "hex": "3803",
+ "value": 14339
+ },
+ "model": "Intel USB Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:0d.0",
+ "sysfs_bus_id": "0000:00:0d.0",
+ "sysfs_iommu_group_id": 7,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 128,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420975345664,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 128,
+ "prog_if": 48
+ },
+ "driver": "xhci_hcd",
+ "drivers": [
+ "xhci_hcd"
+ ],
+ "module_alias": "pci:v00008086d0000A71Esv000017AAsd00003803bc0Csc03i30"
+ },
+ {
+ "index": 50,
+ "attached_to": 0,
+ "class_list": [
+ "usb_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 20
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0003",
+ "name": "USB Controller",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0030",
+ "value": 48
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "17aa",
+ "value": 6058
+ },
+ "device": {
+ "hex": "51ed",
+ "value": 20973
+ },
+ "sub_device": {
+ "hex": "3851",
+ "value": 14417
+ },
+ "revision": {
+ "hex": "0001",
+ "value": 1
+ },
+ "model": "Intel USB Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:14.0",
+ "sysfs_bus_id": "0000:00:14.0",
+ "sysfs_iommu_group_id": 9,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 136,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 1582825472,
+ "range": 65536,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 0,
+ "command": 1030,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 136,
+ "prog_if": 48
+ },
+ "driver": "xhci_hcd",
+ "drivers": [
+ "xhci_hcd"
+ ],
+ "module_alias": "pci:v00008086d000051EDsv000017AAsd00003851bc0Csc03i30"
+ },
+ {
+ "index": 52,
+ "attached_to": 0,
+ "class_list": [
+ "usb_controller",
+ "pci"
+ ],
+ "bus_type": {
+ "hex": "0004",
+ "name": "PCI",
+ "value": 4
+ },
+ "slot": {
+ "bus": 0,
+ "number": 13
+ },
+ "base_class": {
+ "hex": "000c",
+ "name": "Serial bus controller",
+ "value": 12
+ },
+ "sub_class": {
+ "hex": "0003",
+ "name": "USB Controller",
+ "value": 3
+ },
+ "pci_interface": {
+ "hex": "0040",
+ "value": 64
+ },
+ "vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "sub_vendor": {
+ "hex": "8086",
+ "name": "Intel Corporation",
+ "value": 32902
+ },
+ "device": {
+ "hex": "a73e",
+ "value": 42814
+ },
+ "sub_device": {
+ "hex": "7270",
+ "value": 29296
+ },
+ "model": "Intel USB Controller",
+ "sysfs_id": "/devices/pci0000:00/0000:00:0d.2",
+ "sysfs_bus_id": "0000:00:0d.2",
+ "sysfs_iommu_group_id": 7,
+ "resources": [
+ {
+ "type": "irq",
+ "base": 16,
+ "triggered": 0,
+ "enabled": true
+ },
+ {
+ "type": "mem",
+ "base": 420974952448,
+ "range": 262144,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ },
+ {
+ "type": "mem",
+ "base": 420975493120,
+ "range": 4096,
+ "enabled": true,
+ "access": "read_write",
+ "prefetch": "no"
+ }
+ ],
+ "detail": {
+ "function": 2,
+ "command": 1031,
+ "header_type": 0,
+ "secondary_bus": 0,
+ "irq": 16,
+ "prog_if": 64
+ },
+ "driver": "thunderbolt",
+ "driver_module": "thunderbolt",
+ "drivers": [
+ "thunderbolt"
+ ],
+ "driver_modules": [
+ "thunderbolt"
+ ],
+ "driver_info": {
+ "type": "module",
+ "db_entry_0": [
+ "thunderbolt"
+ ],
+ "active": true,
+ "modprobe": true,
+ "names": [
+ "thunderbolt"
+ ],
+ "module_args": [
+ ""
+ ],
+ "conf": ""
+ },
+ "module_alias": "pci:v00008086d0000A73Esv00008086sd00007270bc0Csc03i40"
+ }
+ ]
+ },
+ "smbios": {
+ "bios": {
+ "handle": 0,
+ "vendor": "LENOVO",
+ "version": "M0CN38WW",
+ "date": "07/01/2024",
+ "features": [
+ "PCI supported",
+ "BIOS flashable",
+ "BIOS shadowing allowed",
+ "CD boot supported",
+ "Selectable boot supported",
+ "EDD spec supported",
+ "1.2MB NEC 9800 Japanese Floppy supported",
+ "1.2MB Toshiba Japanese Floppy supported",
+ "360kB Floppy supported",
+ "1.2MB Floppy supported",
+ "720kB Floppy supported",
+ "2.88MB Floppy supported",
+ "8042 Keyboard Services supported",
+ "CGA/Mono Video supported",
+ "ACPI supported",
+ "USB Legacy supported",
+ "BIOS Boot Spec supported"
+ ],
+ "start_address": "0xe0000",
+ "rom_size": 16777216
+ },
+ "board": {
+ "handle": 2,
+ "manufacturer": "LENOVO",
+ "product": "LNVNB161216",
+ "version": "SDK0T76461 WIN",
+ "board_type": {
+ "hex": "000a",
+ "name": "Motherboard",
+ "value": 10
+ },
+ "features": [
+ "Hosting Board",
+ "Replaceable"
+ ],
+ "location": "Type2 - Board Chassis Location",
+ "chassis": 3
+ },
+ "cache": [
+ {
+ "handle": 5,
+ "socket": "L1 Cache",
+ "size_max": 288,
+ "size_current": 288,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 0,
+ "ecc": {
+ "hex": "0004",
+ "name": "Parity",
+ "value": 4
+ },
+ "cache_type": {
+ "hex": "0004",
+ "name": "Data",
+ "value": 4
+ },
+ "associativity": {
+ "hex": "0009",
+ "name": "Other",
+ "value": 9
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 6,
+ "socket": "L1 Cache",
+ "size_max": 192,
+ "size_current": 192,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 0,
+ "ecc": {
+ "hex": "0004",
+ "name": "Parity",
+ "value": 4
+ },
+ "cache_type": {
+ "hex": "0003",
+ "name": "Instruction",
+ "value": 3
+ },
+ "associativity": {
+ "hex": "0007",
+ "name": "8-way Set-Associative",
+ "value": 7
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 7,
+ "socket": "L2 Cache",
+ "size_max": 7680,
+ "size_current": 7680,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 1,
+ "ecc": {
+ "hex": "0005",
+ "name": "Single-bit",
+ "value": 5
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 8,
+ "socket": "L3 Cache",
+ "size_max": 24576,
+ "size_current": 24576,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 2,
+ "ecc": {
+ "hex": "0006",
+ "name": "Multi-bit",
+ "value": 6
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0009",
+ "name": "Other",
+ "value": 9
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 9,
+ "socket": "L1 Cache",
+ "size_max": 256,
+ "size_current": 256,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 0,
+ "ecc": {
+ "hex": "0004",
+ "name": "Parity",
+ "value": 4
+ },
+ "cache_type": {
+ "hex": "0004",
+ "name": "Data",
+ "value": 4
+ },
+ "associativity": {
+ "hex": "0007",
+ "name": "8-way Set-Associative",
+ "value": 7
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 10,
+ "socket": "L1 Cache",
+ "size_max": 512,
+ "size_current": 512,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 0,
+ "ecc": {
+ "hex": "0004",
+ "name": "Parity",
+ "value": 4
+ },
+ "cache_type": {
+ "hex": "0003",
+ "name": "Instruction",
+ "value": 3
+ },
+ "associativity": {
+ "hex": "0007",
+ "name": "8-way Set-Associative",
+ "value": 7
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 11,
+ "socket": "L2 Cache",
+ "size_max": 4096,
+ "size_current": 4096,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 1,
+ "ecc": {
+ "hex": "0005",
+ "name": "Single-bit",
+ "value": 5
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0008",
+ "name": "16-way Set-Associative",
+ "value": 8
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ },
+ {
+ "handle": 12,
+ "socket": "L3 Cache",
+ "size_max": 24576,
+ "size_current": 24576,
+ "speed": 0,
+ "mode": {
+ "hex": "0001",
+ "name": "Write Back",
+ "value": 1
+ },
+ "enabled": true,
+ "location": {
+ "hex": "0000",
+ "name": "Internal",
+ "value": 0
+ },
+ "socketed": false,
+ "level": 2,
+ "ecc": {
+ "hex": "0006",
+ "name": "Multi-bit",
+ "value": 6
+ },
+ "cache_type": {
+ "hex": "0005",
+ "name": "Unified",
+ "value": 5
+ },
+ "associativity": {
+ "hex": "0009",
+ "name": "Other",
+ "value": 9
+ },
+ "sram_type_current": [
+ "Synchronous"
+ ],
+ "sram_type_supported": [
+ "Synchronous"
+ ]
+ }
+ ],
+ "chassis": {
+ "handle": 3,
+ "manufacturer": "LENOVO",
+ "version": "Legion Slim 7 16IRH8",
+ "chassis_type": {
+ "hex": "000a",
+ "name": "Notebook",
+ "value": 10
+ },
+ "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": 36,
+ "options": [
+ "ConfigOptions1",
+ "ConfigOptions2",
+ "ConfigOptions3"
+ ]
+ },
+ "group_associations": [
+ {
+ "handle": 38,
+ "name": "$MEI",
+ "handles": [
+ 63
+ ]
+ },
+ {
+ "handle": 71,
+ "name": "Firmware Version Info",
+ "handles": [
+ 279172874304,
+ 283467841601,
+ 287762808898,
+ 292057776195,
+ 296352743492,
+ 141733920837
+ ]
+ },
+ {
+ "handle": 48,
+ "power": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "keyboard": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "admin": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ },
+ "reset": {
+ "hex": "0000",
+ "name": "Disabled",
+ "value": 0
+ }
+ }
+ ],
+ "language": [
+ {
+ "handle": 37,
+ "languages": [
+ "en|US|iso8859-1,0",
+ "fr|FR|iso8859-1,0",
+ "zh|TW|unicode,0",
+ "ja|JP|unicode,0",
+ "it|IT|iso8859-1,0",
+ "es|ES|iso8859-1,0",
+ "de|DE|iso8859-1,0",
+ "pt|PT|iso8859-1,0"
+ ]
+ }
+ ],
+ "memory_array": [
+ {
+ "handle": 40,
+ "location": {
+ "hex": "0003",
+ "name": "Motherboard",
+ "value": 3
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "System memory",
+ "value": 3
+ },
+ "ecc": {
+ "hex": "0003",
+ "name": "None",
+ "value": 3
+ },
+ "max_size": 67108864,
+ "error_handle": 65534,
+ "slots": 2
+ }
+ ],
+ "memory_array_mapped_address": [
+ {
+ "handle": 43,
+ "array_handle": 40,
+ "start_address": 0,
+ "end_address": 34359738368,
+ "part_width": 2
+ }
+ ],
+ "memory_device": [
+ {
+ "handle": 41,
+ "location": "Controller0-ChannelA-DIMM0",
+ "bank_location": "BANK 0",
+ "manufacturer": "G Skill Intl",
+ "part_number": "F5-4800S3434A16G",
+ "array_handle": 40,
+ "error_handle": 65534,
+ "width": 64,
+ "ecc_bits": 0,
+ "size": 16777216,
+ "form_factor": {
+ "hex": "000d",
+ "name": "SODIMM",
+ "value": 13
+ },
+ "set": 0,
+ "memory_type": {
+ "hex": "0022",
+ "name": "Other",
+ "value": 34
+ },
+ "memory_type_details": [
+ "Synchronous"
+ ],
+ "speed": 4800
+ },
+ {
+ "handle": 42,
+ "location": "Controller1-ChannelA",
+ "bank_location": "BANK 0",
+ "manufacturer": "Samsung",
+ "part_number": "M425R2GA3BB0-CWMOL",
+ "array_handle": 40,
+ "error_handle": 65534,
+ "width": 64,
+ "ecc_bits": 0,
+ "size": 16777216,
+ "form_factor": {
+ "hex": "000d",
+ "name": "SODIMM",
+ "value": 13
+ },
+ "set": 0,
+ "memory_type": {
+ "hex": "0022",
+ "name": "Other",
+ "value": 34
+ },
+ "memory_type_details": [
+ "Synchronous"
+ ],
+ "speed": 5600
+ }
+ ],
+ "memory_device_mapped_address": [
+ {
+ "handle": 44,
+ "memory_device_handle": 41,
+ "array_map_handle": 43,
+ "start_address": 0,
+ "end_address": 17179869184,
+ "row_position": 255,
+ "interleave_position": 1,
+ "interleave_depth": 1
+ },
+ {
+ "handle": 45,
+ "memory_device_handle": 42,
+ "array_map_handle": 43,
+ "start_address": 0,
+ "end_address": 17179869184,
+ "row_position": 255,
+ "interleave_position": 1,
+ "interleave_depth": 1
+ }
+ ],
+ "pointing_device": [
+ {
+ "handle": 46,
+ "mouse_type": {
+ "hex": "0007",
+ "name": "Touch Pad",
+ "value": 7
+ },
+ "interface": {
+ "hex": "0004",
+ "name": "PS/2",
+ "value": 4
+ },
+ "buttons": 4
+ }
+ ],
+ "port_connector": [
+ {
+ "handle": 13,
+ "port_type": {
+ "hex": "000d",
+ "name": "Keyboard Port",
+ "value": 13
+ },
+ "internal_reference_designator": "J1A1",
+ "external_connector_type": {
+ "hex": "000f",
+ "name": "PS/2",
+ "value": 15
+ },
+ "external_reference_designator": "Keyboard"
+ },
+ {
+ "handle": 14,
+ "port_type": {
+ "hex": "000e",
+ "name": "Mouse Port",
+ "value": 14
+ },
+ "internal_reference_designator": "J1A1",
+ "external_connector_type": {
+ "hex": "000f",
+ "name": "PS/2",
+ "value": 15
+ },
+ "external_reference_designator": "Mouse"
+ },
+ {
+ "handle": 15,
+ "port_type": {
+ "hex": "001c",
+ "name": "Video Port",
+ "value": 28
+ },
+ "internal_reference_designator": "J2A1",
+ "external_connector_type": {
+ "hex": "000d",
+ "name": "Mini-DIN",
+ "value": 13
+ },
+ "external_reference_designator": "TV OUT"
+ },
+ {
+ "handle": 16,
+ "port_type": {
+ "hex": "001c",
+ "name": "Video Port",
+ "value": 28
+ },
+ "internal_reference_designator": "J2A2",
+ "external_connector_type": {
+ "hex": "0007",
+ "name": "DB-15 pin female",
+ "value": 7
+ },
+ "external_reference_designator": "CRT"
+ },
+ {
+ "handle": 17,
+ "port_type": {
+ "hex": "0009",
+ "name": "Serial Port 16550A Compatible",
+ "value": 9
+ },
+ "internal_reference_designator": "J2A2",
+ "external_connector_type": {
+ "hex": "0008",
+ "name": "DB-9 pin male",
+ "value": 8
+ },
+ "external_reference_designator": "COM 1"
+ },
+ {
+ "handle": 18,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 19,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 20,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J3A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 21,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 22,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 23,
+ "port_type": {
+ "hex": "0010",
+ "name": "USB",
+ "value": 16
+ },
+ "internal_reference_designator": "J5A2",
+ "external_connector_type": {
+ "hex": "0012",
+ "name": "Access Bus [USB]",
+ "value": 18
+ },
+ "external_reference_designator": "USB"
+ },
+ {
+ "handle": 24,
+ "port_type": {
+ "hex": "001f",
+ "name": "Network Port",
+ "value": 31
+ },
+ "internal_reference_designator": "J5A1",
+ "external_connector_type": {
+ "hex": "000b",
+ "name": "RJ-45",
+ "value": 11
+ },
+ "external_reference_designator": "Network"
+ },
+ {
+ "handle": 25,
+ "port_type": {
+ "hex": "00ff",
+ "name": "Other",
+ "value": 255
+ },
+ "internal_connector_type": {
+ "hex": "0017",
+ "name": "On Board Floppy",
+ "value": 23
+ },
+ "internal_reference_designator": "J9G2",
+ "external_reference_designator": "OnBoard Floppy Type"
+ },
+ {
+ "handle": 26,
+ "port_type": {
+ "hex": "00ff",
+ "name": "Other",
+ "value": 255
+ },
+ "internal_connector_type": {
+ "hex": "0016",
+ "name": "On Board IDE",
+ "value": 22
+ },
+ "internal_reference_designator": "J7J1",
+ "external_reference_designator": "OnBoard Primary IDE"
+ },
+ {
+ "handle": 27,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Microphone In"
+ },
+ {
+ "handle": 28,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Line In"
+ },
+ {
+ "handle": 29,
+ "port_type": {
+ "hex": "001d",
+ "name": "Audio Port",
+ "value": 29
+ },
+ "internal_reference_designator": "J30",
+ "external_connector_type": {
+ "hex": "001f",
+ "name": "Mini-jack [headphones]",
+ "value": 31
+ },
+ "external_reference_designator": "Speaker Out"
+ }
+ ],
+ "processor": [
+ {
+ "handle": 4,
+ "socket": "U3E1",
+ "socket_type": {
+ "hex": "0041",
+ "name": "Other",
+ "value": 65
+ },
+ "socket_populated": true,
+ "manufacturer": "Intel(R) Corporation",
+ "version": "13th Gen Intel(R) Core(TM) i9-13900H",
+ "part": "To Be Filled By O.E.M.",
+ "processor_type": {
+ "hex": "0003",
+ "name": "CPU",
+ "value": 3
+ },
+ "processor_family": {
+ "hex": "00cf",
+ "name": "Other",
+ "value": 207
+ },
+ "processor_status": {
+ "hex": "0001",
+ "name": "Enabled",
+ "value": 1
+ },
+ "clock_ext": 100,
+ "clock_max": 5400,
+ "cache_handle_l1": 10,
+ "cache_handle_l2": 11,
+ "cache_handle_l3": 12
+ }
+ ],
+ "slot": [
+ {
+ "handle": 30,
+ "designation": "J6C1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 1,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 31,
+ "designation": "J6D2",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 2,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 32,
+ "designation": "J7C1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 3,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 33,
+ "designation": "J7D1",
+ "slot_type": {
+ "hex": "00a6",
+ "name": "Other",
+ "value": 166
+ },
+ "bus_width": {
+ "hex": "0008",
+ "name": "Other",
+ "value": 8
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 4,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ },
+ {
+ "handle": 34,
+ "designation": "J8C1",
+ "slot_type": {
+ "hex": "00a8",
+ "name": "Other",
+ "value": 168
+ },
+ "bus_width": {
+ "hex": "000a",
+ "name": "Other",
+ "value": 10
+ },
+ "usage": {
+ "hex": "0003",
+ "name": "Available",
+ "value": 3
+ },
+ "length": {
+ "hex": "0001",
+ "name": "Other",
+ "value": 1
+ },
+ "id": 5,
+ "features": [
+ "PME#",
+ "Hot-Plug"
+ ]
+ }
+ ],
+ "system": {
+ "handle": 1,
+ "manufacturer": "LENOVO",
+ "product": "82Y3",
+ "version": "Legion Slim 7 16IRH8",
+ "wake_up": {
+ "hex": "0006",
+ "name": "Power Switch",
+ "value": 6
+ }
+ }
+ }
+}