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 + } + } + } +}