diff --git a/.sops.yaml b/.sops.yaml index 9623167..19e09c1 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,7 +1,7 @@ # Public keys are combination of host + user keys: - - &laptop_root age1w99m9klvc7m5qtmtmu3l0jx8ksdzp5c4p9rkvh5fdullfc6afemqv5py2q - - &laptop_pim age189laethzry4ylnd790dmpuc4xjjuwqxruc76caj3ceqhqug4g9qs0upuvw + - &sue_root age1w99m9klvc7m5qtmtmu3l0jx8ksdzp5c4p9rkvh5fdullfc6afemqv5py2q + - &sue_pim age189laethzry4ylnd790dmpuc4xjjuwqxruc76caj3ceqhqug4g9qs0upuvw - &gamepc_root age1y5wgcxmn37drmjtpgld3xc76mw8dckhred8hecusywjlvdyfedfse8y60u - &gamepc_pim age1qlldg2c6kptvnmvlkpf9pae3wnczk6eklcmwdvnzyvvnur3aqdcq3c3trt - &warwick_root age1th8rdw4fs3vmgy9gzc0k9xy88tddjj4vasepckfx9h4nlzsg3q3q4cjgwu @@ -11,36 +11,36 @@ keys: - &lewis_root age108fn93z2c55g9dm9cv5v4w47pykf3khz7e3dmnpv5dhchwnaau0qs20stq creation_rules: - - path_regex: secrets/blocktech/colmena.yaml + - path_regex: secrets/sue/colmena.yaml key_groups: - age: - - *laptop_root - - path_regex: secrets/blocktech/nixos.yaml + - *sue_root + - path_regex: secrets/sue/nixos.yaml key_groups: - age: - - *laptop_root - - path_regex: secrets/blocktech/pkunis.yaml + - *sue_root + - path_regex: secrets/sue/pim.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - path_regex: secrets/gamepc/colmena.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - path_regex: secrets/gamepc/pim.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *gamepc_root - *gamepc_pim - path_regex: secrets/warwick/colmena.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/servers.yaml key_groups: @@ -49,14 +49,14 @@ creation_rules: - *atlas_root - *jefke_root - *lewis_root - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/atlas/colmena.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/kubernetes.yaml key_groups: @@ -64,25 +64,25 @@ creation_rules: - *atlas_root - *jefke_root - *lewis_root - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/jefke/colmena.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/lewis/colmena.yaml key_groups: - age: - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels - path_regex: secrets/lewis/nixos.yaml key_groups: - age: - *lewis_root - - *laptop_pim - - *laptop_root + - *sue_pim + - *sue_root - *niels diff --git a/README.md b/README.md index 76315dc..d31f501 100644 --- a/README.md +++ b/README.md @@ -3,33 +3,33 @@ NixOS configurations for the machines I manage. Currently managed systems: - -- **blocktech**: My current laptop, a ThinkPad P1 running GNOME. +- **sue**: My current laptop, a Dell XPS 9315. It has two flavours: + - Default running GNOME + - Specialisation running Cosmic - **gamepc**: My gaming PC running Cinnamon - **warwick**: A Raspberry Pi 4 Model B, which mostly does some monitoring - **atlas**: A Gigabyte Brix, one of my Kubernetes nodes - **jefke**: A Gigabyte Brix, one of my Kubernetes nodes -- **lewis**: A Gigabyte Brix, one of my Kubernetes nodes. Additionally, contains - my media collection and does backups. +- **lewis**: A Gigabyte Brix, one of my Kubernetes nodes. Additionally, contains my media collection and does backups. ## Deployment I use [Colmena](https://colmena.cli.rs) for deploying my machines. Create garbage collection roots like so: - -```shell -colmena build --keep-result +``` +colmena build --keep-result --experimental-flake-eval ``` To apply to the local machine: - -```shell -sudo colmena apply-local --sudo +``` +sudo colmena apply-local --sudo --experimental-flake-eval ``` To apply to all remotely managed systems: - -```shell -colmena apply ``` +colmena apply --experimental-flake-eval +``` + +> [!NOTE] +> Currently the `--experimental-flake-eval` flag is necessary to properly use Colmena with flakes. See [this PR](https://github.com/zhaofengli/colmena/pull/228). diff --git a/colmena.nix b/colmena.nix index a9f812e..5b427e2 100644 --- a/colmena.nix +++ b/colmena.nix @@ -15,9 +15,9 @@ inputs @ { }; }; - blocktech = { + sue = { imports = [ - (import ./machines).blocktech.nixosModule + (import ./machines).sue.nixosModule ./nixos ]; }; diff --git a/flake.lock b/flake.lock index 693946c..2156f8f 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "lastModified": 1708890466, + "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "rev": "665b3c6748534eb766c777298721cece9453fdae", "type": "github" }, "original": { @@ -34,14 +34,30 @@ "type": "github" } }, + "base16-foot": { + "flake": false, + "locked": { + "lastModified": 1696725948, + "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "owner": "tinted-theming", + "repo": "base16-foot", + "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-foot", + "type": "github" + } + }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1720809814, + "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625", "type": "github" }, "original": { @@ -50,20 +66,51 @@ "type": "github" } }, + "base16-kitty": { + "flake": false, + "locked": { + "lastModified": 1665001328, + "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "owner": "kdrag0n", + "repo": "base16-kitty", + "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "type": "github" + }, + "original": { + "owner": "kdrag0n", + "repo": "base16-kitty", + "type": "github" + } + }, + "base16-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "base16-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-tmux", + "type": "github" + } + }, "base16-vim": { "flake": false, "locked": { - "lastModified": 1732806396, - "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "lastModified": 1716150083, + "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", "owner": "tinted-theming", "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", "type": "github" } }, @@ -76,11 +123,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1746816769, - "narHash": "sha256-ymQzXrfHVT8/RJiGbfrNjEeuzXQan46lUJdxEhgivdM=", + "lastModified": 1731527002, + "narHash": "sha256-dI9I6suECoIAmbS4xcrqF8r2pbmed8WWm5LIF1yWPw8=", "owner": "zhaofengli", "repo": "colmena", - "rev": "df694ee23be7ed7b2d8b42c245a640f0724eb06c", + "rev": "e3ad42138015fcdf2524518dd564a13145c72ea1", "type": "github" }, "original": { @@ -129,11 +176,11 @@ ] }, "locked": { - "lastModified": 1748225455, - "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -142,22 +189,6 @@ "type": "github" } }, - "firefox-gnome-theme": { - "flake": false, - "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", - "type": "github" - }, - "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -225,11 +256,11 @@ "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -239,12 +270,29 @@ } }, "flake-compat_6": { + "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -282,71 +330,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1704152458, + "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", "type": "github" }, "original": { @@ -408,14 +396,17 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_4" + "systems": [ + "stylix", + "systems" + ] }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -427,11 +418,11 @@ "fromYaml": { "flake": false, "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "lastModified": 1689549921, + "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", "owner": "SenchoPens", "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", "type": "github" }, "original": { @@ -446,40 +437,15 @@ "gitignore": "gitignore", "nixpkgs": [ "nixpkgs-unstable" - ] - }, - "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_2": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" ], - "gitignore": "gitignore_3", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -531,28 +497,6 @@ "type": "github" } }, - "gitignore_3": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "globset": { "inputs": { "nixpkgs-lib": [ @@ -577,16 +521,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1744584021, - "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", + "lastModified": 1713702291, + "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", + "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", "type": "github" }, "original": { "owner": "GNOME", - "ref": "48.1", + "ref": "46.1", "repo": "gnome-shell", "type": "github" } @@ -598,16 +542,16 @@ ] }, "locked": { - "lastModified": 1748665073, - "narHash": "sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew=", + "lastModified": 1733050161, + "narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=", "owner": "nix-community", "repo": "home-manager", - "rev": "282e1e029cb6ab4811114fc85110613d72771dea", + "rev": "62d536255879be574ebfe9b87c4ac194febf47c5", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -620,16 +564,15 @@ ] }, "locked": { - "lastModified": 1748665073, - "narHash": "sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew=", + "lastModified": 1724435763, + "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "owner": "nix-community", "repo": "home-manager", - "rev": "282e1e029cb6ab4811114fc85110613d72771dea", + "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -684,47 +627,6 @@ "type": "github" } }, - "mnw": { - "locked": { - "lastModified": 1748278309, - "narHash": "sha256-JCeiMrUhFku44kfKsgiD9Ibzho4MblBD2WmOQYsQyTY=", - "owner": "Gerg-L", - "repo": "mnw", - "rev": "486a17ba1279ab2357cae8ff66b309db622f8831", - "type": "github" - }, - "original": { - "owner": "Gerg-L", - "repo": "mnw", - "type": "github" - } - }, - "nil": { - "inputs": { - "flake-utils": [ - "nvf", - "flake-utils" - ], - "nixpkgs": [ - "nvf", - "nixpkgs" - ], - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1741118843, - "narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=", - "owner": "oxalica", - "repo": "nil", - "rev": "577d160da311cc7f5042038456a0713e9863d09e", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "nil", - "type": "github" - } - }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -753,11 +655,11 @@ ] }, "locked": { - "lastModified": 1748751003, - "narHash": "sha256-i4GZdKAK97S0ZMU3w4fqgEJr0cVywzqjugt2qZPrScs=", + "lastModified": 1733024876, + "narHash": "sha256-vy9Q41hBE7Zg0yakF79neVgb3i3PQMSMR7uHPpPywFE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "2860bee699248d828c2ed9097a1cd82c2f991b43", + "rev": "6e0b7f81367069589a480b91603a10bcf71f3103", "type": "github" }, "original": { @@ -776,11 +678,11 @@ ] }, "locked": { - "lastModified": 1734289443, - "narHash": "sha256-oU3AGvzByR7622kntPUPIHfAreOIktAsJav2ATHuc18=", + "lastModified": 1730022297, + "narHash": "sha256-eVMEONp3yqu0gy0RtOSEpOAueXuQsGQVqac3qCJixMU=", "owner": "pdtpartners", "repo": "nix-snapshotter", - "rev": "387e220d369dfa0ad093035515e8757f83144be8", + "rev": "c738f1a16a8612dfc474a4424bacff7e89369ca3", "type": "github" }, "original": { @@ -813,11 +715,11 @@ "nixos-artwork": { "flake": false, "locked": { - "lastModified": 1745433976, - "narHash": "sha256-9PCkx6Rn9v4/k7obMI9jl+4L8sVesEJFT8EC/I0OMZw=", + "lastModified": 1731943625, + "narHash": "sha256-XquSEijNYtGDkW35bibT2ki18qicENCsIcDzDxrgQkM=", "ref": "refs/heads/master", - "rev": "4ad062cee62116f6055e2876e9638e7bb399d219", - "revCount": 217, + "rev": "63f68a917f4e8586c5d35e050cdaf1309832272d", + "revCount": 214, "type": "git", "url": "https://github.com/NixOS/nixos-artwork.git" }, @@ -826,13 +728,36 @@ "url": "https://github.com/NixOS/nixos-artwork.git" } }, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat_6", + "nixpkgs": "nixpkgs_2", + "nixpkgs-stable": [ + "nixpkgs-unstable" + ], + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1733328873, + "narHash": "sha256-tvy/IE0qwY37JcSZhhqNbhvVi1xdWrMRsLZ6D/+0Eyw=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "2e87e0f9f40a31396ed94b4a42595662c2eeaf31", + "type": "github" + }, + "original": { + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "type": "github" + } + }, "nixos-facter-modules": { "locked": { - "lastModified": 1743671943, - "narHash": "sha256-7sYig0+RcrR3sOL5M+2spbpFUHyEP7cnUvCaqFOBjyU=", + "lastModified": 1732288619, + "narHash": "sha256-zSQ2cR+NRJfHUVfkv+O6Wi53wXfzX8KHiO8fRfnvc0M=", "owner": "numtide", "repo": "nixos-facter-modules", - "rev": "58ad9691670d293a15221d4a78818e0088d2e086", + "rev": "862648589993a96480c2255197a28feea712f68f", "type": "github" }, "original": { @@ -843,11 +768,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1748634340, - "narHash": "sha256-pZH4bqbOd8S+si6UcfjHovWDiWKiIGRNRMpmRWaDIms=", + "lastModified": 1733217105, + "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "daa628a725ab4948e0e2b795e8fb6f4c3e289a7a", + "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", "type": "github" }, "original": { @@ -859,11 +784,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746461020, - "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -873,38 +798,23 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-oldstable": { - "locked": { - "lastModified": 1748421225, - "narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "78add7b7abb61689e34fc23070a8f55e1d26185b", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1678872516, "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", @@ -922,11 +832,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1748662220, - "narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=", + "lastModified": 1733097829, + "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643", + "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", "type": "github" }, "original": { @@ -938,59 +848,59 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748437600, - "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", - "owner": "nixos", + "lastModified": 1732837521, + "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", + "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-25.05", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1733261153, + "narHash": "sha256-eq51hyiaIwtWo19fPEeE0Zr2s83DYMKJoukNLgGGpek=", "owner": "nixos", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "b681065d0919f7eb5309a93cea2cfa84dec9aa88", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_4": { "locked": { - "lastModified": 1748437600, - "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", + "lastModified": 1725194671, + "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", + "rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "5083ec887760adfe12af64830a66807423a859a7", "type": "github" }, "original": { @@ -1001,17 +911,12 @@ } }, "nur": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_3", - "treefmt-nix": "treefmt-nix" - }, "locked": { - "lastModified": 1748782935, - "narHash": "sha256-wjo1BhHoBFzdtj92LrAonR1eJ8j5dt1YhnkPpqaam38=", + "lastModified": 1733327348, + "narHash": "sha256-C9cakd/zcXDhzIeHjjzToBx8bEVqWVB53RUzpUcKboM=", "owner": "nix-community", "repo": "NUR", - "rev": "73385c8de1fac0066f513adc9a7e59d69f2327c2", + "rev": "81acc5a20ba2d84d206f61d2784147900965cd9f", "type": "github" }, "original": { @@ -1020,57 +925,6 @@ "type": "github" } }, - "nur_2": { - "inputs": { - "flake-parts": [ - "stylix", - "flake-parts" - ], - "nixpkgs": [ - "stylix", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1748730660, - "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", - "owner": "nix-community", - "repo": "NUR", - "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" - } - }, - "nvf": { - "inputs": { - "flake-parts": "flake-parts_4", - "flake-utils": "flake-utils_4", - "mnw": "mnw", - "nil": "nil", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_5" - }, - "locked": { - "lastModified": 1748651104, - "narHash": "sha256-GZLiCQlNV8QfAWwGinXeSdiKZS346ZGPv6EKzeY0tAA=", - "owner": "notashelf", - "repo": "nvf", - "rev": "c4cf91d4b531245a02f5b6c196f6279bc87a546f", - "type": "github" - }, - "original": { - "owner": "notashelf", - "repo": "nvf", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1086,7 +940,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1681413034, @@ -1115,17 +969,15 @@ "nix-snapshotter": "nix-snapshotter", "nixng": "nixng", "nixos-artwork": "nixos-artwork", + "nixos-cosmic": "nixos-cosmic", "nixos-facter-modules": "nixos-facter-modules", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", - "nixpkgs-oldstable": "nixpkgs-oldstable", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", - "nvf": "nvf", "sops-nix": "sops-nix", "stylix": "stylix", - "tinted-schemes": "tinted-schemes", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix" } }, "rust-overlay": { @@ -1156,17 +1008,16 @@ "rust-overlay_2": { "inputs": { "nixpkgs": [ - "nvf", - "nil", + "nixos-cosmic", "nixpkgs" ] }, "locked": { - "lastModified": 1741055476, - "narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=", + "lastModified": 1732933841, + "narHash": "sha256-dge02pUSe2QeC/B3PriA0R8eAX+EU3aDoXj9FcS3XDw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "aefb7017d710f150970299685e8d8b549d653649", + "rev": "c65e91d4a33abc3bc4a892d3c5b5b378bad64ea1", "type": "github" }, "original": { @@ -1182,11 +1033,11 @@ ] }, "locked": { - "lastModified": 1747603214, - "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", + "lastModified": 1733128155, + "narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", + "rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856", "type": "github" }, "original": { @@ -1197,16 +1048,16 @@ }, "stable": { "locked": { - "lastModified": 1746557022, - "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", + "lastModified": 1730883749, + "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", + "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -1215,36 +1066,29 @@ "inputs": { "base16": "base16", "base16-fish": "base16-fish", + "base16-foot": "base16-foot", "base16-helix": "base16-helix", + "base16-kitty": "base16-kitty", + "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_5", - "git-hooks": "git-hooks_2", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_4", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_4", - "nur": "nur_2", - "systems": "systems_6", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-schemes": [ - "tinted-schemes" - ], - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" + "systems": "systems_4" }, "locked": { - "lastModified": 1748798145, - "narHash": "sha256-GPVR1UT1r0J1Lgux0h28CVCqoh0dJ67qKn2k+CTL/TI=", - "owner": "nix-community", + "lastModified": 1726497442, + "narHash": "sha256-fieyqmLEJQqqnuJcg2CAnQ8kHapXHhg9rL48NNWjnPw=", + "owner": "pizzapim", "repo": "stylix", - "rev": "275e1acae94a1c5495352fd317a87377322a5259", + "rev": "149b313ddf91c3cc94309170498b162cec666675", "type": "github" }, "original": { - "owner": "nix-community", - "ref": "release-25.05", + "owner": "pizzapim", + "ref": "master", "repo": "stylix", "type": "github" } @@ -1308,117 +1152,6 @@ "type": "github" } }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, - "tinted-kitty": { - "flake": false, - "locked": { - "lastModified": 1735730497, - "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "type": "github" - } - }, - "tinted-schemes": { - "flake": false, - "locked": { - "lastModified": 1748180480, - "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", - "ref": "refs/heads/spec-0.11", - "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", - "revCount": 92, - "type": "git", - "url": "https://github.com/tinted-theming/schemes" - }, - "original": { - "type": "git", - "url": "https://github.com/tinted-theming/schemes" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1748740859, - "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } - }, "treefmt": { "inputs": { "nixpkgs": [ @@ -1441,58 +1174,15 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { "inputs": { "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1748243702, - "narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=", + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8cf6fbb..8533eaa 100644 --- a/flake.nix +++ b/flake.nix @@ -2,26 +2,16 @@ description = "My NixOS configuration"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; - nixpkgs-oldstable.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; + stylix.url = "github:pizzapim/stylix/master"; treefmt-nix.url = "github:numtide/treefmt-nix"; nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; flake-utils.url = "github:numtide/flake-utils"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; colmena.url = "github:zhaofengli/colmena"; - stylix = { - url = "github:nix-community/stylix/release-25.05"; - inputs.tinted-schemes.follows = "tinted-schemes"; - }; - - nvf = { - url = "github:notashelf/nvf"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - git-hooks = { url = "github:cachix/git-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs-unstable"; @@ -33,7 +23,7 @@ }; home-manager = { - url = "github:nix-community/home-manager?ref=release-25.05"; + url = "github:nix-community/home-manager?ref=release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -53,17 +43,16 @@ flake = false; }; - tinted-schemes = { - type = "git"; - url = "https://github.com/tinted-theming/schemes"; - flake = false; - }; - sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs-stable.follows = "nixpkgs-unstable"; + }; + nix-snapshotter = { url = "github:pdtpartners/nix-snapshotter"; inputs.nixpkgs.follows = "nixpkgs-unstable"; diff --git a/formatter.nix b/formatter.nix index e998dd4..74ce5d3 100644 --- a/formatter.nix +++ b/formatter.nix @@ -4,5 +4,5 @@ ... }: flake-utils.lib.eachDefaultSystem (system: { - inherit (self.packages.${system}) formatter; + formatter = self.packages.${system}.formatter; }) diff --git a/home-manager/default.nix b/home-manager/default.nix index c8b4032..7635cad 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -5,6 +5,7 @@ ... }: { imports = [ + ./neovim ./firefox ./tidal.nix ./gnome @@ -12,7 +13,6 @@ ./vscode.nix inputs.nix-index-database.hmModules.nix-index inputs.sops-nix.homeManagerModules.sops - inputs.nvf.homeManagerModules.default ]; xsession.enable = true; diff --git a/home-manager/firefox/default.nix b/home-manager/firefox/default.nix index 3f121d0..3af7f8b 100644 --- a/home-manager/firefox/default.nix +++ b/home-manager/firefox/default.nix @@ -30,7 +30,7 @@ in { id = 0; isDefault = true; settings = firefoxSettings; - extensions.packages = firefoxAddons; + extensions = firefoxAddons; }; }; }; diff --git a/home-manager/neovim/bufferline.lua b/home-manager/neovim/bufferline.lua new file mode 100644 index 0000000..ff9b448 --- /dev/null +++ b/home-manager/neovim/bufferline.lua @@ -0,0 +1,13 @@ +require("bufferline").setup({ + options = { + diagnostics = "nvim_lsp", + diagnostics_indicator = function(count, level, diagnostics_dict, context) + local icon = level:match("error") and " " or " " + return " " .. icon .. count + end, + separator_style = "slant", + hover = { enabled = true, reveal = { "close" } }, + }, +}) + +vim.keymap.set("n", "ft", ":BufferLinePick", {}) diff --git a/home-manager/neovim/cmp.lua b/home-manager/neovim/cmp.lua new file mode 100644 index 0000000..62b772b --- /dev/null +++ b/home-manager/neovim/cmp.lua @@ -0,0 +1,43 @@ +local cmp = require("cmp") +local luasnip = require("luasnip") + +require("luasnip.loaders.from_vscode").lazy_load() +luasnip.config.setup({}) + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete({}), + [""] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_locally_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.locally_jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }), + sources = { { name = "nvim_lsp" }, { name = "luasnip" } }, +}) diff --git a/home-manager/neovim/commentary.lua b/home-manager/neovim/commentary.lua new file mode 100644 index 0000000..ef07ed1 --- /dev/null +++ b/home-manager/neovim/commentary.lua @@ -0,0 +1,2 @@ +vim.cmd([[autocmd FileType nix setlocal commentstring=#%s]]) +vim.cmd([[autocmd FileType terraform setlocal commentstring=#%s]]) diff --git a/home-manager/neovim/core.lua b/home-manager/neovim/core.lua new file mode 100644 index 0000000..93c0dc2 --- /dev/null +++ b/home-manager/neovim/core.lua @@ -0,0 +1,9 @@ +vim.o.background = "dark" +vim.cmd([[colorscheme gruvbox]]) +vim.g.mapleader = ";" +vim.o.signcolumn = "yes" +vim.wo.number = true +vim.wo.relativenumber = true +vim.wo.cursorline = true +vim.opt.termguicolors = true +vim.o.mousemoveevent = true diff --git a/home-manager/neovim/default.nix b/home-manager/neovim/default.nix new file mode 100644 index 0000000..3cb10af --- /dev/null +++ b/home-manager/neovim/default.nix @@ -0,0 +1,91 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.pim.neovim; +in { + options.pim.neovim.enable = lib.mkEnableOption "neovim"; + + config = lib.mkIf cfg.enable { + programs.neovim = { + enable = true; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + defaultEditor = true; + extraLuaConfig = builtins.readFile ./core.lua; + + extraPackages = with pkgs; [ + nil + pyright + gopls + terraform-ls + nixfmt-classic + stylua + black + nixpkgs-fmt + ]; + + plugins = with pkgs.vimPlugins; [ + { + plugin = nvim-lspconfig; + type = "lua"; + config = builtins.readFile ./lspconfig.lua; + } + gruvbox-nvim + { + plugin = leap-nvim; + type = "lua"; + config = builtins.readFile ./leap.lua; + } + { + plugin = telescope-nvim; + type = "lua"; + config = builtins.readFile ./telescope.lua; + } + { + plugin = vim-commentary; + type = "lua"; + config = builtins.readFile ./commentary.lua; + } + vim-sleuth + { + plugin = gitsigns-nvim; + type = "lua"; + config = ''require("gitsigns").setup()''; + } + { + plugin = nvim-cmp; + type = "lua"; + config = builtins.readFile ./cmp.lua; + } + cmp-nvim-lsp + friendly-snippets + neodev-nvim + luasnip + cmp_luasnip + { + plugin = nvim-treesitter.withAllGrammars; + type = "lua"; + config = builtins.readFile ./treesitter.lua; + } + { + plugin = bufferline-nvim; + type = "lua"; + config = builtins.readFile ./bufferline.lua; + } + nvim-web-devicons + lsp-format-nvim + { + plugin = pkgs.vimPlugins.none-ls-nvim; + type = "lua"; + config = builtins.readFile ./none-ls.lua; + } + ]; + }; + + programs.git.extraConfig.core.editor = "nvim"; + }; +} diff --git a/home-manager/neovim/leap.lua b/home-manager/neovim/leap.lua new file mode 100644 index 0000000..2b15d73 --- /dev/null +++ b/home-manager/neovim/leap.lua @@ -0,0 +1,4 @@ +require("leap").add_default_mappings() +-- Don't remap 'x' in visual mode. +vim.keymap.del({ "x", "o" }, "x") +vim.keymap.del({ "x", "o" }, "X") diff --git a/home-manager/neovim/lspconfig.lua b/home-manager/neovim/lspconfig.lua new file mode 100644 index 0000000..523ec86 --- /dev/null +++ b/home-manager/neovim/lspconfig.lua @@ -0,0 +1,65 @@ +require("lsp-format").setup({}) + +local on_attach = function(client, bufnr) + local bufmap = function(keys, func) + vim.keymap.set("n", keys, func, { buffer = bufnr }) + end + + bufmap("r", vim.lsp.buf.rename) + bufmap("a", vim.lsp.buf.code_action) + + bufmap("gd", vim.lsp.buf.definition) + bufmap("gD", vim.lsp.buf.declaration) + bufmap("gI", vim.lsp.buf.implementation) + bufmap("D", vim.lsp.buf.type_definition) + + bufmap("gr", require("telescope.builtin").lsp_references) + bufmap("s", require("telescope.builtin").lsp_document_symbols) + bufmap("S", require("telescope.builtin").lsp_dynamic_workspace_symbols) + + bufmap("K", vim.lsp.buf.hover) + + vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_) + vim.lsp.buf.format() + end, {}) +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) + +require("neodev").setup() +require("lspconfig").nil_ls.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) +require("lspconfig").pyright.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) +require("lspconfig").gopls.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) +require("lspconfig").terraformls.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) + +local function has_treefmt() + local git_root = vim.fn.systemlist("git rev-parse --show-toplevel")[1] + if vim.v.shell_error ~= 0 then + return false + end + local treefmt_path = git_root .. "/treefmt.nix" + return vim.fn.filereadable(treefmt_path) == 1 +end + +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = "*", + callback = function() + if vim.fn.expand("%:p") ~= vim.fn.getcwd() .. "/.git/COMMIT_EDITMSG" and has_treefmt() then + vim.cmd("silent !treefmt > /dev/null 2>&1") + end + end, + group = vim.api.nvim_create_augroup("TreefmtAutoformat", { clear = true }), +}) diff --git a/home-manager/neovim/none-ls.lua b/home-manager/neovim/none-ls.lua new file mode 100644 index 0000000..afc9805 --- /dev/null +++ b/home-manager/neovim/none-ls.lua @@ -0,0 +1,53 @@ +-- renamed to none-ls +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +local formatting = null_ls.builtins.formatting +local diagnostics = null_ls.builtins.diagnostics +local code_actions = null_ls.builtins.code_actions + +-- to setup format on save +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) + +require("null-ls").setup({ + sources = { + formatting.stylua, + formatting.black, + formatting.nixpkgs_fmt, + formatting.mix, + }, + + -- configure format on save + -- on_attach = function(current_client, bufnr) + -- if current_client.supports_method("textDocument/formatting") then + -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + -- vim.api.nvim_create_autocmd("BufWritePre", { + -- group = augroup, + -- buffer = bufnr, + -- callback = function() + -- vim.lsp.buf.format({ + -- filter = function(client) + -- -- only use null-ls for formatting instead of lsp server + -- return client.name == "null-ls" + -- end, + -- bufnr = bufnr, + -- }) + -- end, + -- }) + -- end + -- end, +}) + +-- formatting command +vim.api.nvim_create_user_command("Format", function() + vim.lsp.buf.format(nil, 10000) +end, {}) + +vim.keymap.set( + "n", + "fm", + ":Format", + { desc = "Format current buffer (also done on save)", noremap = true, silent = true } +) diff --git a/home-manager/neovim/telescope.lua b/home-manager/neovim/telescope.lua new file mode 100644 index 0000000..0dff4b5 --- /dev/null +++ b/home-manager/neovim/telescope.lua @@ -0,0 +1,17 @@ +local builtin = require("telescope.builtin") + +vim.keymap.set("n", "ff", builtin.find_files, {}) +vim.keymap.set("n", "fg", builtin.live_grep, {}) +vim.keymap.set("n", "fb", builtin.buffers, {}) +vim.keymap.set("n", "fr", builtin.lsp_references, {}) +vim.keymap.set("n", "fs", builtin.lsp_document_symbols, {}) + +require("telescope").setup({ + pickers = { + find_files = { theme = "dropdown" }, + live_grep = { theme = "dropdown" }, + buffers = { theme = "dropdown" }, + lsp_references = { theme = "dropdown" }, + lsp_document_symbols = { theme = "dropdown" }, + }, +}) diff --git a/home-manager/neovim/treesitter.lua b/home-manager/neovim/treesitter.lua new file mode 100644 index 0000000..1a873cf --- /dev/null +++ b/home-manager/neovim/treesitter.lua @@ -0,0 +1,9 @@ +require("nvim-treesitter.configs").setup({ + ensure_installed = {}, + + auto_install = false, + + highlight = { enable = true }, + + indent = { enable = true }, +}) diff --git a/home-manager/vscode.nix b/home-manager/vscode.nix index 4388f8f..df18541 100644 --- a/home-manager/vscode.nix +++ b/home-manager/vscode.nix @@ -12,22 +12,20 @@ in { programs.vscode = { enable = true; package = pkgs.vscodium; - profiles.default = { - extensions = with pkgs.vscode-extensions; [ - vscodevim.vim - marp-team.marp-vscode - jnoortheen.nix-ide - mkhl.direnv - ]; + extensions = with pkgs.vscode-extensions; [ + vscodevim.vim + marp-team.marp-vscode + jnoortheen.nix-ide + mkhl.direnv + ]; - userSettings = { - "nix.enableLanguageServer" = true; - "nix.serverPath" = lib.getExe pkgs.nil; - "terminal.integrated.defaultProfile.linux" = "fish"; - "explorer.confirmDragAndDrop" = false; - "explorer.confirmPasteNative" = false; - "explorer.confirmDelete" = false; - }; + userSettings = { + "nix.enableLanguageServer" = true; + "nix.serverPath" = lib.getExe pkgs.nil; + "terminal.integrated.defaultProfile.linux" = "fish"; + "explorer.confirmDragAndDrop" = false; + "explorer.confirmPasteNative" = false; + "explorer.confirmDelete" = false; }; }; }; diff --git a/machines/atlas/configuration.nix b/machines/atlas/configuration.nix index 373d393..eb1dda3 100644 --- a/machines/atlas/configuration.nix +++ b/machines/atlas/configuration.nix @@ -1,39 +1,27 @@ -{config, ...}: { +{ + config, + pkgs, + ... +}: { + imports = [./jellyseerr-module.nix]; + + disabledModules = ["services/misc/jellyseerr.nix"]; + config = { facter.reportPath = ./facter.json; system.stateVersion = "23.05"; users.users.root.openssh.authorizedKeys.keys = config.pim.ssh.keys.pim ++ config.pim.ssh.keys.niels; pim.k3s.serverAddr = "https://jefke.dmz:6443"; - pim.backups.borgBackups = { - freshrss = { - paths = ["/mnt/longhorn/persistent/volumes/freshrss"]; - deploymentName = "server"; - deploymentNamespace = "freshrss"; - }; - - nextcloud = { - paths = ["/mnt/longhorn/persistent/volumes/nextcloud"]; - deploymentName = "server"; - deploymentNamespace = "nextcloud"; - }; - - nextcloud-db = { - paths = ["/mnt/longhorn/persistent/volumes/nextcloud-db"]; - deploymentName = "database"; - deploymentNamespace = "nextcloud"; - }; - - authentik = { - paths = ["/mnt/longhorn/persistent/volumes/authentik-db" "/mnt/longhorn/persistent/volumes/authentik-redis"]; - scaleDeployments = false; - }; - }; - deployment = { targetHost = "atlas"; targetUser = "root"; tags = ["server" "kubernetes"]; }; + + services.jellyseerr = { + enable = true; + package = pkgs.callPackage ./jellyseerr.nix {}; + }; }; } diff --git a/machines/atlas/jellyseerr-module.nix b/machines/atlas/jellyseerr-module.nix new file mode 100644 index 0000000..05d5364 --- /dev/null +++ b/machines/atlas/jellyseerr-module.nix @@ -0,0 +1,76 @@ +{ + config, + pkgs, + lib, + ... +}: let + cfg = config.services.jellyseerr; +in { + meta.maintainers = with lib.maintainers; [camillemndn pizzapim]; + + options.services.jellyseerr = { + enable = lib.mkEnableOption ''Jellyseerr, a requests manager for Jellyfin''; + package = lib.mkPackageOption pkgs "jellyseerr" {}; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = ''Open port in the firewall for the Jellyseerr web interface.''; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 5055; + description = ''The port which the Jellyseerr web UI should listen to.''; + }; + + config_directory = lib.mkOption { + description = '' + The directory to save run-time configuration. + ''; + type = lib.types.str; + example = "/jellyseerr"; + default = "/var/lib/jellyseerr"; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.jellyseerr = { + description = "Jellyseerr, a requests manager for Jellyfin"; + after = ["network.target"]; + wantedBy = ["multi-user.target"]; + environment = { + PORT = toString cfg.port; + CONFIG_DIRECTORY = cfg.config_directory; + }; + serviceConfig = { + Type = "exec"; + StateDirectory = "jellyseerr"; + # WorkingDirectory = "${cfg.package}/libexec/jellyseerr/deps/jellyseerr"; + DynamicUser = true; + ExecStart = lib.getExe cfg.package; + # BindPaths = ["/var/lib/jellyseerr/:${cfg.package}/libexec/jellyseerr/deps/jellyseerr/config/"]; + Restart = "on-failure"; + ProtectHome = true; + ProtectSystem = "strict"; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectClock = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + NoNewPrivileges = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RemoveIPC = true; + PrivateMounts = true; + }; + }; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [cfg.port]; + }; + }; +} diff --git a/machines/atlas/jellyseerr.nix b/machines/atlas/jellyseerr.nix new file mode 100644 index 0000000..2b3b52f --- /dev/null +++ b/machines/atlas/jellyseerr.nix @@ -0,0 +1,89 @@ +{ + lib, + fetchFromGitHub, + makeWrapper, + node-pre-gyp, + nodejs, + pnpm_9, + python3, + stdenv, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "jellyseerr"; + version = "2.1.0"; + + src = with finalAttrs; + fetchFromGitHub { + owner = "Fallenbagel"; + repo = "jellyseerr"; + rev = "v${version}"; + hash = "sha256-5kaeqhjUy9Lgx4/uFcGRlAo+ROEOdTWc2m49rq8R8Hs="; + }; + + nativeBuildInputs = [ + nodejs + makeWrapper + pnpm_9.configHook + + # Needed for compiling sqlite3 and bcrypt from source + node-pre-gyp + python3 + ]; + + pnpmDeps = pnpm_9.fetchDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-xu6DeaBArQmnqEnIgjc1DTZujQebSkjuai9tMHeQWCk="; + }; + + buildPhase = '' + runHook preBuild + pnpm build + + # Fixes "SQLite package has not been found installed" at launch + pushd node_modules/sqlite3 + export CPPFLAGS="-I${nodejs}/include/node" + npm run install --build-from-source --nodedir=${nodejs}/include/node + popd + + pushd node_modules/bcrypt + export CPPFLAGS="-I${nodejs}/include/node" + npm run install --build-from-source --nodedir=${nodejs}/include/node + popd + + runHook postBuild + ''; + + preInstall = '' + mkdir $out + cp ./package.json $out + rm -r .next/cache + cp -R ./.next $out + cp -R ./dist $out + cp ./overseerr-api.yml $out + cp -R ./node_modules $out + ''; + + postInstall = '' + makeWrapper '${nodejs}/bin/node' "$out/bin/jellyseerr" \ + --chdir $out \ + --add-flags "$out/dist/index.js" \ + --set NODE_ENV production + ''; + + meta = with lib; { + description = "Fork of overseerr for jellyfin support"; + homepage = "https://github.com/Fallenbagel/jellyseerr"; + longDescription = '' + Jellyseerr is a free and open source software application for managing + requests for your media library. It is a a fork of Overseerr built to + bring support for Jellyfin & Emby media servers! + ''; + license = licenses.mit; + maintainers = with maintainers; [ + camillemndn + pizzapim + ]; + platforms = platforms.linux; + mainProgram = "jellyseerr"; + }; +}) diff --git a/machines/blocktech/configuration.nix b/machines/blocktech/configuration.nix deleted file mode 100644 index 1d2eae5..0000000 --- a/machines/blocktech/configuration.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - self, - pkgs, - lib, - inputs, - config, - ... -}: { - config = { - pim = { - lanzaboote.enable = false; - tidal.enable = false; - gnome.enable = true; - stylix.enable = true; - wireguard.enable = true; - sops-nix.usersWithSopsKeys = ["pkunis"]; - }; - - users.users.pkunis = { - isNormalUser = true; - extraGroups = ["wheel" "docker" "input" "wireshark" "dialout"]; - }; - - deployment = { - allowLocalDeployment = true; - targetHost = null; - tags = ["desktop"]; - }; - - facter.reportPath = ./facter.json; - home-manager.users.pkunis.imports = [./pkunis.home.nix]; - nix.settings.trusted-users = ["pkunis"]; - system.stateVersion = "23.05"; - sops.defaultSopsFile = "${self}/secrets/blocktech/nixos.yaml"; - - environment.systemPackages = with pkgs; [ - borgbackup - kubectl - nmap - poppler_utils # For pdfunite - silicon - units - ]; - - virtualisation = { - libvirtd.enable = true; - - docker = { - enable = true; - - rootless = { - enable = true; - setSocketVariable = true; - }; - }; - }; - - swapDevices = [ - {device = "/dev/disk/by-uuid/949815d4-cfc4-4cf3-bbbe-22516f91119c";} - ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/06710546-327b-402a-b221-8d88b75301d2"; - fsType = "ext4"; - }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/E547-7E6C"; - fsType = "vfat"; - options = ["fmask=0077" "dmask=0077"]; - }; - - boot = { - initrd.luks.devices."luks-4cc1ad7c-a794-4c54-adc8-c9f666c9b781".device = "/dev/disk/by-uuid/4cc1ad7c-a794-4c54-adc8-c9f666c9b781"; - initrd.luks.devices."luks-161f5109-c2d7-4307-91f6-27c655d6ab3e".device = "/dev/disk/by-uuid/161f5109-c2d7-4307-91f6-27c655d6ab3e"; - - loader.systemd-boot.enable = true; - loader.efi.canTouchEfiVariables = true; - }; - }; -} diff --git a/machines/default.nix b/machines/default.nix index 5d2d85d..bdb2a8f 100644 --- a/machines/default.nix +++ b/machines/default.nix @@ -1,7 +1,7 @@ { - blocktech = { + sue = { system = "x86_64-linux"; - nixosModule = import ./blocktech/configuration.nix; + nixosModule = import ./sue/configuration.nix; }; gamepc = { diff --git a/machines/gamepc/configuration.nix b/machines/gamepc/configuration.nix index 3fe2568..88997f8 100644 --- a/machines/gamepc/configuration.nix +++ b/machines/gamepc/configuration.nix @@ -5,6 +5,7 @@ }: { config = { pim = { + cinnamon.enable = true; sops-nix.usersWithSopsKeys = ["pim"]; }; @@ -31,24 +32,27 @@ services = { openssh.enable = true; - displayManager.cosmic-greeter.enable = true; - desktopManager.cosmic.enable = true; xserver.displayManager.lightdm.extraSeatDefaults = '' autologin-user=pim ''; + + sunshine = { + enable = true; + openFirewall = true; + + settings = { + sunshine_name = config.networking.hostName; + origin_web_ui_allowed = "wan"; + credentials_file = "/home/pim/.config/sunshine/sunshine_credentials.json"; + }; + }; }; - boot = { - loader.grub = { - enable = true; - efiSupport = true; - efiInstallAsRemovable = true; - }; - - swraid.mdadmConf = '' - MAILADDR pim@kunis.nl - ''; + boot.loader.grub = { + enable = true; + efiSupport = true; + efiInstallAsRemovable = true; }; disko.devices.disk = lib.genAttrs ["0" "1"] (name: { diff --git a/machines/gamepc/pim.home.nix b/machines/gamepc/pim.home.nix index dc7d1e9..cf831fb 100644 --- a/machines/gamepc/pim.home.nix +++ b/machines/gamepc/pim.home.nix @@ -14,7 +14,6 @@ vlc handbrake lutris - chromium ]; }; @@ -22,5 +21,6 @@ defaultSopsFile = "${self}/secrets/gamepc/pim.yaml"; # TODO: should be set automatically? age.keyFile = "${config.xdg.configHome}/sops/age/keys.txt"; + secrets."sunshine_credentials".path = "${config.xdg.configHome}/sunshine/sunshine_credentials.json"; }; } diff --git a/machines/jefke/configuration.nix b/machines/jefke/configuration.nix index 3a52d97..f569389 100644 --- a/machines/jefke/configuration.nix +++ b/machines/jefke/configuration.nix @@ -5,98 +5,6 @@ system.stateVersion = "23.05"; users.users.root.openssh.authorizedKeys.keys = config.pim.ssh.keys.pim ++ config.pim.ssh.keys.niels; - pim.backups.borgBackups = { - radicale = { - paths = ["/mnt/longhorn/persistent/volumes/radicale"]; - deploymentName = "server"; - deploymentNamespace = "radicale"; - }; - - forgejo = { - paths = ["/mnt/longhorn/persistent/volumes/forgejo"]; - deploymentName = "server"; - deploymentNamespace = "forgejo"; - }; - - syncthing = { - paths = ["/mnt/longhorn/persistent/volumes/syncthing" "/mnt/longhorn/persistent/volumes/keepassxc"]; - deploymentName = "syncthing"; - deploymentNamespace = "syncthing"; - }; - - ntfy = { - paths = ["/mnt/longhorn/persistent/volumes/ntfy"]; - deploymentName = "ntfy"; - deploymentNamespace = "ntfy"; - }; - - hedgedoc-uploads = { - paths = ["/mnt/longhorn/persistent/volumes/hedgedoc-uploads"]; - deploymentName = "server"; - deploymentNamespace = "hedgedoc"; - }; - - hedgedoc-db = { - paths = ["/mnt/longhorn/persistent/volumes/hedgedoc-db"]; - deploymentName = "database"; - deploymentNamespace = "hedgedoc"; - }; - - atuin-db = { - paths = ["/mnt/longhorn/persistent/volumes/atuin-db"]; - deploymentName = "server"; - deploymentNamespace = "atuin"; - }; - - paperless-data = { - paths = ["/mnt/longhorn/persistent/volumes/paperless-data"]; - deploymentName = "server"; - deploymentNamespace = "paperless"; - }; - - paperless-redisdata = { - paths = ["/mnt/longhorn/persistent/volumes/paperless-redisdata"]; - deploymentName = "redis"; - deploymentNamespace = "paperless"; - }; - - paperless-db = { - paths = ["/mnt/longhorn/persistent/volumes/paperless-db"]; - deploymentName = "database"; - deploymentNamespace = "paperless"; - }; - - immich = { - paths = ["/mnt/longhorn/persistent/volumes/immich"]; - deploymentName = "immich"; - deploymentNamespace = "immich"; - }; - - immich-db = { - paths = ["/mnt/longhorn/persistent/volumes/immich-db"]; - deploymentName = "database"; - deploymentNamespace = "immich"; - }; - - attic = { - paths = ["/mnt/longhorn/persistent/volumes/attic"]; - deploymentName = "attic"; - deploymentNamespace = "attic"; - }; - - attic-db = { - paths = ["/mnt/longhorn/persistent/volumes/attic-db"]; - deploymentName = "attic-db"; - deploymentNamespace = "attic"; - }; - - kitchenowl = { - paths = ["/mnt/longhorn/persistent/volumes/kitchenowl"]; - deploymentName = "server"; - deploymentNamespace = "kitchenowl"; - }; - }; - deployment = { targetHost = "jefke"; targetUser = "root"; diff --git a/machines/lewis/configuration.nix b/machines/lewis/configuration.nix index 4d54d24..fc069bf 100644 --- a/machines/lewis/configuration.nix +++ b/machines/lewis/configuration.nix @@ -2,7 +2,6 @@ self, config, pkgs, - lib, ... }: { config = { @@ -20,99 +19,8 @@ pim = { k3s.serverAddr = "https://jefke.dmz:6443"; - - backups.borgBackups = { - bazarr = { - paths = ["/mnt/longhorn/persistent/volumes/bazarr"]; - deploymentName = "bazarr"; - deploymentNamespace = "media"; - }; - - deluge = { - paths = ["/mnt/longhorn/persistent/volumes/deluge"]; - deploymentName = "deluge"; - deploymentNamespace = "media"; - }; - - jellyfin = { - paths = ["/mnt/longhorn/persistent/volumes/jellyfin"]; - deploymentName = "jellyfin"; - deploymentNamespace = "media"; - }; - - jellyseerr = { - paths = ["/mnt/longhorn/persistent/volumes/jellyseerr"]; - deploymentName = "jellyseerr"; - deploymentNamespace = "media"; - }; - - prowlarr = { - paths = ["/mnt/longhorn/persistent/volumes/prowlarr"]; - deploymentName = "prowlarr"; - deploymentNamespace = "media"; - }; - - radarr = { - paths = ["/mnt/longhorn/persistent/volumes/radarr"]; - deploymentName = "radarr"; - deploymentNamespace = "media"; - }; - - sonarr = { - paths = ["/mnt/longhorn/persistent/volumes/sonarr"]; - deploymentName = "sonarr"; - deploymentNamespace = "media"; - }; - }; + data-sharing.enable = true; + backups.enable = true; }; - - systemd = { - timers.read-dir-sizes = { - wantedBy = ["timers.target"]; - timerConfig = { - OnBootSec = "5m"; - OnUnitActiveSec = "5m"; - Unit = "read-dir-sizes.service"; - }; - }; - - services."read-dir-sizes" = { - script = let - script = pkgs.writeShellScriptBin "read-dir-sizes.sh" '' - DIRS=( - "/mnt/longhorn/persistent/media/movies" - "/mnt/longhorn/persistent/media/shows" - ) - - temp_file=$(mktemp) - trap 'rm -f "$temp_file"' EXIT - - for DIR_PATH in "''${DIRS[@]}"; do - # Find all top-level subdirectories and calculate their size - find "$DIR_PATH" -mindepth 1 -maxdepth 1 -type d | while read -r subdir; do - # Calculate the size of the top-level subdirectory - du --block-size=1 -s "$subdir" | while read -r size path; do - # Print size in Prometheus format - echo "directory_size_bytes{dir=\"$path\"} $size" >> $temp_file - done - done - done - mkdir -p /var/lib/node_exporter/textfile_collector - cp $temp_file /var/lib/node_exporter/textfile_collector/dir_sizes.prom - chmod o=r /var/lib/node_exporter/textfile_collector/dir_sizes.prom - ''; - in "${lib.getExe script}"; - serviceConfig = { - Type = "oneshot"; - User = "root"; - }; - }; - - tmpfiles.rules = [ - "d /mnt/longhorn/persistent/media/torrents 775 414 51 8d" - ]; - }; - - services.prometheus.exporters.node.extraFlags = ["--collector.textfile.directory=/var/lib/node_exporter/textfile_collector"]; }; } diff --git a/machines/sue/configuration.nix b/machines/sue/configuration.nix new file mode 100644 index 0000000..70c4391 --- /dev/null +++ b/machines/sue/configuration.nix @@ -0,0 +1,97 @@ +{ + self, + pkgs, + lib, + inputs, + config, + ... +}: { + options = { + pim.cosmic.enable = lib.mkEnableOption "cosmic"; + }; + + config = { + pim = { + lanzaboote.enable = true; + tidal.enable = true; + gnome.enable = true; + stylix.enable = true; + wireguard.enable = true; + compliance.enable = true; + sops-nix.usersWithSopsKeys = ["pim"]; + }; + + users.users.pim = { + isNormalUser = true; + extraGroups = ["wheel" "docker" "input" "wireshark" "dialout"]; + }; + + deployment = { + allowLocalDeployment = true; + targetHost = null; + tags = ["desktop"]; + }; + + facter.reportPath = ./facter.json; + home-manager.users.pim.imports = [./pim.home.nix]; + nix.settings.trusted-users = ["pim"]; + system.stateVersion = "23.05"; + sops.defaultSopsFile = "${self}/secrets/sue/nixos.yaml"; + + environment.systemPackages = with pkgs; [ + borgbackup + kubectl + nmap + poppler_utils # For pdfunite + silicon + units + ]; + + virtualisation = { + libvirtd.enable = true; + + docker = { + enable = true; + + rootless = { + enable = true; + setSocketVariable = true; + }; + }; + }; + + swapDevices = [{device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b";}]; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/560E-F8A2"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + }; + + nix.settings = { + substituters = ["https://cosmic.cachix.org/"]; + trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; + }; + + boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494"; + + specialisation.cosmic = lib.mkIf config.pim.cosmic.enable { + configuration = { + imports = [ + inputs.nixos-cosmic.nixosModules.default + ]; + + services = { + desktopManager.cosmic.enable = true; + displayManager.cosmic-greeter.enable = true; + }; + }; + }; + }; +} diff --git a/machines/blocktech/facter.json b/machines/sue/facter.json similarity index 57% rename from machines/blocktech/facter.json rename to machines/sue/facter.json index 6fd442c..88fbc2b 100644 --- a/machines/blocktech/facter.json +++ b/machines/sue/facter.json @@ -19,12 +19,12 @@ "pnp_id": 0, "lba_support": false, "low_memory_size": 0, - "smbios_version": 774 + "smbios_version": 772 }, "bluetooth": [ { - "index": 61, - "attached_to": 60, + "index": 57, + "attached_to": 69, "class_list": [ "usb", "bluetooth" @@ -48,12 +48,12 @@ "value": 32903 }, "device": { - "hex": "0036", - "value": 54 + "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", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0", + "sysfs_bus_id": "1-10:1.0", "resources": [ { "type": "baud", @@ -99,11 +99,11 @@ "driver_modules": [ "btusb" ], - "module_alias": "usb:v8087p0036d0000dcE0dsc01dp01icE0isc01ip01in00" + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in00" }, { - "index": 67, - "attached_to": 60, + "index": 68, + "attached_to": 69, "class_list": [ "usb", "bluetooth" @@ -127,12 +127,12 @@ "value": 32903 }, "device": { - "hex": "0036", - "value": 54 + "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", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1", + "sysfs_bus_id": "1-10:1.1", "resources": [ { "type": "baud", @@ -178,13 +178,13 @@ "driver_modules": [ "btusb" ], - "module_alias": "usb:v8087p0036d0000dcE0dsc01dp01icE0isc01ip01in01" + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in01" } ], "bridge": [ { - "index": 26, - "attached_to": 0, + "index": 19, + "attached_to": 35, "class_list": [ "pci", "bridge" @@ -195,8 +195,8 @@ "value": 4 }, "slot": { - "bus": 0, - "number": 28 + "bus": 83, + "number": 1 }, "base_class": { "hex": "0006", @@ -219,49 +219,50 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "device": { - "hex": "7e38", - "value": 32312 + "hex": "0b26", + "value": 2854 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0000", + "value": 0 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0003", + "value": 3 }, "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.0", - "sysfs_bus_id": "0000:00:1c.0", - "sysfs_iommu_group_id": 16, + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0/0000:53:01.0", + "sysfs_bus_id": "0000:53:01.0", + "sysfs_iommu_group_id": 19, "resources": [ { "type": "irq", - "base": 127, + "base": 196, "triggered": 0, "enabled": true } ], "detail": { "function": 0, - "command": 1287, + "command": 1031, "header_type": 1, - "secondary_bus": 10, - "irq": 127, + "secondary_bus": 85, + "irq": 196, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007E38sv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" }, { - "index": 31, + "index": 20, "attached_to": 0, "class_list": [ "pci", @@ -292,25 +293,25 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e02", - "value": 32258 + "hex": "5187", + "value": 20871 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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": 18, + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, @@ -319,11 +320,11 @@ "irq": 0, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007E02sv000017AAsd00002234bc06sc01i00" + "module_alias": "pci:v00008086d00005187sv00001028sd00000B14bc06sc01i00" }, { - "index": 32, - "attached_to": 0, + "index": 21, + "attached_to": 35, "class_list": [ "pci", "bridge" @@ -334,8 +335,8 @@ "value": 4 }, "slot": { - "bus": 0, - "number": 1 + "bus": 83, + "number": 4 }, "base_class": { "hex": "0006", @@ -358,49 +359,50 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "device": { - "hex": "7ecc", - "value": 32460 + "hex": "0b26", + "value": 2854 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0000", + "value": 0 }, "revision": { - "hex": "0010", - "value": 16 + "hex": "0003", + "value": 3 }, "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, + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0/0000:53:04.0", + "sysfs_bus_id": "0000:53:04.0", + "sysfs_iommu_group_id": 22, "resources": [ { "type": "irq", - "base": 122, + "base": 199, "triggered": 0, "enabled": true } ], "detail": { "function": 0, - "command": 1287, + "command": 1031, "header_type": 1, - "secondary_bus": 1, - "irq": 122, + "secondary_bus": 162, + "irq": 199, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007ECCsv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" }, { - "index": 33, + "index": 22, "attached_to": 0, "class_list": [ "pci", @@ -412,8 +414,8 @@ "value": 4 }, "slot": { - "bus": 0, - "number": 28 + "bus": 224, + "number": 6 }, "base_class": { "hex": "0006", @@ -436,49 +438,49 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e3f", - "value": 32319 + "hex": "464d", + "value": 17997 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0006", + "value": 6 }, "model": "Intel PCI bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.7", - "sysfs_bus_id": "0000:00:1c.7", - "sysfs_iommu_group_id": 17, + "sysfs_id": "/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:06.0", + "sysfs_bus_id": "10000:e0:06.0", + "sysfs_iommu_group_id": 9, "resources": [ { "type": "irq", - "base": 128, + "base": 162, "triggered": 0, "enabled": true } ], "detail": { - "function": 7, - "command": 1287, + "function": 0, + "command": 1286, "header_type": 1, - "secondary_bus": 9, - "irq": 128, + "secondary_bus": 225, + "irq": 162, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007E3Fsv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d0000464Dsv00001028sd00000B14bc06sc04i00" }, { - "index": 38, + "index": 27, "attached_to": 0, "class_list": [ "pci", @@ -514,29 +516,29 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7ec4", - "value": 32452 + "hex": "466e", + "value": 18030 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0002", - "value": 2 + "hex": "0006", + "value": 6 }, "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, + "sysfs_iommu_group_id": 5, "resources": [ { "type": "irq", - "base": 125, + "base": 123, "triggered": 0, "enabled": true } @@ -545,18 +547,97 @@ "function": 0, "command": 1031, "header_type": 1, - "secondary_bus": 32, - "irq": 125, + "secondary_bus": 1, + "irq": 123, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007EC4sv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d0000466Esv00001028sd00000B14bc06sc04i00" }, { - "index": 42, + "index": 29, + "attached_to": 35, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 83, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "0b26", + "value": 2854 + }, + "sub_device": { + "hex": "0000", + "value": 0 + }, + "revision": { + "hex": "0003", + "value": 3 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0/0000:53:00.0", + "sysfs_bus_id": "0000:53:00.0", + "sysfs_iommu_group_id": 18, + "resources": [ + { + "type": "irq", + "base": 195, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 84, + "irq": 195, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" + }, + { + "index": 32, "attached_to": 0, "class_list": [ "pci", @@ -587,25 +668,25 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7d01", - "value": 32001 + "hex": "4602", + "value": 17922 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0004", - "value": 4 + "hex": "0006", + "value": 6 }, "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, + "sysfs_iommu_group_id": 2, "detail": { "function": 0, "command": 6, @@ -614,89 +695,19 @@ "irq": 0, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007D01sv000017AAsd00002234bc06sc00i00" - }, - { - "index": 43, - "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": "7ecb", - "value": 32459 - }, - "sub_device": { - "hex": "2234", - "value": 8756 - }, - "revision": { - "hex": "0010", - "value": 16 - }, - "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": 5, - "irq": 124, - "prog_if": 0 - }, - "driver": "pcieport", + "driver": "igen6_edac", + "driver_module": "igen6_edac", "drivers": [ - "pcieport" + "igen6_edac" ], - "module_alias": "pci:v00008086d00007ECBsv000017AAsd00002234bc06sc04i00" + "driver_modules": [ + "igen6_edac" + ], + "module_alias": "pci:v00008086d00004602sv00001028sd00000B14bc06sc00i00" }, { - "index": 45, - "attached_to": 0, + "index": 33, + "attached_to": 35, "class_list": [ "pci", "bridge" @@ -707,8 +718,8 @@ "value": 4 }, "slot": { - "bus": 0, - "number": 6 + "bus": 83, + "number": 3 }, "base_class": { "hex": "0006", @@ -731,49 +742,208 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "device": { - "hex": "7e4d", - "value": 32333 + "hex": "0b26", + "value": 2854 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0000", + "value": 0 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0003", + "value": 3 }, "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, + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0/0000:53:03.0", + "sysfs_bus_id": "0000:53:03.0", + "sysfs_iommu_group_id": 21, "resources": [ { "type": "irq", - "base": 123, + "base": 198, "triggered": 0, "enabled": true } ], "detail": { "function": 0, - "command": 1287, + "command": 1031, "header_type": 1, - "secondary_bus": 4, - "irq": 123, + "secondary_bus": 137, + "irq": 198, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007E4Dsv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" }, { - "index": 48, + "index": 35, + "attached_to": 41, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 82, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "0b26", + "value": 2854 + }, + "sub_device": { + "hex": "0000", + "value": 0 + }, + "revision": { + "hex": "0003", + "value": 3 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0", + "sysfs_bus_id": "0000:52:00.0", + "sysfs_iommu_group_id": 17, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 7, + "header_type": 1, + "secondary_bus": 83, + "irq": 16, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" + }, + { + "index": 40, + "attached_to": 35, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 83, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "0b26", + "value": 2854 + }, + "sub_device": { + "hex": "0000", + "value": 0 + }, + "revision": { + "hex": "0003", + "value": 3 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:52:00.0/0000:53:02.0", + "sysfs_bus_id": "0000:53:02.0", + "sysfs_iommu_group_id": 20, + "resources": [ + { + "type": "irq", + "base": 197, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 111, + "irq": 197, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00008086d00000B26sv00008086sd00000000bc06sc04i00" + }, + { + "index": 41, "attached_to": 0, "class_list": [ "pci", @@ -809,29 +979,29 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7ec5", - "value": 32453 + "hex": "463f", + "value": 17983 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0002", - "value": 2 + "hex": "0006", + "value": 6 }, "model": "Intel PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:07.1", "sysfs_bus_id": "0000:00:07.1", - "sysfs_iommu_group_id": 7, + "sysfs_iommu_group_id": 6, "resources": [ { "type": "irq", - "base": 126, + "base": 124, "triggered": 0, "enabled": true } @@ -840,21 +1010,21 @@ "function": 1, "command": 1031, "header_type": 1, - "secondary_bus": 80, - "irq": 126, + "secondary_bus": 82, + "irq": 124, "prog_if": 0 }, "driver": "pcieport", "drivers": [ "pcieport" ], - "module_alias": "pci:v00008086d00007EC5sv000017AAsd00002234bc06sc04i00" + "module_alias": "pci:v00008086d0000463Fsv00001028sd00000B14bc06sc04i00" } ], "camera": [ { - "index": 58, - "attached_to": 60, + "index": 56, + "attached_to": 61, "class_list": [ "camera", "usb" @@ -874,126 +1044,24 @@ "value": 271 }, "vendor": { - "hex": "30c9", - "name": "8SSC21K64624V1SR49K25RW", - "value": 12489 + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 }, "device": { - "hex": "00cd", - "name": "Integrated Camera", - "value": 205 + "hex": "08e5", + "name": "HD Pro Webcam C920", + "value": 2277 }, "revision": { "hex": "0000", - "name": "10.08", + "name": "0.21", "value": 0 }, - "serial": "0001", - "model": "8SSC21K64624V1SR49K25RW Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.1", - "sysfs_bus_id": "3-9: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:v30C9p00CDd1008dcEFdsc02dp01ic0Eisc02ip01in01" - }, - { - "index": 63, - "attached_to": 60, - "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": "8SSC21K64624V1SR49K25RW", - "value": 12489 - }, - "device": { - "hex": "00cd", - "name": "Integrated Camera", - "value": 205 - }, - "revision": { - "hex": "0000", - "name": "10.08", - "value": 0 - }, - "serial": "0001", - "model": "8SSC21K64624V1SR49K25RW Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.2", - "sysfs_bus_id": "3-9:1.2", + "serial": "604B96BF", + "model": "Logitech HD Pro Webcam C920", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.1/1-6.1.3.1:1.0", + "sysfs_bus_id": "1-6.1.3.1:1.0", "resources": [ { "type": "baud", @@ -1026,109 +1094,7 @@ "name": "audio", "value": 1 }, - "interface_protocol": 1, - "interface_number": 2, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 2 - } - }, - "hotplug": "usb", - "driver": "uvcvideo", - "driver_module": "uvcvideo", - "drivers": [ - "uvcvideo" - ], - "driver_modules": [ - "uvcvideo" - ], - "module_alias": "usb:v30C9p00CDd1008dcEFdsc02dp01ic0Eisc01ip01in02" - }, - { - "index": 65, - "attached_to": 60, - "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": "8SSC21K64624V1SR49K25RW", - "value": 12489 - }, - "device": { - "hex": "00cd", - "name": "Integrated Camera", - "value": 205 - }, - "revision": { - "hex": "0000", - "name": "10.08", - "value": 0 - }, - "serial": "0001", - "model": "8SSC21K64624V1SR49K25RW Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0", - "sysfs_bus_id": "3-9: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_protocol": 0, "interface_number": 0, "interface_alternate_setting": 0, "interface_association": { @@ -1156,11 +1122,11 @@ "driver_modules": [ "uvcvideo" ], - "module_alias": "usb:v30C9p00CDd1008dcEFdsc02dp01ic0Eisc01ip01in00" + "module_alias": "usb:v046Dp08E5d0021dcEFdsc02dp01ic0Eisc01ip00in00" }, { - "index": 68, - "attached_to": 60, + "index": 67, + "attached_to": 61, "class_list": [ "camera", "usb" @@ -1180,24 +1146,24 @@ "value": 271 }, "vendor": { - "hex": "30c9", - "name": "8SSC21K64624V1SR49K25RW", - "value": 12489 + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 }, "device": { - "hex": "00cd", - "name": "Integrated Camera", - "value": 205 + "hex": "08e5", + "name": "HD Pro Webcam C920", + "value": 2277 }, "revision": { "hex": "0000", - "name": "10.08", + "name": "0.21", "value": 0 }, - "serial": "0001", - "model": "8SSC21K64624V1SR49K25RW Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.3", - "sysfs_bus_id": "3-9:1.3", + "serial": "604B96BF", + "model": "Logitech HD Pro Webcam C920", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.1/1-6.1.3.1:1.1", + "sysfs_bus_id": "1-6.1.3.1:1.1", "resources": [ { "type": "baud", @@ -1230,8 +1196,8 @@ "name": "comm", "value": 2 }, - "interface_protocol": 1, - "interface_number": 3, + "interface_protocol": 0, + "interface_number": 1, "interface_alternate_setting": 0, "interface_association": { "function_class": { @@ -1246,7 +1212,7 @@ }, "function_protocol": 0, "interface_count": 2, - "first_interface": 2 + "first_interface": 0 } }, "hotplug": "usb", @@ -1258,7 +1224,7 @@ "driver_modules": [ "uvcvideo" ], - "module_alias": "usb:v30C9p00CDd1008dcEFdsc02dp01ic0Eisc02ip01in03" + "module_alias": "usb:v046Dp08E5d0021dcEFdsc02dp01ic0Eisc02ip00in01" } ], "cpu": [ @@ -1266,7 +1232,7 @@ "architecture": "x86_64", "vendor_name": "GenuineIntel", "family": 6, - "model": 170, + "model": 154, "stepping": 4, "features": [ "fpu", @@ -1329,7 +1295,6 @@ "cx16", "xtpr", "pdcm", - "pcid", "sse4_1", "sse4_2", "x2apic", @@ -1346,7 +1311,6 @@ "3dnowprefetch", "cpuid_fault", "epb", - "intel_ppin", "ssbd", "ibrs", "ibpb", @@ -1399,7 +1363,6 @@ "vaes", "vpclmulqdq", "rdpid", - "bus_lock_detect", "movdiri", "movdir64b", "fsrm", @@ -1415,30 +1378,32 @@ "spectre_v2", "spec_store_bypass", "swapgs", + "eibrs_pbrsb", + "rfds", "bhi" ], - "bogo": 5990.4, - "cache": 2048, - "units": 128, + "bogo": 3763.2, + "cache": 12288, + "units": 64, "physical_id": 0, - "siblings": 22, - "cores": 16, + "siblings": 12, + "cores": 10, "fpu": true, "fpu_exception": true, - "cpuid_level": 35, + "cpuid_level": 32, "write_protect": false, "clflush_size": 64, "cache_alignment": 64, "address_sizes": { - "physical": 46, + "physical": 39, "virtual": 48 } } ], "disk": [ { - "index": 56, - "attached_to": 50, + "index": 51, + "attached_to": 44, "class_list": [ "disk", "block_device", @@ -1464,27 +1429,27 @@ "value": 0 }, "vendor": { - "hex": "1e0f", - "value": 7695 + "hex": "1344", + "value": 4932 }, "sub_vendor": { - "hex": "1e0f", - "value": 7695 + "hex": "1344", + "value": 4932 }, "device": { - "hex": "0010", - "name": "KXG8AZNV1T02 LA KIOXIA", - "value": 16 + "hex": "5414", + "name": "3460 NVMe Micron 512GB", + "value": 21524 }, "sub_device": { - "hex": "0001", - "value": 1 + "hex": "1400", + "value": 5120 }, - "serial": "54BF71ZZFG6P", - "model": "KXG8AZNV1T02 LA KIOXIA", + "serial": "23133F7DB0F0", + "model": "3460 NVMe Micron 512GB", "sysfs_id": "/class/block/nvme0n1", "sysfs_bus_id": "nvme0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:06.0/10000:e1:00.0/nvme/nvme0", "unix_device_name": "/dev/nvme0n1", "unix_device_number": { "type": 98, @@ -1494,16 +1459,17 @@ }, "unix_device_names": [ "/dev/disk/by-diskseq/1", - "/dev/disk/by-id/nvme-KXG8AZNV1T02_LA_KIOXIA_54BF71ZZFG6P", - "/dev/disk/by-id/nvme-KXG8AZNV1T02_LA_KIOXIA_54BF71ZZFG6P_1", - "/dev/disk/by-id/nvme-eui.8ce38e05011f5d69", - "/dev/disk/by-path/pci-0000:04:00.0-nvme-1", + "/dev/disk/by-id/nvme-3460_NVMe_Micron_512GB_23133F7DB0F0", + "/dev/disk/by-id/nvme-3460_NVMe_Micron_512GB_23133F7DB0F0_1", + "/dev/disk/by-id/nvme-eui.000000000000000100a075233f7db0f0", + "/dev/disk/by-path/pci-0000:00:0e.0-pci-10000:e1:00.0-nvme-1", "/dev/nvme0n1" ], + "rom_id": "0x80", "resources": [ { "type": "disk_geo", - "cylinders": 976762, + "cylinders": 488386, "heads": 64, "sectors": 32, "size": 0, @@ -1512,96 +1478,7 @@ { "type": "size", "unit": "sectors", - "value_1": 2000409264, - "value_2": 512 - } - ], - "driver": "nvme", - "driver_module": "nvme", - "drivers": [ - "nvme" - ], - "driver_modules": [ - "nvme" - ] - }, - { - "index": 57, - "attached_to": 47, - "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": "2646", - "value": 9798 - }, - "sub_vendor": { - "hex": "2646", - "value": 9798 - }, - "device": { - "hex": "5027", - "name": "KINGSTON SNV3S1000G", - "value": 20519 - }, - "sub_device": { - "hex": "5027", - "value": 20519 - }, - "serial": "50026B73831D4D6A", - "model": "KINGSTON SNV3S1000G", - "sysfs_id": "/class/block/nvme1n1", - "sysfs_bus_id": "nvme1", - "sysfs_device_link": "/devices/pci0000:00/0000:00:06.2/0000:05:00.0/nvme/nvme1", - "unix_device_name": "/dev/nvme1n1", - "unix_device_number": { - "type": 98, - "major": 259, - "minor": 3, - "range": 0 - }, - "unix_device_names": [ - "/dev/disk/by-diskseq/2", - "/dev/disk/by-id/nvme-KINGSTON_SNV3S1000G_50026B73831D4D6A", - "/dev/disk/by-id/nvme-KINGSTON_SNV3S1000G_50026B73831D4D6A_1", - "/dev/disk/by-id/nvme-eui.00000000000000000026b73831d4d6a5", - "/dev/disk/by-path/pci-0000:05:00.0-nvme-1", - "/dev/nvme1n1" - ], - "resources": [ - { - "type": "disk_geo", - "cylinders": 953869, - "heads": 64, - "sectors": 32, - "size": 0, - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 1953525168, + "value_1": 1000215216, "value_2": 512 } ], @@ -1617,107 +1494,7 @@ ], "graphics_card": [ { - "index": 36, - "attached_to": 32, - "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": "0002", - "name": "3D controller", - "value": 2 - }, - "vendor": { - "hex": "10de", - "name": "nVidia Corporation", - "value": 4318 - }, - "sub_vendor": { - "hex": "17aa", - "value": 6058 - }, - "device": { - "hex": "28b9", - "value": 10425 - }, - "sub_device": { - "hex": "2234", - "value": 8756 - }, - "revision": { - "hex": "00a1", - "value": 161 - }, - "model": "nVidia 3D 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": 19, - "resources": [ - { - "type": "io", - "base": 8192, - "range": 128, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 274877906944, - "range": 8589934592, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 283467841536, - "range": 33554432, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 2868903936, - "range": 16777216, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 3, - "header_type": 0, - "secondary_bus": 0, - "irq": 16, - "prog_if": 0 - }, - "module_alias": "pci:v000010DEd000028B9sv000017AAsd00002234bc03sc02i00" - }, - { - "index": 51, + "index": 43, "attached_to": 0, "class_list": [ "graphics_card", @@ -1753,29 +1530,42 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7d55", - "value": 32085 + "hex": "46aa", + "value": 18090 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0008", - "value": 8 + "hex": "000c", + "value": 12 }, "model": "Intel VGA compatible controller", "sysfs_id": "/devices/pci0000:00/0000:00:02.0", "sysfs_bus_id": "0000:00:02.0", - "sysfs_iommu_group_id": 0, + "sysfs_iommu_group_id": 1, "resources": [ + { + "type": "io", + "base": 12288, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 125, + "triggered": 0, + "enabled": true + }, { "type": "mem", - "base": 283736276992, + "base": 274877906944, "range": 268435456, "enabled": true, "access": "read_only", @@ -1783,10 +1573,10 @@ }, { "type": "mem", - "base": 285212672000, + "base": 414346903552, "range": 16777216, "enabled": true, - "access": "read_only", + "access": "read_write", "prefetch": "no" }, { @@ -1800,18 +1590,171 @@ ], "detail": { "function": 0, - "command": 7, + "command": 1031, "header_type": 0, "secondary_bus": 0, - "irq": 0, + "irq": 125, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007D55sv000017AAsd00002234bc03sc00i00" + "driver": "i915", + "driver_module": "i915", + "drivers": [ + "i915" + ], + "driver_modules": [ + "i915" + ], + "module_alias": "pci:v00008086d000046AAsv00001028sd00000B14bc03sc00i00", + "label": "Onboard - Video" } ], "hub": [ { - "index": 60, + "index": 52, + "attached_to": 65, + "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": "8087", + "name": "Intel Corporation.", + "value": 32903 + }, + "device": { + "hex": "0b40", + "name": "USB3.0 Hub", + "value": 2880 + }, + "revision": { + "hex": "0000", + "name": "12.34", + "value": 0 + }, + "model": "Intel USB3.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-2/4-2:1.0", + "sysfs_bus_id": "4-2: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:v8087p0B40d1234dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 54, + "attached_to": 55, + "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": "0bda", + "name": "Dell Inc.", + "value": 3034 + }, + "device": { + "hex": "0413", + "name": "Dell dock", + "value": 1043 + }, + "revision": { + "hex": "0000", + "name": "1.22", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-2/4-2.4/4-2.4.3/4-2.4.3:1.0", + "sysfs_bus_id": "4-2.4.3: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:v0BDAp0413d0122dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 55, "attached_to": 52, "class_list": [ "usb", @@ -1831,9 +1774,163 @@ "name": "Hub", "value": 266 }, + "vendor": { + "hex": "0bda", + "name": "Dell Inc.", + "value": 3034 + }, + "device": { + "hex": "0487", + "name": "Dell dock", + "value": 1159 + }, + "revision": { + "hex": "0000", + "name": "1.57", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-2/4-2.4/4-2.4:1.0", + "sysfs_bus_id": "4-2.4: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:v0BDAp0487d0157dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 59, + "attached_to": 69, + "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": "1d5c", + "name": "Fresco Logic, Inc.", + "value": 7516 + }, + "device": { + "hex": "5801", + "name": "USB2.0 Hub", + "value": 22529 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "Fresco Logic USB2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0", + "sysfs_bus_id": "1-6:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 2, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D5Cp5801d0101dc09dsc00dp02ic09isc00ip02in00" + }, + { + "index": 60, + "attached_to": 17, + "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.6.57 xhci-hcd", + "name": "Linux 6.6.60 xhci-hcd", "value": 7531 }, "device": { @@ -1846,9 +1943,9 @@ "name": "6.06", "value": 0 }, - "serial": "0000:00:14.0", - "model": "Linux 6.6.57 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0", + "serial": "0000:00:0d.0", + "model": "Linux 6.6.60 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb3/3-0:1.0", "sysfs_bus_id": "3-0:1.0", "resources": [ { @@ -1894,8 +1991,90 @@ "module_alias": "usb:v1D6Bp0002d0606dc09dsc00dp01ic09isc00ip00in00" }, { - "index": 64, - "attached_to": 52, + "index": 61, + "attached_to": 72, + "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": "0bda", + "name": "Dell Inc.", + "value": 3034 + }, + "device": { + "hex": "5413", + "name": "Dell dock", + "value": 21523 + }, + "revision": { + "hex": "0000", + "name": "1.22", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3:1.0", + "sysfs_bus_id": "1-6.1.3:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 2, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v0BDAp5413d0122dc09dsc00dp02ic09isc00ip02in00" + }, + { + "index": 65, + "attached_to": 17, "class_list": [ "usb", "hub" @@ -1916,7 +2095,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.6.57 xhci-hcd", + "name": "Linux 6.6.60 xhci-hcd", "value": 7531 }, "device": { @@ -1929,9 +2108,9 @@ "name": "6.06", "value": 0 }, - "serial": "0000:00:14.0", - "model": "Linux 6.6.57 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0", + "serial": "0000:00:0d.0", + "model": "Linux 6.6.60 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-0:1.0", "sysfs_bus_id": "4-0:1.0", "detail": { "device_class": { @@ -1967,8 +2146,8 @@ "module_alias": "usb:v1D6Bp0003d0606dc09dsc00dp03ic09isc00ip00in00" }, { - "index": 66, - "attached_to": 29, + "index": 69, + "attached_to": 45, "class_list": [ "usb", "hub" @@ -1989,7 +2168,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.6.57 xhci-hcd", + "name": "Linux 6.6.60 xhci-hcd", "value": 7531 }, "device": { @@ -2002,9 +2181,9 @@ "name": "6.06", "value": 0 }, - "serial": "0000:00:0d.0", - "model": "Linux 6.6.57 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb1/1-0:1.0", + "serial": "0000:00:14.0", + "model": "Linux 6.6.60 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-0:1.0", "sysfs_bus_id": "1-0:1.0", "resources": [ { @@ -2050,8 +2229,90 @@ "module_alias": "usb:v1D6Bp0002d0606dc09dsc00dp01ic09isc00ip00in00" }, { - "index": 69, - "attached_to": 29, + "index": 72, + "attached_to": 59, + "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": "0bda", + "name": "Dell Inc.", + "value": 3034 + }, + "device": { + "hex": "5487", + "name": "Dell dock", + "value": 21639 + }, + "revision": { + "hex": "0000", + "name": "1.57", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1:1.0", + "sysfs_bus_id": "1-6.1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 2, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v0BDAp5487d0157dc09dsc00dp02ic09isc00ip02in00" + }, + { + "index": 74, + "attached_to": 45, "class_list": [ "usb", "hub" @@ -2072,7 +2333,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.6.57 xhci-hcd", + "name": "Linux 6.6.60 xhci-hcd", "value": 7531 }, "device": { @@ -2085,9 +2346,9 @@ "name": "6.06", "value": 0 }, - "serial": "0000:00:0d.0", - "model": "Linux 6.6.57 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb2/2-0:1.0", + "serial": "0000:00:14.0", + "model": "Linux 6.6.60 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0", "sysfs_bus_id": "2-0:1.0", "detail": { "device_class": { @@ -2123,9 +2384,120 @@ "module_alias": "usb:v1D6Bp0003d0606dc09dsc00dp03ic09isc00ip00in00" } ], + "keyboard": [ + { + "index": 63, + "attached_to": 61, + "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": "413c", + "name": "DELL", + "value": 16700 + }, + "device": { + "hex": "2106", + "name": "Dell QuietKey Keyboard", + "value": 8454 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "DELL Dell QuietKey Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.2/1-6.1.3.2:1.0", + "sysfs_bus_id": "1-6.1.3.2:1.0", + "unix_device_name": "/dev/input/event15", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 79, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-DELL_Dell_QuietKey_Keyboard-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:6.1.3.2:1.0-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:6.1.3.2:1.0-event-kbd", + "/dev/input/event15" + ], + "resources": [ + { + "type": "baud", + "speed": 1500000, + "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:v413Cp2106d0101dc00dsc00dp00ic03isc01ip01in00" + } + ], "memory": [ { - "index": 25, + "index": 15, "attached_to": 0, "class_list": [ "memory" @@ -2145,59 +2517,423 @@ { "type": "mem", "base": 0, - "range": 66903273472, + "range": 16382128128, "enabled": true, "access": "read_write", "prefetch": "unknown" }, { "type": "phys_mem", - "range": 68719476736 + "range": 16106127360 } ] } ], - "mouse": [ + "monitor": [ { - "index": 72, - "attached_to": 0, - "bus_type": { - "hex": "0081", - "name": "serial", - "value": 129 - }, + "index": 49, + "attached_to": 43, + "class_list": [ + "monitor" + ], "base_class": { - "hex": "0118", - "name": "touchpad", - "value": 280 + "hex": "0100", + "name": "Monitor", + "value": 256 }, "sub_class": { - "hex": "0001", - "name": "bus", - "value": 1 + "hex": "0002", + "name": "LCD Monitor", + "value": 2 }, "vendor": { - "hex": "2c2f", - "value": 11311 + "hex": "4d10", + "name": "G59J8 LQ134R1", + "value": 19728 }, "device": { - "hex": "002d", - "value": 45 + "hex": "1551", + "value": 5457 + }, + "serial": "0", + "model": "G59J8 LQ134R1 LCD Monitor", + "resources": [ + { + "type": "monitor", + "width": 3840, + "height": 2400, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 288, + "value_2": 180 + } + ], + "detail": { + "manufacture_year": 2021, + "manufacture_week": 49, + "vertical_sync": { + "min": 48, + "max": 60 + }, + "horizontal_sync": { + "min": 148, + "max": 148 + }, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2400, + "sync_start": 2403, + "sync_end": 2409, + "total": 2469 + }, + "clock": 592500, + "width": 3840, + "height": 2400, + "width_millimetres": 288, + "height_millimetres": 180, + "horizontal_flag": 45, + "vertical_flag": 45, + "vendor": "G59J8 LQ134R1", + "name": "" + }, + "driver_info": { + "type": "display", + "width": 3840, + "height": 2400, + "vertical_sync": { + "min": 48, + "max": 60 + }, + "horizontal_sync": { + "min": 148, + "max": 148 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2400, + "sync_start": 2403, + "sync_end": 2409, + "total": 2469 + }, + "horizontal_flag": 45, + "vertical_flag": 45 + } + }, + { + "index": 50, + "attached_to": 43, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "26cd", + "name": "IIYAMA", + "value": 9933 + }, + "device": { + "hex": "6656", + "name": "PL2792QN", + "value": 26198 + }, + "serial": "1179214201744", + "model": "IIYAMA PL2792QN", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 1024, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1600, + "height": 1200, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1600, + "height": 900, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 2560, + "height": 1440, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 597, + "value_2": 336 + } + ], + "detail": { + "manufacture_year": 2021, + "manufacture_week": 42, + "vertical_sync": { + "min": 49, + "max": 76 + }, + "horizontal_sync": { + "min": 30, + "max": 120 + }, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "clock": 241500, + "width": 2560, + "height": 1440, + "width_millimetres": 597, + "height_millimetres": 336, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "PL2792QN" + }, + "driver_info": { + "type": "display", + "width": 2560, + "height": 1440, + "vertical_sync": { + "min": 49, + "max": 76 + }, + "horizontal_sync": { + "min": 30, + "max": 120 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2608, + "sync_end": 2640, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 70, + "attached_to": 61, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c077", + "name": "USB Optical Mouse", + "value": 49271 + }, + "revision": { + "hex": "0000", + "name": "72.00", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech USB Optical Mouse", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.3/1-6.1.3.3:1.0", + "sysfs_bus_id": "1-6.1.3.3:1.0", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 }, - "sysfs_id": "/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-SNSL002D:00/0018:2C2F:002D.0002/input/input19", "unix_device_names": [ - "/dev/input/event8", - "/dev/input/ + handler" - ] + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse4", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 36, + "range": 1 + }, + "resources": [ + { + "type": "baud", + "speed": 1500000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v046DpC077d7200dc00dsc00dp00ic03isc01ip02in00" } ], "network_controller": [ { - "index": 28, - "attached_to": 33, + "index": 24, + "attached_to": 0, "class_list": [ "network_controller", - "pci" + "pci", + "wlan_card" ], "bus_type": { "hex": "0004", @@ -2205,7 +2941,188 @@ "value": 4 }, "slot": { - "bus": 9, + "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": "51f0", + "value": 20976 + }, + "sub_device": { + "hex": "4090", + "value": 16528 + }, + "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": 12, + "unix_device_name": "wlp0s20f3", + "unix_device_names": [ + "wlp0s20f3" + ], + "resources": [ + { + "type": "hwaddr", + "address": 54 + }, + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 414366384128, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 54 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "5.18", + "5.2", + "5.22", + "5.24", + "5.26", + "5.28", + "5.3", + "5.32", + "5.5", + "5.52", + "5.54", + "5.56", + "5.58", + "5.6", + "5.62", + "5.64", + "5.66", + "5.68", + "5.7" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d000051F0sv00008086sd00004090bc02sc80i00" + }, + { + "index": 62, + "attached_to": 55, + "class_list": [ + "network_controller", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, "number": 0 }, "base_class": { @@ -2219,81 +3136,121 @@ "value": 0 }, "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 + "hex": "0bda", + "name": "Realtek", + "value": 3034 }, "device": { - "hex": "272b", - "value": 10027 - }, - "sub_device": { - "hex": "00f0", - "value": 240 + "hex": "8153", + "name": "USB 10/100/1000 LAN", + "value": 33107 }, "revision": { - "hex": "001a", - "value": 26 + "hex": "0000", + "name": "31.11", + "value": 0 }, - "model": "Intel Ethernet controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.7/0000:09:00.0", - "sysfs_bus_id": "0000:09:00.0", - "sysfs_iommu_group_id": 23, - "unix_device_name": "wlp9s0f0", + "serial": "1113000001", + "model": "Realtek USB 10/100/1000 LAN", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-2/4-2.4/4-2.4.4/4-2.4.4:1.0", + "sysfs_bus_id": "4-2.4.4:1.0", + "unix_device_name": "enp0s13f0u2u4u4", "unix_device_names": [ - "wlp9s0f0" + "enp0s13f0u2u4u4" ], "resources": [ { "type": "hwaddr", - "address": 52 - }, - { - "type": "irq", - "base": 19, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 2885681152, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" + "address": 97 }, { "type": "phwaddr", - "address": 52 + "address": 97 } ], "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 19, - "prog_if": 0 + "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": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 }, - "driver": "iwlwifi", - "driver_module": "iwlwifi", + "hotplug": "usb", + "driver": "r8152", + "driver_module": "r8152", "drivers": [ - "iwlwifi" + "r8152" ], "driver_modules": [ - "iwlwifi" + "r8152" ], - "module_alias": "pci:v00008086d0000272Bsv00008086sd000000F0bc02sc80i00" + "module_alias": "usb:v0BDAp8153d3111dc00dsc00dp00icFFiscFFip00in00" } ], "network_interface": [ { - "index": 70, + "index": 77, + "attached_to": 62, + "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/enp0s13f0u2u4u4", + "sysfs_device_link": "/devices/pci0000:00/0000:00:0d.0/usb4/4-2/4-2.4/4-2.4.4/4-2.4.4:1.0", + "unix_device_name": "enp0s13f0u2u4u4", + "unix_device_names": [ + "enp0s13f0u2u4u4" + ], + "resources": [ + { + "type": "hwaddr", + "address": 97 + }, + { + "type": "phwaddr", + "address": 97 + } + ], + "driver": "r8152", + "driver_module": "r8152", + "drivers": [ + "r8152" + ], + "driver_modules": [ + "r8152" + ] + }, + { + "index": 78, "attached_to": 0, "class_list": [ "network_interface" @@ -2316,8 +3273,8 @@ ] }, { - "index": 71, - "attached_to": 28, + "index": 79, + "attached_to": 24, "class_list": [ "network_interface" ], @@ -2332,20 +3289,20 @@ "value": 1 }, "model": "Ethernet network interface", - "sysfs_id": "/class/net/wlp9s0f0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1c.7/0000:09:00.0", - "unix_device_name": "wlp9s0f0", + "sysfs_id": "/class/net/wlp0s20f3", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", + "unix_device_name": "wlp0s20f3", "unix_device_names": [ - "wlp9s0f0" + "wlp0s20f3" ], "resources": [ { "type": "hwaddr", - "address": 52 + "address": 54 }, { "type": "phwaddr", - "address": 52 + "address": 54 } ], "driver": "iwlwifi", @@ -2360,7 +3317,7 @@ ], "pci": [ { - "index": 27, + "index": 16, "attached_to": 0, "class_list": [ "pci", @@ -2391,25 +3348,25 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e4c", - "value": 32332 + "hex": "464f", + "value": 17999 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0006", + "value": 6 }, "model": "Intel System peripheral", "sysfs_id": "/devices/pci0000:00/0000:00:08.0", "sysfs_bus_id": "0000:00:08.0", - "sysfs_iommu_group_id": 8, + "sysfs_iommu_group_id": 7, "resources": [ { "type": "irq", @@ -2419,7 +3376,7 @@ }, { "type": "mem", - "base": 285242884096, + "base": 414366453760, "range": 4096, "enabled": false, "access": "read_write", @@ -2434,10 +3391,10 @@ "irq": 255, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007E4Csv000017AAsd00002234bc08sc80i00" + "module_alias": "pci:v00008086d0000464Fsv00001028sd00000B14bc08sc80i00" }, { - "index": 30, + "index": 18, "attached_to": 0, "class_list": [ "pci", @@ -2467,20 +3424,20 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e79", - "value": 32377 + "hex": "51e9", + "value": 20969 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0001", + "value": 1 }, "model": "Intel Serial bus controller", "sysfs_id": "/devices/pci0000:00/0000:00:15.1", @@ -2489,13 +3446,13 @@ "resources": [ { "type": "irq", - "base": 33, + "base": 40, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 283618840576, + "base": 275263787008, "range": 4096, "enabled": true, "access": "read_write", @@ -2507,7 +3464,7 @@ "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 33, + "irq": 40, "prog_if": 0 }, "driver": "intel-lpss", @@ -2518,10 +3475,10 @@ "driver_modules": [ "intel_lpss_pci" ], - "module_alias": "pci:v00008086d00007E79sv000017AAsd00002234bc0Csc80i00" + "module_alias": "pci:v00008086d000051E9sv00001028sd00000B14bc0Csc80i00" }, { - "index": 34, + "index": 23, "attached_to": 0, "class_list": [ "pci", @@ -2552,20 +3509,20 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7d03", - "value": 32003 + "hex": "461d", + "value": 17949 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0004", - "value": 4 + "hex": "0006", + "value": 6 }, "model": "Intel Signal processing controller", "sysfs_id": "/devices/pci0000:00/0000:00:04.0", @@ -2574,13 +3531,13 @@ "resources": [ { "type": "irq", - "base": 196, + "base": 175, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285242556416, + "base": 414366040064, "range": 131072, "enabled": true, "access": "read_write", @@ -2592,7 +3549,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 196, + "irq": 175, "prog_if": 0 }, "driver": "proc_thermal_pci", @@ -2603,10 +3560,10 @@ "driver_modules": [ "processor_thermal_device_pci" ], - "module_alias": "pci:v00008086d00007D03sv000017AAsd00002234bc11sc80i00" + "module_alias": "pci:v00008086d0000461Dsv00001028sd00000B14bc11sc80i00" }, { - "index": 35, + "index": 25, "attached_to": 0, "class_list": [ "pci", @@ -2637,20 +3594,20 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e70", - "value": 32368 + "hex": "51e0", + "value": 20960 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0001", + "value": 1 }, "model": "Intel Communication controller", "sysfs_id": "/devices/pci0000:00/0000:00:16.0", @@ -2659,13 +3616,13 @@ "resources": [ { "type": "irq", - "base": 194, + "base": 163, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285242859520, + "base": 414366433280, "range": 4096, "enabled": true, "access": "read_write", @@ -2677,7 +3634,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 194, + "irq": 163, "prog_if": 0 }, "driver": "mei_me", @@ -2688,11 +3645,11 @@ "driver_modules": [ "mei_me" ], - "module_alias": "pci:v00008086d00007E70sv000017AAsd00002234bc07sc80i00" + "module_alias": "pci:v00008086d000051E0sv00001028sd00000B14bc07sc80i00" }, { - "index": 37, - "attached_to": 26, + "index": 26, + "attached_to": 0, "class_list": [ "pci", "unknown" @@ -2703,48 +3660,53 @@ "value": 4 }, "slot": { - "bus": 10, - "number": 0 + "bus": 0, + "number": 30 }, "base_class": { - "hex": "00ff", - "name": "Unclassified device", - "value": 255 + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 }, "vendor": { - "hex": "10ec", - "value": 4332 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "5261", - "value": 21089 + "hex": "51aa", + "value": 20906 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { "hex": "0001", "value": 1 }, - "model": "Unclassified device", - "sysfs_id": "/devices/pci0000:00/0000:00:1c.0/0000:0a:00.0", - "sysfs_bus_id": "0000:0a:00.0", - "sysfs_iommu_group_id": 22, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1e.2", + "sysfs_bus_id": "0000:00:1e.2", + "sysfs_iommu_group_id": 15, "resources": [ { "type": "irq", - "base": 129, + "base": 36, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 2886729728, + "base": 275263795200, "range": 4096, "enabled": true, "access": "read_write", @@ -2752,25 +3714,25 @@ } ], "detail": { - "function": 0, - "command": 1030, + "function": 2, + "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 129, + "irq": 36, "prog_if": 0 }, - "driver": "rtsx_pci", - "driver_module": "rtsx_pci", + "driver": "intel-lpss", + "driver_module": "intel_lpss_pci", "drivers": [ - "rtsx_pci" + "intel-lpss" ], "driver_modules": [ - "rtsx_pci" + "intel_lpss_pci" ], - "module_alias": "pci:v000010ECd00005261sv000017AAsd00002234bcFFsc00i00" + "module_alias": "pci:v00008086d000051AAsv00001028sd00000B14bc0Csc80i00" }, { - "index": 39, + "index": 28, "attached_to": 0, "class_list": [ "pci", @@ -2800,29 +3762,29 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e23", - "value": 32291 + "hex": "51a4", + "value": 20900 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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": 18, + "sysfs_iommu_group_id": 16, "resources": [ { "type": "mem", - "base": 2619342848, + "base": 1887436800, "range": 4096, "enabled": true, "access": "read_write", @@ -2845,10 +3807,10 @@ "driver_modules": [ "spi_intel_pci" ], - "module_alias": "pci:v00008086d00007E23sv000017AAsd00002234bc0Csc80i00" + "module_alias": "pci:v00008086d000051A4sv00001028sd00000B14bc0Csc80i00" }, { - "index": 40, + "index": 30, "attached_to": 0, "class_list": [ "pci", @@ -2861,15 +3823,16 @@ }, "slot": { "bus": 0, - "number": 25 + "number": 30 }, "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 + "hex": "0007", + "name": "Communication controller", + "value": 7 }, "sub_class": { "hex": "0080", + "name": "Communication controller", "value": 128 }, "vendor": { @@ -2878,35 +3841,35 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e50", - "value": 32336 + "hex": "51a8", + "value": 20904 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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", + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1e.0", + "sysfs_bus_id": "0000:00:1e.0", "sysfs_iommu_group_id": 15, "resources": [ { "type": "irq", - "base": 29, + "base": 16, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 283618844672, + "base": 275263791104, "range": 4096, "enabled": true, "access": "read_write", @@ -2918,7 +3881,7 @@ "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 29, + "irq": 16, "prog_if": 0 }, "driver": "intel-lpss", @@ -2929,10 +3892,100 @@ "driver_modules": [ "intel_lpss_pci" ], - "module_alias": "pci:v00008086d00007E50sv000017AAsd00002234bc0Csc80i00" + "module_alias": "pci:v00008086d000051A8sv00001028sd00000B14bc07sc80i00" }, { - "index": 44, + "index": 34, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 18 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0000", + "name": "Serial controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "8250", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "51fc", + "value": 20988 + }, + "sub_device": { + "hex": "0b14", + "value": 2836 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial controller", + "sysfs_id": "/devices/pci0000:00/0000:00:12.0", + "sysfs_bus_id": "0000:00:12.0", + "sysfs_iommu_group_id": 10, + "resources": [ + { + "type": "irq", + "base": 26, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 414366236672, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 26, + "prog_if": 0 + }, + "driver": "intel_ish_ipc", + "driver_module": "intel_ish_ipc", + "drivers": [ + "intel_ish_ipc" + ], + "driver_modules": [ + "intel_ish_ipc" + ], + "module_alias": "pci:v00008086d000051FCsv00001028sd00000B14bc07sc00i00" + }, + { + "index": 36, "attached_to": 0, "class_list": [ "pci", @@ -2962,20 +4015,20 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e78", - "value": 32376 + "hex": "51e8", + "value": 20968 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0001", + "value": 1 }, "model": "Intel Serial bus controller", "sysfs_id": "/devices/pci0000:00/0000:00:15.0", @@ -2984,13 +4037,13 @@ "resources": [ { "type": "irq", - "base": 32, + "base": 27, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 283618836480, + "base": 275263782912, "range": 4096, "enabled": true, "access": "read_write", @@ -3002,7 +4055,7 @@ "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 32, + "irq": 27, "prog_if": 0 }, "driver": "intel-lpss", @@ -3013,10 +4066,10 @@ "driver_modules": [ "intel_lpss_pci" ], - "module_alias": "pci:v00008086d00007E78sv000017AAsd00002234bc0Csc80i00" + "module_alias": "pci:v00008086d000051E8sv00001028sd00000B14bc0Csc80i00" }, { - "index": 46, + "index": 37, "attached_to": 0, "class_list": [ "pci", @@ -3029,11 +4082,65 @@ }, "slot": { "bus": 0, - "number": 11 + "number": 6 }, "base_class": { - "hex": "0012", - "value": 18 + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0080", + "name": "System peripheral", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "09ab", + "value": 2475 + }, + "model": "Intel System peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0", + "sysfs_bus_id": "0000:00:06.0", + "sysfs_iommu_group_id": 4, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d000009ABsv00000000sd00000000bc08sc80i00" + }, + { + "index": 39, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 30 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 }, "vendor": { "hex": "8086", @@ -3041,37 +4148,35 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7d1d", - "value": 32029 + "hex": "51ab", + "value": 20907 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0004", - "value": 4 + "hex": "0001", + "value": 1 }, - "model": "unknown unknown", - "sysfs_id": "/devices/pci0000:00/0000:00:0b.0", - "sysfs_bus_id": "0000:00:0b.0", - "sysfs_iommu_group_id": 10, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1e.3", + "sysfs_bus_id": "0000:00:1e.3", + "sysfs_iommu_group_id": 15, "resources": [ { - "type": "mem", - "base": 285078454272, - "range": 134217728, - "enabled": true, - "access": "read_write", - "prefetch": "no" + "type": "irq", + "base": 37, + "triggered": 0, + "enabled": true }, { "type": "mem", - "base": 285242880000, + "base": 275263799296, "range": 4096, "enabled": true, "access": "read_write", @@ -3079,17 +4184,25 @@ } ], "detail": { - "function": 0, - "command": 2, + "function": 3, + "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 0, + "irq": 37, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007D1Dsv000017AAsd00002234bc12sc00i00" + "driver": "intel-lpss", + "driver_module": "intel_lpss_pci", + "drivers": [ + "intel-lpss" + ], + "driver_modules": [ + "intel_lpss_pci" + ], + "module_alias": "pci:v00008086d000051ABsv00001028sd00000B14bc0Csc80i00" }, { - "index": 49, + "index": 42, "attached_to": 0, "class_list": [ "pci", @@ -3120,55 +4233,55 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e7f", - "value": 32383 + "hex": "51ef", + "value": 20975 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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": 12, + "sysfs_iommu_group_id": 11, "resources": [ { "type": "mem", - "base": 285242834944, + "base": 414366400512, "range": 16384, - "enabled": true, + "enabled": false, "access": "read_write", "prefetch": "no" }, { "type": "mem", - "base": 285242871808, + "base": 414366445568, "range": 4096, - "enabled": true, + "enabled": false, "access": "read_write", "prefetch": "no" } ], "detail": { "function": 2, - "command": 2, + "command": 0, "header_type": 0, "secondary_bus": 0, "irq": 0, "prog_if": 0 }, - "module_alias": "pci:v00008086d00007E7Fsv000017AAsd00002234bc05sc00i00" + "module_alias": "pci:v00008086d000051EFsv00001028sd00000B14bc05sc00i00" }, { - "index": 53, + "index": 46, "attached_to": 0, "class_list": [ "pci", @@ -3199,25 +4312,25 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e22", - "value": 32290 + "hex": "51a3", + "value": 20899 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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": 18, + "sysfs_iommu_group_id": 16, "resources": [ { "type": "io", @@ -3228,13 +4341,13 @@ }, { "type": "irq", - "base": 18, + "base": 16, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285242851328, + "base": 414366416896, "range": 256, "enabled": true, "access": "read_write", @@ -3246,7 +4359,7 @@ "command": 3, "header_type": 0, "secondary_bus": 0, - "irq": 18, + "irq": 16, "prog_if": 0 }, "driver": "i801_smbus", @@ -3257,10 +4370,10 @@ "driver_modules": [ "i2c_i801" ], - "module_alias": "pci:v00008086d00007E22sv000017AAsd00002234bc0Csc05i00" + "module_alias": "pci:v00008086d000051A3sv00001028sd00000B14bc0Csc05i00" }, { - "index": 55, + "index": 47, "attached_to": 0, "class_list": [ "pci", @@ -3273,16 +4386,16 @@ }, "slot": { "bus": 0, - "number": 10 + "number": 5 }, "base_class": { - "hex": "0011", - "name": "Signal processing controller", - "value": 17 + "hex": "0004", + "name": "Multimedia controller", + "value": 4 }, "sub_class": { "hex": "0080", - "name": "Signal processing controller", + "name": "Multimedia controller", "value": 128 }, "vendor": { @@ -3291,57 +4404,55 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7d0d", - "value": 32013 + "hex": "465d", + "value": 18013 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0001", - "value": 1 + "hex": "0006", + "value": 6 }, - "model": "Intel Signal processing controller", - "sysfs_id": "/devices/pci0000:00/0000:00:0a.0", - "sysfs_bus_id": "0000:00:0a.0", - "sysfs_iommu_group_id": 9, + "model": "Intel Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:05.0", + "sysfs_bus_id": "0000:00:05.0", + "sysfs_iommu_group_id": 0, "resources": [ + { + "type": "irq", + "base": 255, + "triggered": 0, + "enabled": true + }, { "type": "mem", - "base": 285242294272, - "range": 262144, - "enabled": true, + "base": 414330126336, + "range": 16777216, + "enabled": false, "access": "read_write", "prefetch": "no" } ], "detail": { "function": 0, - "command": 2, + "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, + "irq": 255, "prog_if": 0 }, - "driver": "intel_vsec", - "driver_module": "intel_vsec", - "drivers": [ - "intel_vsec" - ], - "driver_modules": [ - "intel_vsec" - ], - "module_alias": "pci:v00008086d00007D0Dsv000017AAsd00002234bc11sc80i00" + "module_alias": "pci:v00008086d0000465Dsv00001028sd00000B14bc04sc80i00" } ], "sound": [ { - "index": 41, + "index": 31, "attached_to": 0, "class_list": [ "sound", @@ -3362,12 +4473,9 @@ "value": 4 }, "sub_class": { - "hex": "0003", - "value": 3 - }, - "pci_interface": { - "hex": "0080", - "value": 128 + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 }, "vendor": { "hex": "8086", @@ -3375,43 +4483,43 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e28", - "value": 32296 + "hex": "51cc", + "value": 20940 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "hex": "0001", + "value": 1 }, - "model": "Intel Multimedia controller", + "model": "Intel Multimedia audio controller", "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", "sysfs_bus_id": "0000:00:1f.3", - "sysfs_iommu_group_id": 18, + "sysfs_iommu_group_id": 16, "resources": [ { "type": "irq", - "base": 213, + "base": 190, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285229449216, - "range": 2097152, + "base": 414363680768, + "range": 1048576, "enabled": true, "access": "read_write", "prefetch": "no" }, { "type": "mem", - "base": 285242818560, + "base": 414366367744, "range": 16384, "enabled": true, "access": "read_write", @@ -3423,24 +4531,238 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 213, - "prog_if": 128 + "irq": 190, + "prog_if": 0 }, - "driver": "sof-audio-pci-intel-mtl", - "driver_module": "snd_sof_pci_intel_mtl", + "driver": "sof-audio-pci-intel-tgl", + "driver_module": "snd_sof_pci_intel_tgl", "drivers": [ - "sof-audio-pci-intel-mtl" + "sof-audio-pci-intel-tgl" ], "driver_modules": [ - "snd_sof_pci_intel_mtl" + "snd_sof_pci_intel_tgl" ], - "module_alias": "pci:v00008086d00007E28sv000017AAsd00002234bc04sc03i80" + "module_alias": "pci:v00008086d000051CCsv00001028sd00000B14bc04sc01i00" + }, + { + "index": 53, + "attached_to": 61, + "class_list": [ + "sound", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "08e5", + "name": "HD Pro Webcam C920", + "value": 2277 + }, + "revision": { + "hex": "0000", + "name": "0.21", + "value": 0 + }, + "serial": "604B96BF", + "model": "Logitech HD Pro Webcam C920", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.1/1-6.1.3.1:1.2", + "sysfs_bus_id": "1-6.1.3.1: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": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v046Dp08E5d0021dcEFdsc02dp01ic01isc01ip00in02" + }, + { + "index": 66, + "attached_to": 61, + "class_list": [ + "sound", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "08e5", + "name": "HD Pro Webcam C920", + "value": 2277 + }, + "revision": { + "hex": "0000", + "name": "0.21", + "value": 0 + }, + "serial": "604B96BF", + "model": "Logitech HD Pro Webcam C920", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.1/1-6.1.3.1:1.3", + "sysfs_bus_id": "1-6.1.3.1:1.3", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 3, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": [ + "snd-usb-audio" + ], + "driver_modules": [ + "snd_usb_audio" + ], + "module_alias": "usb:v046Dp08E5d0021dcEFdsc02dp01ic01isc02ip00in03" } ], "storage_controller": [ { - "index": 47, - "attached_to": 43, + "index": 38, + "attached_to": 0, "class_list": [ "storage_controller", "pci" @@ -3451,8 +4773,8 @@ "value": 4 }, "slot": { - "bus": 5, - "number": 0 + "bus": 0, + "number": 14 }, "base_class": { "hex": "0001", @@ -3460,48 +4782,52 @@ "value": 1 }, "sub_class": { - "hex": "0008", - "value": 8 - }, - "pci_interface": { - "hex": "0002", - "value": 2 + "hex": "0004", + "name": "RAID bus controller", + "value": 4 }, "vendor": { - "hex": "2646", - "value": 9798 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "sub_vendor": { - "hex": "2646", - "value": 9798 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "5027", - "value": 20519 + "hex": "467f", + "value": 18047 }, "sub_device": { - "hex": "5027", - "value": 20519 + "hex": "0b14", + "value": 2836 }, - "revision": { - "hex": "0001", - "value": 1 - }, - "model": "Mass storage controller", - "sysfs_id": "/devices/pci0000:00/0000:00:06.2/0000:05:00.0", - "sysfs_bus_id": "0000:05:00.0", - "sysfs_iommu_group_id": 21, + "model": "Intel RAID bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0e.0", + "sysfs_bus_id": "0000:00:0e.0", + "sysfs_iommu_group_id": 9, "resources": [ { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true + "type": "mem", + "base": 3154116608, + "range": 33554432, + "enabled": true, + "access": "read_write", + "prefetch": "no" }, { "type": "mem", - "base": 2897215488, - "range": 16384, + "base": 414296571904, + "range": 33554432, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 414364729344, + "range": 1048576, "enabled": true, "access": "read_write", "prefetch": "no" @@ -3512,22 +4838,22 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 16, - "prog_if": 2 + "irq": 0, + "prog_if": 0 }, - "driver": "nvme", - "driver_module": "nvme", + "driver": "vmd", + "driver_module": "vmd", "drivers": [ - "nvme" + "vmd" ], "driver_modules": [ - "nvme" + "vmd" ], - "module_alias": "pci:v00002646d00005027sv00002646sd00005027bc01sc08i02" + "module_alias": "pci:v00008086d0000467Fsv00001028sd00000B14bc01sc04i00" }, { - "index": 50, - "attached_to": 45, + "index": 44, + "attached_to": 22, "class_list": [ "storage_controller", "pci" @@ -3538,7 +4864,7 @@ "value": 4 }, "slot": { - "bus": 4, + "bus": 225, "number": 0 }, "base_class": { @@ -3555,39 +4881,33 @@ "value": 2 }, "vendor": { - "hex": "1e0f", - "value": 7695 + "hex": "1344", + "value": 4932 }, "sub_vendor": { - "hex": "1e0f", - "value": 7695 + "hex": "1344", + "value": 4932 }, "device": { - "hex": "0010", - "value": 16 + "hex": "5414", + "value": 21524 }, "sub_device": { - "hex": "0001", - "value": 1 + "hex": "1400", + "value": 5120 }, "revision": { "hex": "0001", "value": 1 }, "model": "Mass storage controller", - "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:04:00.0", - "sysfs_bus_id": "0000:04:00.0", - "sysfs_iommu_group_id": 20, + "sysfs_id": "/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:06.0/10000:e1:00.0", + "sysfs_bus_id": "10000:e1:00.0", + "sysfs_iommu_group_id": 9, "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, { "type": "mem", - "base": 2898264064, + "base": 3154116608, "range": 16384, "enabled": true, "access": "read_write", @@ -3599,7 +4919,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 16, + "irq": 0, "prog_if": 2 }, "driver": "nvme", @@ -3610,7 +4930,7 @@ "driver_modules": [ "nvme" ], - "module_alias": "pci:v00001E0Fd00000010sv00001E0Fsd00000001bc01sc08i02" + "module_alias": "pci:v00001344d00005414sv00001344sd00001400bc01sc08i02" } ], "system": { @@ -3618,8 +4938,98 @@ }, "usb": [ { - "index": 59, - "attached_to": 60, + "index": 58, + "attached_to": 61, + "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": "413c", + "value": 16700 + }, + "device": { + "hex": "b06f", + "name": "Dell dock", + "value": 45167 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.3/1-6.1.3.5/1-6.1.3.5:1.0", + "sysfs_bus_id": "1-6.1.3.5:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v413CpB06Fd0101dc00dsc00dp00ic03isc00ip00in00" + }, + { + "index": 64, + "attached_to": 69, "class_list": [ "usb", "unknown" @@ -3649,19 +5059,19 @@ "value": 10182 }, "device": { - "hex": "6594", + "hex": "63ac", "name": "Goodix USB2.0 MISC", - "value": 26004 + "value": 25516 }, "revision": { "hex": "0000", "name": "1.00", "value": 0 }, - "serial": "UIDD44FA05B_XXXX_MOC_B0", + "serial": "UIDF6CB8136_XXXX_MOC_B0", "model": "Goodix USB2.0 MISC", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0", - "sysfs_bus_id": "3-7:1.0", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0", + "sysfs_bus_id": "1-3:1.0", "resources": [ { "type": "baud", @@ -3699,11 +5109,11 @@ "interface_alternate_setting": 0 }, "hotplug": "usb", - "module_alias": "usb:v27C6p6594d0100dcEFdsc00dp00icFFisc00ip00in00" + "module_alias": "usb:v27C6p63ACd0100dcEFdsc00dp00icFFisc00ip00in00" }, { - "index": 62, - "attached_to": 60, + "index": 71, + "attached_to": 69, "class_list": [ "usb", "unknown" @@ -3728,24 +5138,105 @@ "value": 0 }, "vendor": { - "hex": "30c9", - "name": "8SSC21K64624V1SR49K25RW", - "value": 12489 + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 }, "device": { - "hex": "00cd", - "name": "Integrated Camera", - "value": 205 + "hex": "0b63", + "name": "USB Bridge", + "value": 2915 }, "revision": { "hex": "0000", - "name": "10.08", + "name": "10.01", "value": 0 }, - "serial": "0001", - "model": "8SSC21K64624V1SR49K25RW Integrated Camera", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.4", - "sysfs_bus_id": "3-9:1.4", + "model": "Intel USB Bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0", + "sysfs_bus_id": "1-4:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "hex": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_protocol": 255, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v8086p0B63d1001dc00dsc00dp00icFFiscFFipFFin00" + }, + { + "index": 73, + "attached_to": 72, + "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": "413c", + "value": 16700 + }, + "device": { + "hex": "b06e", + "name": "Dell dock", + "value": 45166 + }, + "revision": { + "hex": "0000", + "name": "1.01", + "value": 0 + }, + "model": "Dell dock", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1/1-6.1.5/1-6.1.5:1.0", + "sysfs_bus_id": "1-6.1.5:1.0", "resources": [ { "type": "baud", @@ -3758,52 +5249,45 @@ ], "detail": { "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 + "hex": "0000", + "name": "per_interface", + "value": 0 }, "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 + "hex": "0000", + "name": "per_interface", + "value": 0 }, - "device_protocol": 1, + "device_protocol": 0, "interface_class": { - "hex": "00fe", - "name": "application", - "value": 254 + "hex": "0003", + "name": "hid", + "value": 3 }, "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 + "hex": "0000", + "name": "per_interface", + "value": 0 }, - "interface_protocol": 1, - "interface_number": 4, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "00fe", - "name": "application", - "value": 254 - }, - "function_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "function_protocol": 0, - "interface_count": 1, - "first_interface": 4 - } + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 }, "hotplug": "usb", - "module_alias": "usb:v30C9p00CDd1008dcEFdsc02dp01icFEisc01ip01in04" + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v413CpB06Ed0101dc00dsc00dp00ic03isc00ip00in00" } ], "usb_controller": [ { - "index": 29, + "index": 17, "attached_to": 0, "class_list": [ "usb_controller", @@ -3838,35 +5322,35 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7ec0", - "value": 32448 + "hex": "461e", + "value": 17950 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0002", - "value": 2 + "hex": "0006", + "value": 6 }, "model": "Intel USB Controller", "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", "sysfs_bus_id": "0000:00:0d.0", - "sysfs_iommu_group_id": 11, + "sysfs_iommu_group_id": 8, "resources": [ { "type": "irq", - "base": 130, + "base": 164, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285242753024, + "base": 414366302208, "range": 65536, "enabled": true, "access": "read_write", @@ -3878,7 +5362,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 130, + "irq": 164, "prog_if": 48 }, "driver": "xhci_hcd", @@ -3889,10 +5373,10 @@ "driver_modules": [ "xhci_pci" ], - "module_alias": "pci:v00008086d00007EC0sv000017AAsd00002234bc0Csc03i30" + "module_alias": "pci:v00008086d0000461Esv00001028sd00000B14bc0Csc03i30" }, { - "index": 52, + "index": 45, "attached_to": 0, "class_list": [ "usb_controller", @@ -3927,35 +5411,35 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7e7d", - "value": 32381 + "hex": "51ed", + "value": 20973 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0020", - "value": 32 + "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": 12, + "sysfs_iommu_group_id": 11, "resources": [ { "type": "irq", - "base": 149, + "base": 161, "triggered": 0, "enabled": true }, { "type": "mem", - "base": 285242687488, + "base": 414366171136, "range": 65536, "enabled": true, "access": "read_write", @@ -3967,7 +5451,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 149, + "irq": 161, "prog_if": 48 }, "driver": "xhci_hcd", @@ -3978,10 +5462,10 @@ "driver_modules": [ "xhci_pci" ], - "module_alias": "pci:v00008086d00007E7Dsv000017AAsd00002234bc0Csc03i30" + "module_alias": "pci:v00008086d000051EDsv00001028sd00000B14bc0Csc03i30" }, { - "index": 54, + "index": 48, "attached_to": 0, "class_list": [ "usb_controller", @@ -4016,25 +5500,25 @@ "value": 32902 }, "sub_vendor": { - "hex": "17aa", - "value": 6058 + "hex": "1028", + "value": 4136 }, "device": { - "hex": "7ec2", - "value": 32450 + "hex": "463e", + "value": 17982 }, "sub_device": { - "hex": "2234", - "value": 8756 + "hex": "0b14", + "value": 2836 }, "revision": { - "hex": "0002", - "value": 2 + "hex": "0006", + "value": 6 }, "model": "Intel USB Controller", "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", "sysfs_bus_id": "0000:00:0d.2", - "sysfs_iommu_group_id": 11, + "sysfs_iommu_group_id": 8, "resources": [ { "type": "irq", @@ -4044,7 +5528,7 @@ }, { "type": "mem", - "base": 285242032128, + "base": 414365777920, "range": 262144, "enabled": true, "access": "read_write", @@ -4052,7 +5536,7 @@ }, { "type": "mem", - "base": 285242875904, + "base": 414366449664, "range": 4096, "enabled": true, "access": "read_write", @@ -4075,16 +5559,16 @@ "driver_modules": [ "thunderbolt" ], - "module_alias": "pci:v00008086d00007EC2sv000017AAsd00002234bc0Csc03i40" + "module_alias": "pci:v00008086d0000463Esv00001028sd00000B14bc0Csc03i40" } ] }, "smbios": { "bios": { - "handle": 28, - "vendor": "LENOVO", - "version": "N48ET19W (1.06 )", - "date": "07/18/2024", + "handle": 1, + "vendor": "Dell Inc.", + "version": "1.11.0", + "date": "04/12/2023", "features": [ "PCI supported", "PnP supported", @@ -4093,24 +5577,24 @@ "CD boot supported", "Selectable boot supported", "EDD spec supported", - "720kB Floppy supported", "Print Screen supported", "8042 Keyboard Services supported", "Serial Services supported", "Printer Services supported", - "CGA/Mono Video supported", "ACPI supported", "USB Legacy supported", - "BIOS Boot Spec supported" + "Smart Battery supported", + "BIOS Boot Spec supported", + "F12 Network boot supported" ], - "start_address": "0xe0000", + "start_address": "0x0", "rom_size": 16777216 }, "board": { - "handle": 30, - "manufacturer": "LENOVO", - "product": "21KVCTO1WW", - "version": "Not Defined", + "handle": 512, + "manufacturer": "Dell Inc.", + "product": "0GNN3X", + "version": "A03", "board_type": { "hex": "000a", "name": "Motherboard", @@ -4120,15 +5604,15 @@ "Hosting Board", "Replaceable" ], - "location": "Not Available", - "chassis": 31 + "location": "", + "chassis": 768 }, "cache": [ { - "handle": 19, + "handle": 1792, "socket": "L1 Cache", - "size_max": 288, - "size_current": 288, + "size_max": 96, + "size_current": 96, "speed": 0, "mode": { "hex": "0001", @@ -4166,10 +5650,10 @@ ] }, { - "handle": 20, + "handle": 1793, "socket": "L1 Cache", - "size_max": 384, - "size_current": 384, + "size_max": 64, + "size_current": 64, "speed": 0, "mode": { "hex": "0001", @@ -4195,9 +5679,9 @@ "value": 3 }, "associativity": { - "hex": "0008", - "name": "16-way Set-Associative", - "value": 8 + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 }, "sram_type_current": [ "Synchronous" @@ -4207,10 +5691,10 @@ ] }, { - "handle": 21, + "handle": 1794, "socket": "L2 Cache", - "size_max": 12288, - "size_current": 12288, + "size_max": 2560, + "size_current": 2560, "speed": 0, "mode": { "hex": "0001", @@ -4236,9 +5720,9 @@ "value": 5 }, "associativity": { - "hex": "0008", - "name": "16-way Set-Associative", - "value": 8 + "hex": "0001", + "name": "Other", + "value": 1 }, "sram_type_current": [ "Synchronous" @@ -4248,10 +5732,10 @@ ] }, { - "handle": 22, + "handle": 1795, "socket": "L3 Cache", - "size_max": 24576, - "size_current": 24576, + "size_max": 12288, + "size_current": 12288, "speed": 0, "mode": { "hex": "0001", @@ -4289,10 +5773,10 @@ ] }, { - "handle": 23, + "handle": 1796, "socket": "L1 Cache", - "size_max": 320, - "size_current": 320, + "size_max": 256, + "size_current": 256, "speed": 0, "mode": { "hex": "0001", @@ -4330,10 +5814,10 @@ ] }, { - "handle": 24, + "handle": 1797, "socket": "L1 Cache", - "size_max": 640, - "size_current": 640, + "size_max": 512, + "size_current": 512, "speed": 0, "mode": { "hex": "0001", @@ -4371,10 +5855,10 @@ ] }, { - "handle": 25, + "handle": 1798, "socket": "L2 Cache", - "size_max": 6144, - "size_current": 6144, + "size_max": 4096, + "size_current": 4096, "speed": 0, "mode": { "hex": "0001", @@ -4412,10 +5896,10 @@ ] }, { - "handle": 26, + "handle": 1799, "socket": "L3 Cache", - "size_max": 24576, - "size_current": 24576, + "size_max": 12288, + "size_current": 12288, "speed": 0, "mode": { "hex": "0001", @@ -4454,9 +5938,9 @@ } ], "chassis": { - "handle": 31, - "manufacturer": "LENOVO", - "version": "None", + "handle": 768, + "manufacturer": "Dell Inc.", + "version": "", "chassis_type": { "hex": "000a", "name": "Notebook", @@ -4464,73 +5948,66 @@ }, "lock_present": false, "bootup_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 + "hex": "0003", + "name": "Safe", + "value": 3 }, "power_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 + "hex": "0003", + "name": "Safe", + "value": 3 }, "thermal_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 + "hex": "0003", + "name": "Safe", + "value": 3 }, "security_state": { - "hex": "0002", - "name": "Unknown", - "value": 2 + "hex": "0003", + "name": "None", + "value": 3 }, "oem": "0x0" }, "config": { - "handle": 49 + "handle": 3072, + "options": [ + "J6H1:1-X Boot with Default; J8H1:1-X BIOS RECOVERY" + ] }, "group_associations": [ { - "handle": 59, - "power": { - "hex": "0000", - "name": "Disabled", - "value": 0 - }, - "keyboard": { - "hex": "0002", - "name": "Not Implemented", - "value": 2 - }, - "admin": { - "hex": "0000", - "name": "Disabled", - "value": 0 - }, - "reset": { - "hex": "0002", - "name": "Not Implemented", - "value": 2 - } - }, - { - "handle": 61, + "handle": 3584, "name": "$MEI", "handles": [ 0 ] + }, + { + "handle": 3585, + "name": "Firmware Version Info", + "handles": [ + 225404178713856, + 225408473681153, + 225412768648450, + 225417063615747, + 225421358583044, + 225425653550341, + 52486 + ] } ], "language": [ { - "handle": 50, + "handle": 3328, "languages": [ - "en-US" + "enUS" ] } ], "memory_array": [ { - "handle": 3, + "handle": 4096, "location": { "hex": "0003", "name": "Motherboard", @@ -4546,36 +6023,36 @@ "name": "None", "value": 3 }, - "max_size": 67108864, + "max_size": 16777216, "error_handle": 65534, "slots": 8 } ], "memory_array_mapped_address": [ { - "handle": 12, - "array_handle": 3, + "handle": 4864, + "array_handle": 4096, "start_address": 0, - "end_address": 68719476736, + "end_address": 17179869184, "part_width": 8 } ], "memory_device": [ { - "handle": 4, - "location": "Controller0-ChannelA-DIMM0", + "handle": 4352, + "location": "Motherboard", "bank_location": "BANK 0", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4586,23 +6063,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 5, - "location": "Controller0-ChannelB-DIMM0", + "handle": 4353, + "location": "Motherboard", "bank_location": "BANK 1", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4613,23 +6090,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 6, - "location": "Controller0-ChannelC-DIMM0", + "handle": 4354, + "location": "Motherboard", "bank_location": "BANK 2", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4640,23 +6117,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 7, - "location": "Controller0-ChannelD-DIMM0", + "handle": 4355, + "location": "Motherboard", "bank_location": "BANK 3", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4667,23 +6144,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 8, - "location": "Controller1-ChannelA-DIMM0", + "handle": 4356, + "location": "Motherboard", "bank_location": "BANK 0", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4694,23 +6171,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 9, - "location": "Controller1-ChannelB-DIMM0", + "handle": 4357, + "location": "Motherboard", "bank_location": "BANK 1", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4721,23 +6198,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 10, - "location": "Controller1-ChannelC-DIMM0", + "handle": 4358, + "location": "Motherboard", "bank_location": "BANK 2", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4748,23 +6225,23 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 + "speed": 6400 }, { - "handle": 11, - "location": "Controller1-ChannelD-DIMM0", + "handle": 4359, + "location": "Motherboard", "bank_location": "BANK 3", - "manufacturer": "Micron Technology", - "part_number": "RMCA1000MBC2JDF-7500", - "array_handle": 3, + "manufacturer": "", + "part_number": "MT62F1G64D8CH-031", + "array_handle": 4096, "error_handle": 65534, - "width": 16, + "width": 64, "ecc_bits": 0, - "size": 8388608, + "size": 2097152, "form_factor": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "000b", + "name": "Row of Chips", + "value": 11 }, "set": 0, "memory_type": { @@ -4775,158 +6252,38 @@ "memory_type_details": [ "Synchronous" ], - "speed": 7467 - } - ], - "memory_error": [ - { - "handle": 63, - "error_type": { - "hex": "0003", - "name": "OK", - "value": 3 - }, - "granularity": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "operation": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, - "range": 2147483648 + "speed": 6400 } ], "pointing_device": [ { - "handle": 64, - "mouse_type": { - "hex": "0005", - "name": "Track Point", - "value": 5 - }, - "interface": { - "hex": "0004", - "name": "PS/2", - "value": 4 - }, - "buttons": 3 - }, - { - "handle": 65, + "handle": 5376, "mouse_type": { "hex": "0007", "name": "Touch Pad", "value": 7 }, "interface": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "0007", + "name": "Bus Mouse", + "value": 7 }, "buttons": 2 } ], - "port_connector": [ + "power_controls": [ { - "handle": 32, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 1" - }, - { - "handle": 33, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 2" - }, - { - "handle": 34, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 3" - }, - { - "handle": 35, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB 4" - }, - { - "handle": 42, - "port_type": { - "hex": "001c", - "name": "Video Port", - "value": 28 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "Hdmi1" - }, - { - "handle": 46, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "Not Available", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "Headphone/Microphone Combo Jack1" + "handle": 6400, + "month": 0, + "day": 0, + "hour": 0, + "minute": 0, + "second": 0 } ], "processor": [ { - "handle": 27, + "handle": 1024, "socket": "U3E1", "socket_type": { "hex": "0001", @@ -4935,17 +6292,17 @@ }, "socket_populated": true, "manufacturer": "Intel(R) Corporation", - "version": "Intel(R) Core(TM) Ultra 7 155H", - "part": "None", + "version": "12th Gen Intel(R) Core(TM) i7-1250U", + "part": "", "processor_type": { "hex": "0003", "name": "CPU", "value": 3 }, "processor_family": { - "hex": "0001", + "hex": "00c6", "name": "Other", - "value": 1 + "value": 198 }, "processor_status": { "hex": "0001", @@ -4953,25 +6310,25 @@ "value": 1 }, "clock_ext": 100, - "clock_max": 4800, - "cache_handle_l1": 24, - "cache_handle_l2": 25, - "cache_handle_l3": 26 + "clock_max": 4700, + "cache_handle_l1": 1797, + "cache_handle_l2": 1798, + "cache_handle_l3": 1799 } ], "slot": [ { - "handle": 48, - "designation": "SimCard Slot", + "handle": 2304, + "designation": "PCI-Express 0", "slot_type": { - "hex": "0001", + "hex": "00a5", "name": "Other", - "value": 1 + "value": 165 }, "bus_width": { - "hex": "0001", + "hex": "0008", "name": "Other", - "value": 1 + "value": 8 }, "usage": { "hex": "0003", @@ -4979,18 +6336,113 @@ "value": 3 }, "length": { - "hex": "0001", - "name": "Other", - "value": 1 + "hex": "0004", + "name": "Long", + "value": 4 }, - "id": 0 + "id": 0, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 2305, + "designation": "PCI-Express 1", + "slot_type": { + "hex": "00a5", + "name": "Other", + "value": 165 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0004", + "name": "Long", + "value": 4 + }, + "id": 1, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 2306, + "designation": "PCI-Express 2", + "slot_type": { + "hex": "00a5", + "name": "Other", + "value": 165 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0004", + "name": "Long", + "value": 4 + }, + "id": 2, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 2307, + "designation": "PCI-Express 3", + "slot_type": { + "hex": "00a5", + "name": "Other", + "value": 165 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0004", + "name": "Long", + "value": 4 + }, + "id": 3, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] } ], "system": { - "handle": 29, - "manufacturer": "LENOVO", - "product": "21KVCTO1WW", - "version": "ThinkPad P1 Gen 7", + "handle": 256, + "manufacturer": "Dell Inc.", + "product": "XPS 9315", + "version": "", "wake_up": { "hex": "0006", "name": "Power Switch", diff --git a/machines/blocktech/pkunis.home.nix b/machines/sue/pim.home.nix similarity index 66% rename from machines/blocktech/pkunis.home.nix rename to machines/sue/pim.home.nix index 808129b..3664f01 100644 --- a/machines/blocktech/pkunis.home.nix +++ b/machines/sue/pim.home.nix @@ -1,54 +1,43 @@ { - lib, self, pkgs, config, ... -}: let - inherit (self.packages.${pkgs.system}) neovim; -in { +}: { config = { pim = { - tidal.enable = false; + tidal.enable = true; gnome.enable = true; vscode.enable = true; syncthing.enable = true; + neovim.enable = true; firefox.enable = true; }; - programs = { - chromium.enable = true; - git.extraConfig.core.editor = lib.getExe neovim; - }; + programs.chromium.enable = true; home = { - username = "pkunis"; - homeDirectory = "/home/pkunis"; + username = "pim"; + homeDirectory = "/home/pim"; stateVersion = "23.05"; - sessionVariables = { - MANPAGER = "${lib.getExe neovim} +Man!"; - EDITOR = lib.getExe neovim; - }; }; sops = { - defaultSopsFile = "${self}/secrets/blocktech/pkunis.yaml"; + defaultSopsFile = "${self}/secrets/sue/pim.yaml"; age.keyFile = "${config.xdg.configHome}/sops/age/keys.txt"; secrets."keepassxc".path = "${config.xdg.configHome}/keepassxc/keepassxc.ini"; }; home.packages = - [self.packages.${pkgs.system}.neovim] - ++ (with pkgs; [ + (with pkgs; [ jellyfin-media-player virt-manager - bottles-unwrapped - feishin ]) ++ (with pkgs.unstable; [ attic-client dbeaver-bin devenv + bottles-unwrapped gimp hexchat impression @@ -57,6 +46,7 @@ in { krita libreoffice # logseq # Has insecure electron dependency + moonlight-qt nicotine-plus qFlipper signal-desktop @@ -67,6 +57,7 @@ in { wireshark # nheko # Has insecure olm dependency handbrake + feishin redfishtool ]); }; diff --git a/machines/warwick/configuration.nix b/machines/warwick/configuration.nix index 628df19..3e3052b 100644 --- a/machines/warwick/configuration.nix +++ b/machines/warwick/configuration.nix @@ -3,9 +3,7 @@ config, inputs, ... -}: let - gatusPort = 8080; -in { +}: { imports = [inputs.nixos-hardware.nixosModules.raspberry-pi-4]; config = { @@ -37,282 +35,5 @@ in { fsType = "ext4"; options = ["noatime"]; }; - - networking.firewall.allowedTCPPorts = [gatusPort]; - systemd.services.gatus.serviceConfig.EnvironmentFile = config.sops.secrets."gatus/env".path; - - services.gatus = { - enable = true; - - settings = { - alerting = let - default-alert = { - enabled = true; - failure-threshold = 2; - success-threshold = 1; - send-on-resolved = true; - }; - in { - email = { - from = "gatus@kun.is"; - host = "mail.smtp2go.com"; - port = 2525; - to = "pim@kunis.nl"; - client.insecure = true; - username = "$SMTP_USERNAME"; - password = "$SMTP_PASSWORD"; - click = "http://warwick:${toString gatusPort}"; - inherit default-alert; - }; - - ntfy = { - url = "https://ntfy.kun.is"; - token = "$NTFY_ACCESS_TOKEN"; - inherit default-alert; - }; - }; - - web.port = gatusPort; - endpoints = let - status = code: "[STATUS] == ${toString code}"; - bodyContains = text: "[BODY] == pat(*${text}*)"; - maxResponseTime = ms: "[RESPONSE_TIME] < ${toString ms}"; - serviceEndpoints = [ - { - name = "Blog"; - url = "https://pim.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Cyberchef"; - url = "https://cyberchef.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "CyberChef - The Cyber Swiss Army Knife") - ]; - } - { - name = "HedgeDoc"; - url = "https://md.kun.is/status"; - conditions = [ - (status 200) - (maxResponseTime 300) - "[BODY].notesCount > 0" - ]; - } - { - name = "Forgejo"; - url = "https://git.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "Forgejo: Beyond coding. We forge.") - ]; - } - { - name = "Authentik"; - url = "https://authentik.kun.is/-/health/live/"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Ntfy"; - url = "https://ntfy.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Jellyfin"; - url = "https://media.kun.is/health"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Attic"; - url = "https://attic.kun.is"; - conditions = [ - (status 200) - (bodyContains "attic push") - (maxResponseTime 300) - ]; - } - { - name = "Esrom"; - url = "https://esrom.kun.is/seinlamp"; - conditions = [ - (status 200) - (bodyContains "Welcome to") - (maxResponseTime 300) - ]; - } - { - name = "Atuin"; - url = "https://atuin.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - "[BODY].total_history > 0" - ]; - } - { - name = "KitchenOwl"; - url = "https://boodschappen.kun.is"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "KitchenOwl") - ]; - } - { - name = "Inbucket"; - url = "https://inbucket.griffin-mermaid.ts.net/status"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "FreshRSS"; - url = "https://freshrss.griffin-mermaid.ts.net/i"; - conditions = [ - (status 401) - (maxResponseTime 300) - ]; - } - { - name = "Paperless-ngx"; - url = "https://paperless.griffin-mermaid.ts.net/accounts/login/"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "Please sign in.") - ]; - } - { - name = "Jellyseerr"; - url = "https://jellyseerr.griffin-mermaid.ts.net/login"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Radarr"; - url = "https://radarr.griffin-mermaid.ts.net"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Sonarr"; - url = "https://sonarr.griffin-mermaid.ts.net/login"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Bazarr"; - url = "https://bazarr.griffin-mermaid.ts.net/system/status"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "Bazarr") - ]; - } - { - name = "Prowlarr"; - url = "https://prowlarr.griffin-mermaid.ts.net/login"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Deluge"; - url = "https://deluge.griffin-mermaid.ts.net"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "SyncThing"; - url = "https://syncthing.griffin-mermaid.ts.net/"; - conditions = [ - (status 200) - (maxResponseTime 300) - ]; - } - { - name = "Radicale"; - url = "https://radicale.griffin-mermaid.ts.net/.web/"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "Sign in") - ]; - } - { - name = "Nextcloud"; - url = "https://nextcloud.griffin-mermaid.ts.net/status.php"; - conditions = [ - (status 200) - (maxResponseTime 300) - "[BODY].installed == true" - "[BODY].maintenance == false" - "[BODY].needsDbUpgrade == false" - ]; - } - { - name = "kms"; - url = "tcp://kms.kun.is:1688"; - conditions = [ - "[CONNECTED] == true" - ]; - } - { - name = "BIND"; - url = "192.168.30.134"; - dns = { - query-type = "SOA"; - query-name = "kun.is"; - }; - conditions = [ - "[DNS_RCODE] == NOERROR" - ]; - } - { - name = "Immich"; - url = "https://immich.griffin-mermaid.ts.net"; - conditions = [ - (status 200) - (maxResponseTime 300) - (bodyContains "To use Immich, you must enable JavaScript or use a JavaScript compatible browser.") - ]; - } - ]; - in - map - (endpoint: - endpoint - // { - interval = "5m"; - alerts = [{type = "email";} {type = "ntfy";}]; - }) - serviceEndpoints; - }; - }; }; } diff --git a/nixos-configurations.nix b/nixos-configurations.nix index d306877..12539cf 100644 --- a/nixos-configurations.nix +++ b/nixos-configurations.nix @@ -3,7 +3,7 @@ inputs @ { self, ... }: { - nixosConfigurations = nixpkgs.lib.mapAttrs (_: { + nixosConfigurations = nixpkgs.lib.mapAttrs (name: { system, nixosModule, }: diff --git a/nixos/backups-ng.nix b/nixos/backups-ng.nix deleted file mode 100644 index 3a7c76b..0000000 --- a/nixos/backups-ng.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - borgBackupOpts = { - options = { - paths = lib.mkOption { - type = with lib.types; listOf str; - }; - scaleDeployments = lib.mkOption { - type = lib.types.bool; - default = true; - }; - deploymentName = lib.mkOption { - type = lib.types.str; - }; - deploymentNamespace = lib.mkOption { - type = lib.types.str; - }; - replicaCount = lib.mkOption { - type = lib.types.int; - default = 1; - }; - }; - }; -in { - options.pim.backups = { - borgBackups = lib.mkOption { - type = with lib.types; attrsOf (submodule borgBackupOpts); - default = {}; - }; - }; - - # TODO: should have some timeout and alerting? - config = { - services.borgbackup.jobs = - lib.mapAttrs (name: c: let - preHook = '' - ${pkgs.k3s}/bin/kubectl scale deployment -n ${c.deploymentNamespace} ${c.deploymentName} --replicas=0 - - while [ -n "$(${pkgs.k3s}/bin/kubectl get deployment -n ${c.deploymentNamespace} ${c.deploymentName} -o jsonpath='{.status.replicas}')" ]; do - echo "Waiting for replicas to scale down to 0..." - sleep 2 - done - ''; - postHook = "${pkgs.k3s}/bin/kubectl scale deployment -n ${c.deploymentNamespace} ${c.deploymentName} --replicas=${toString c.replicaCount}"; - in { - inherit (c) paths; - repo = "ssh://w553a7cb@w553a7cb.repo.borgbase.com/./repo"; - startAt = "*-*-* 00:00:00"; - # TODO: low benefit, but we could set borgbase's host keys here as they are published online. - environment.BORG_RSH = "ssh -i ${config.sops.secrets."borg/borgbasePrivateKey".path} -o StrictHostKeychecking=no"; - postHook = lib.mkIf c.scaleDeployments postHook; - archiveBaseName = name; - - prune.keep = { - within = "7d"; - weekly = 4; - monthly = 6; - }; - - preHook = lib.mkIf c.scaleDeployments preHook; - - encryption = { - passCommand = "cat ${config.sops.secrets."borg/borgPassphrase".path}"; - mode = "repokey-blake2"; - }; - }) - config.pim.backups.borgBackups; - - systemd.timers = lib.mapAttrs' (name: _c: lib.nameValuePair "borgbackup-job-${name}" {timerConfig.RandomizedDelaySec = "5h";}) config.pim.backups.borgBackups; - }; -} diff --git a/nixos/backups.nix b/nixos/backups.nix new file mode 100644 index 0000000..967343b --- /dev/null +++ b/nixos/backups.nix @@ -0,0 +1,94 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.pim.backups; + + borgmaticConfig = pkgs.writeTextFile { + name = "borgmatic-config.yaml"; + + text = lib.generators.toYAML {} { + source_directories = ["/mnt/longhorn/persistent/longhorn-backup"]; + + repositories = [ + { + path = cfg.repoLocation; + label = "nfs"; + } + { + path = "ssh://s6969ym3@s6969ym3.repo.borgbase.com/./repo"; + label = "borgbase"; + } + ]; + + ssh_command = "${pkgs.openssh}/bin/ssh -i ${config.sops.secrets."borg/borgbasePrivateKey".path} -o StrictHostKeychecking=no"; + keep_daily = 7; + keep_weekly = 4; + keep_monthly = 12; + keep_yearly = -1; + encryption_passcommand = "${pkgs.coreutils}/bin/cat ${config.sops.secrets."borg/borgPassphrase".path}"; + }; + }; +in { + options.pim.backups = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + description = '' + Whether to enable backups of persistent data on this machine. + ''; + }; + + repoLocation = lib.mkOption { + default = "/mnt/longhorn/persistent/nfs.borg"; + type = lib.types.str; + description = '' + Location of the Borg repository to back up to. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [borgbackup]; + # Converted from: + # https://github.com/borgmatic-collective/borgmatic/tree/84823dfb912db650936e3492f6ead7e0e0d32a0f/sample/systemd + systemd.services.borgmatic = { + description = "borgmatic backup"; + wants = ["network-online.target"]; + after = ["network-online.target"]; + unitConfig.ConditionACPower = true; + preStart = "${pkgs.coreutils}/bin/sleep 10s"; + + serviceConfig = { + Type = "oneshot"; + Nice = 19; + CPUSchedulingPolicy = "batch"; + IOSchedulingClass = "best-effort"; + IOSchedulingPriority = 7; + IOWeight = 100; + Restart = "no"; + LogRateLimitIntervalSec = 0; + Environment = "BORG_PASSPHRASE_FILE=${config.sops.secrets."borg/borgPassphrase".path}"; + }; + + script = "${pkgs.systemd}/bin/systemd-inhibit --who=\"borgmatic\" --what=\"sleep:shutdown\" --why=\"Prevent interrupting scheduled backup\" ${pkgs.borgmatic}/bin/borgmatic --verbosity -2 --syslog-verbosity 1 -c ${borgmaticConfig}"; + }; + + systemd.timers.borgmatic = { + description = "Run borgmatic backup"; + wantedBy = ["timers.target"]; + timerConfig = { + OnCalendar = "*-*-* 3:00:00"; + Persistent = true; + RandomizedDelaySec = "1h"; + }; + }; + + sops.secrets = { + "borg/borgPassphrase" = {}; + "borg/borgbasePrivateKey" = {}; + }; + }; +} diff --git a/nixos/cinnamon.nix b/nixos/cinnamon.nix new file mode 100644 index 0000000..8cef6dd --- /dev/null +++ b/nixos/cinnamon.nix @@ -0,0 +1,24 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.pim.cinnamon; +in { + options.pim.cinnamon.enable = lib.mkEnableOption "cinnamon"; + config = lib.mkIf cfg.enable { + services = { + displayManager.defaultSession = "cinnamon"; + libinput.enable = true; + xserver = { + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; + }; + + environment.cinnamon.excludePackages = [ + pkgs.gnome-terminal + ]; + }; +} diff --git a/nixos/compliance.nix b/nixos/compliance.nix new file mode 100644 index 0000000..e1181eb --- /dev/null +++ b/nixos/compliance.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.pim.compliance; +in { + options.pim.compliance.enable = lib.mkEnableOption "compliance"; + config = lib.mkIf cfg.enable { + services.clamav = { + daemon.enable = true; + }; + }; +} diff --git a/nixos/data-sharing.nix b/nixos/data-sharing.nix new file mode 100644 index 0000000..6303be4 --- /dev/null +++ b/nixos/data-sharing.nix @@ -0,0 +1,47 @@ +{ + lib, + config, + ... +}: let + cfg = config.pim.data-sharing; + + nfsShares = [ + "/mnt/longhorn/persistent/media" + "/mnt/longhorn/persistent/media/books" + "/mnt/longhorn/persistent/media/movies" + "/mnt/longhorn/persistent/media/music" + "/mnt/longhorn/persistent/media/shows" + "/mnt/longhorn/persistent/longhorn-backup" + ]; + + nfsExports = lib.strings.concatLines ( + builtins.map + ( + share: "${share} 192.168.30.0/16(rw,sync,no_subtree_check,no_root_squash) 127.0.0.1/8(rw,sync,no_subtree_check,no_root_squash) 10.0.0.0/8(rw,sync,no_subtree_check,no_root_squash)" + ) + nfsShares + ); +in { + options.pim.data-sharing = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + description = '' + Configure this server to serve our data using NFS. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + networking.firewall.allowedTCPPorts = [ + 2049 # NFS + 111 # NFS + 20048 # NFS + ]; + + services.nfs.server = { + enable = true; + exports = nfsExports; + }; + }; +} diff --git a/nixos/default.nix b/nixos/default.nix index 47188a0..bce06e6 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -18,12 +18,15 @@ ./stylix.nix ./wireguard.nix ./gnome.nix + ./compliance.nix + ./cinnamon.nix ./ssh.nix ./desktop.nix ./server.nix ./prometheus.nix ./kubernetes - ./backups-ng.nix + ./data-sharing.nix + ./backups.nix ]; options = { @@ -42,6 +45,7 @@ config = { time.timeZone = "Europe/Amsterdam"; + hardware.pulseaudio.enable = false; sops.age.keyFile = "/root/.config/sops/age/keys.txt"; i18n = { @@ -93,7 +97,6 @@ xserver.excludePackages = [pkgs.xterm]; printing.drivers = [pkgs.hplip pkgs.gutenprint]; tailscale.enable = true; - pulseaudio.enable = false; pipewire = { alsa.enable = true; @@ -125,8 +128,6 @@ ncdu lshw sops - nix-tree - fd ]; }; @@ -145,8 +146,7 @@ }; nix = { - package = lib.mkDefault pkgs.nixVersions.stable; - channel.enable = false; + package = pkgs.nixVersions.stable; extraOptions = '' experimental-features = nix-command flakes @@ -170,6 +170,8 @@ }; nixpkgs = { + # hostPlatform = lib.mkDefault "x86_64-linux"; + config = { allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ @@ -179,16 +181,11 @@ "steam-run" "steam-unwrapped" ]; - - permittedInsecurePackages = [ - "electron-33.4.11" - ]; }; overlays = [ - inputs.nur.overlays.default - (_final: _prev: { - inherit (inputs.nixpkgs-oldstable.legacyPackages.x86_64-linux) containerd; + inputs.nur.overlay + (final: _prev: { unstable = import inputs.nixpkgs-unstable { inherit (pkgs) system; config.allowUnfree = true; @@ -197,13 +194,9 @@ ]; }; - boot = { - kernelPackages = pkgs.linuxKernel.packages.linux_6_14; - - kernel.sysctl = { - "net.core.default_qdisc" = "fq"; - "net.ipv4.tcp_congestion_control" = "bbr"; - }; + boot.kernel.sysctl = { + "net.core.default_qdisc" = "fq"; + "net.ipv4.tcp_congestion_control" = "bbr"; }; home-manager = { diff --git a/nixos/desktop.nix b/nixos/desktop.nix index 5a98a5a..1b2709f 100644 --- a/nixos/desktop.nix +++ b/nixos/desktop.nix @@ -6,11 +6,6 @@ config = lib.mkIf (builtins.elem "desktop" config.deployment.tags) { programs.ssh.startAgent = true; - hardware.graphics = { - enable = true; - enable32Bit = true; - }; - services = { xserver.enable = true; printing.enable = true; diff --git a/nixos/kubernetes/k3s/default.nix b/nixos/kubernetes/k3s/default.nix index 1ed7b0f..5964f7d 100644 --- a/nixos/kubernetes/k3s/default.nix +++ b/nixos/kubernetes/k3s/default.nix @@ -46,6 +46,8 @@ in { config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ k3s + openiscsi # Required for Longhorn + nfs-utils # Required for Longhorn ]; # TODO!!!!! @@ -119,13 +121,27 @@ in { serverFlags = builtins.concatStringsSep " " serverFlagList; in { enable = true; - inherit (cfg) role clusterInit; + role = cfg.role; tokenFile = config.sops.secrets."k3s/serverToken".path; extraFlags = lib.mkIf (cfg.role == "server") (lib.mkForce serverFlags); + clusterInit = cfg.clusterInit; serverAddr = lib.mkIf (! (cfg.serverAddr == null)) cfg.serverAddr; }; + + # Required for Longhorn + openiscsi = { + enable = true; + name = "iqn.2016-04.com.open-iscsi:${config.networking.fqdn}"; + }; }; + # HACK: Symlink binaries to /usr/local/bin such that Longhorn can find them + # when they use nsenter. + # https://github.com/longhorn/longhorn/issues/2166#issuecomment-1740179416 + systemd.tmpfiles.rules = [ + "L+ /usr/local/bin - - - - /run/current-system/sw/bin/" + ]; + system.activationScripts = { k3s-bootstrap = lib.mkIf (cfg.role == "server") { text = ( diff --git a/nixos/prometheus.nix b/nixos/prometheus.nix index 24f71b4..f786506 100644 --- a/nixos/prometheus.nix +++ b/nixos/prometheus.nix @@ -12,39 +12,42 @@ services.prometheus = { enable = true; - scrapeConfigs = let - node = { - job_name = "node"; - static_configs = [ - { - targets = lib.pipe nodes [ - (lib.filterAttrs (_name: node: node.config.services.prometheus.exporters.node.enable)) - (lib.attrsets.mapAttrsToList - (_name: node: "${node.config.networking.fqdn}:${toString node.config.services.prometheus.exporters.node.port}")) - ]; - } + scrapeConfigs = ( + let + generated = lib.pipe nodes [ + (lib.filterAttrs (name: node: node.config.services.prometheus.exporters.node.enable)) + (lib.attrsets.mapAttrsToList + (name: node: { + job_name = name; + static_configs = [ + { + targets = ["${node.config.networking.fqdn}:${toString node.config.services.prometheus.exporters.node.port}"]; + } + ]; + })) ]; - }; - pikvm = { - job_name = "pikvm"; - metrics_path = "/api/export/prometheus/metrics"; - scheme = "https"; - tls_config.insecure_skip_verify = true; + pikvm = { + job_name = "pikvm"; + metrics_path = "/api/export/prometheus/metrics"; + scheme = "https"; + tls_config.insecure_skip_verify = true; - # We don't care about security here, it's behind a VPN. - basic_auth = { - username = "admin"; - password = "admin"; + # We don't care about security here, it's behind a VPN. + basic_auth = { + username = "admin"; + password = "admin"; + }; + + static_configs = [ + { + targets = ["pikvm.dmz"]; + } + ]; }; - - static_configs = [ - { - targets = ["pikvm.dmz"]; - } - ]; - }; - in [node pikvm]; + in + generated ++ [pikvm] + ); }; services.nginx = { diff --git a/nixos/server.nix b/nixos/server.nix index 54b5ee1..10beb4e 100644 --- a/nixos/server.nix +++ b/nixos/server.nix @@ -2,7 +2,6 @@ lib, config, self, - pkgs, ... }: { options.pim.tailscale.advertiseExitNode = lib.mkOption { @@ -11,8 +10,6 @@ }; config = lib.mkIf (builtins.elem "server" config.deployment.tags) { - environment.systemPackages = [pkgs.unar]; - networking = { firewall.allowedTCPPorts = [config.services.prometheus.exporters.node.port]; domain = "dmz"; @@ -55,11 +52,7 @@ extraUpFlags = [ - ( - if builtins.elem "kubernetes" config.deployment.tags - then "--accept-dns=false" - else "--accept-dns=true" - ) + "--accept-dns=false" "--hostname=${config.networking.hostName}" ] ++ lib.lists.optional config.pim.tailscale.advertiseExitNode "--advertise-exit-node" @@ -67,11 +60,8 @@ }; }; - sops.secrets = { - "tailscale/authKey".sopsFile = "${self}/secrets/servers.yaml"; - "borg/borgPassphrase".sopsFile = "${self}/secrets/servers.yaml"; - "borg/borgbasePrivateKey".sopsFile = "${self}/secrets/servers.yaml"; - "gatus/env".sopsFile = "${self}/secrets/servers.yaml"; + sops.secrets."tailscale/authKey" = { + sopsFile = "${self}/secrets/servers.yaml"; }; }; } diff --git a/nixos/stylix.nix b/nixos/stylix.nix index 50d4bf3..99120a1 100644 --- a/nixos/stylix.nix +++ b/nixos/stylix.nix @@ -19,11 +19,6 @@ in { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml"; - # targets = { - # firefox.profileNames = ["default"]; - # librewolf.profileNames = ["default"]; - # }; - cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; @@ -31,7 +26,10 @@ in { }; fonts = { - monospace.package = pkgs.nerd-fonts.jetbrains-mono; + monospace = { + package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}; + name = "JetBrainsMono Nerd Font Mono"; + }; sansSerif = { package = pkgs.dejavu_fonts; diff --git a/nixos/tidal.nix b/nixos/tidal.nix index ad59567..ab70501 100644 --- a/nixos/tidal.nix +++ b/nixos/tidal.nix @@ -5,7 +5,6 @@ }: let cfg = config.pim.tidal; in { - # TODO: this is bad and broken options.pim.tidal.enable = lib.mkEnableOption "tidal"; config = lib.mkIf cfg.enable { diff --git a/packages.nix b/packages.nix index 8c0536d..c5c5267 100644 --- a/packages.nix +++ b/packages.nix @@ -2,129 +2,12 @@ nixpkgs, flake-utils, treefmt-nix, - nvf, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; treefmtWrapper = treefmtEval.config.build.wrapper; - neovimConfigured = nvf.lib.neovimConfiguration { - inherit pkgs; - modules = [ - { - config.vim = { - preventJunkFiles = true; - telescope.enable = true; - autopairs.nvim-autopairs.enable = true; - autocomplete.nvim-cmp.enable = true; - snippets.luasnip.enable = true; - filetree.neo-tree.enable = true; - tabline.nvimBufferline.enable = true; - dashboard.alpha.enable = true; - notify.nvim-notify.enable = true; - projects.project-nvim.enable = true; - comments.comment-nvim.enable = true; - extraPlugins.vim-sleuth.package = pkgs.vimPlugins.vim-sleuth; - - keymaps = [ - { - key = ""; - mode = ["n"]; - action = ":Neotree toggle"; - silent = true; - desc = "Toggle Neotree"; - } - ]; - - lsp = { - enable = true; - formatOnSave = true; - lightbulb.enable = true; - trouble.enable = true; - lspSignature.enable = true; - otter-nvim.enable = true; - }; - - languages = { - enableFormat = true; - enableTreesitter = true; - enableExtraDiagnostics = true; - nix.enable = true; - markdown.enable = true; - bash.enable = true; - clang.enable = true; - css.enable = true; - html.enable = true; - sql.enable = true; - go.enable = true; - python.enable = true; - - rust = { - enable = true; - crates.enable = true; - }; - }; - - visuals = { - nvim-web-devicons.enable = true; - cinnamon-nvim.enable = true; - fidget-nvim.enable = true; - highlight-undo.enable = true; - cellular-automaton.enable = true; - }; - - statusline.lualine = { - enable = true; - theme = "gruvbox"; - }; - - theme = { - enable = true; - name = "gruvbox"; - style = "dark"; - transparent = false; - }; - - binds = { - whichKey.enable = true; - cheatsheet.enable = true; - }; - - git = { - enable = true; - gitsigns.enable = true; - }; - - utility = { - surround.enable = true; - diffview-nvim.enable = true; - - motion = { - hop.enable = true; - leap.enable = true; - }; - }; - - terminal.toggleterm = { - enable = true; - lazygit.enable = true; - }; - - ui = { - borders.enable = true; - noice.enable = true; - colorizer.enable = true; - smartcolumn.enable = true; - fastaction.enable = true; - }; - }; - } - ]; - }; in { - packages = { - formatter = treefmtWrapper; - inherit (neovimConfigured) neovim; - }; + packages.formatter = treefmtWrapper; }) diff --git a/secrets/gamepc/pim.yaml b/secrets/gamepc/pim.yaml index c8c51be..d3fd6a4 100644 --- a/secrets/gamepc/pim.yaml +++ b/secrets/gamepc/pim.yaml @@ -1,3 +1,4 @@ +sunshine_credentials: ENC[AES256_GCM,data:P1sttD3H65DQje+Cs5CVLqvhtXWtoBgu/TBZ3WFIWqErRKtKa31V2lLrgixrty4TVM5qq06zE5z3lQ78ZAHLNh80jMPvoAcCqTXXoWwIYwdHJT0iG09f0ZfpiVTZU4MuCn0uuaJ6873AYe60siZW8uFntu3v230izoAqY9Ex+BzIOOliuqrnIRzdw06TCrrBTJUr,iv:WZqkSZOsiCWx7VPuTDA1Js1DcHZLK9YLDxTQ2nVlFQ8=,tag:iJ6bSofnPWWm7B+VPm+MyQ==,type:str] sops: kms: [] gcp_kms: [] diff --git a/secrets/servers.yaml b/secrets/servers.yaml index f4e23fc..5c7d0b4 100644 --- a/secrets/servers.yaml +++ b/secrets/servers.yaml @@ -1,11 +1,10 @@ tailscale: authKey: ENC[AES256_GCM,data:3eXxQBY6AVqU4R1NlsyhGCfXW5wL58ODRH/f+zo5YFRad/ys1vB9JeKagq0SJSj/w4zxRAEpCf1o47Ypww==,iv:QklyIFuXlbH6cM/I0gqDH/Xeay9gqxqeyulQ7W/dbig=,tag:E/3UqtsfSVOi6otSlReO0Q==,type:str] -borg: - borgPassphrase: ENC[AES256_GCM,data:UWA2sBLPi63MRVOPTYPWYLujF2M=,iv:FQq/IsZK7LWo30gZc7oT2E9feCLn7Oeg6wDGuezkhu8=,tag:fWYaZUwJrM8x6cemXzz6xg==,type:str] - borgbasePrivateKey: ENC[AES256_GCM,data:O7eIY1yvbnBTS96tt5a8vcOEOzit4tEbIHmxnSbNsowC7YNk2g6MShQ6ll86GDiunLY33/Px0bqq9+4z/dk4N3FWQ1v5KQjr/gh+CS8VpIrv9zLv+Ru9UzeWQusbYxqnCu/IAQ1aB8UGV2LSCesQ0r/B6XEe51Phi65uWkbUYa/8voSiws3T3hnNrUDqiHdzfBgWZIQszz7zD92Q+aXu/kGNSxVKbXjWVfqBiyDEtuLEWoC1eENeEs41Ov5YT0Lm6+CUWadPqEwkDSvZWnBhoPwPLTZ/+ftZ/nizXUujsTdRwjcbOwJER+ObhgWDxbJE2WifxFOmHt3ggfSmAN842u5PjfT5gqpXMlTdCwYAYEJvDMqGsADe4p7+vPWJbetaahFrFGN8uBw7rs7W2wIiUKB5bAbAG0o6hdTpWfysuzMOFK/fROvCJsNhhKbbdiQbI0+SogtCkwv69+3uaRTFi33uqKCO6PQ6rMIahjo1lutm9iWq2nX4oI40W1KPC6EU/wF2,iv:rzkjjSnyrs58ZEO8XLsCSFsPHbtnL39SF6NJ6lUg3Ww=,tag:q0sunVc+9bLFoSdeykuT6g==,type:str] -gatus: - env: ENC[AES256_GCM,data:HKZFD9yKUxUl42ucUvV/i6gzzIkQ9zlUQ1p06ImRwW0T/DIOHp6G2QHlWr60Q5Xc9HWfVCSNby5Su5DLAso3pX/a+b4CoG7q4pRhekVNQwcDYVWzfek33onDLtAhL/AUVLfT1m3LXFR1xBJc87lbP/KWG4IEYI5+ZVgQXKC47HVADXE=,iv:EbiHksIFeG6j90fdAACnD5ukalI58So5DV9ztytR5p8=,tag:OLDa4NOpYs+UWLMlndEqow==,type:str] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] age: - recipient: age1th8rdw4fs3vmgy9gzc0k9xy88tddjj4vasepckfx9h4nlzsg3q3q4cjgwu enc: | @@ -70,7 +69,8 @@ sops: Y2cwK05uWXFhbndyRlhrSFNjYUlmZ1UKZ1vFRu1QhGGf7BIP8TxK2BIlMZlP3muA R3qLr1lEQmob4O0ilwn65nSCEd1/9W6dUWqeSlJ6CavjG59AvSHfIA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-06-07T16:08:34Z" - mac: ENC[AES256_GCM,data:uMpavfH72TyTc+tRTw+hyv5N+NHdTvO7J4TThOTqV1ACOl9DOIBimUsREDONEgUn4cOdDOZzSR6LDlva60+B30xoJUL8fsRzNXtHkZ/aR0WJmkFcKu5rkVvRQjJt378ICid/et0R4SEojxeIvhI3MzGxyF25NdhIswGKgDh2lMU=,iv:gUbAdaxBJFBXxJHJXeRXTynC4cwaP8vL9Z61TN2pIEw=,tag:lUFk/ydWRO/ZjA4V89IdHw==,type:str] + lastmodified: "2024-11-30T18:44:29Z" + mac: ENC[AES256_GCM,data:SG6a5pWa3gMaSz9d9fOchUXtXbRTpMOXmbOjZo5Fdx8Es1MEDwezwscQaj9p1dzmGa+7U8UUUzMYxlg2SmGgGdPgCs0a5RQVYvQFNdgpRiuknflFMcdgXLv7XFsTqsqSmbN0O662YDvCcz4DWRKjNCZAimlLym8pwDihj1D8dcU=,iv:JmCbcazDK2KPyYsoVy39sr4IbfiGfmGoopit5ojVADk=,tag:6tKYfMkJBjsThaa4qLqobw==,type:str] + pgp: [] unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.9.1 diff --git a/secrets/blocktech/colmena.yaml b/secrets/sue/colmena.yaml similarity index 63% rename from secrets/blocktech/colmena.yaml rename to secrets/sue/colmena.yaml index e6c04cc..7d468b0 100644 --- a/secrets/blocktech/colmena.yaml +++ b/secrets/sue/colmena.yaml @@ -1,6 +1,6 @@ sops_nix_keys: root: ENC[AES256_GCM,data:CxF2wjcQ2OFuS7Pgjnc8zc7sqGEz3dcHt4NXkL+V6w7kGPP+b4wBhOlT7b+bEESNslpK2htLY7x+IZWIA8JQpeRKHAKymAUK86I=,iv:5qNFDb86/Vr9Iqzx1eES4wUVY5XTq3iOR4VQliuP1lg=,tag:gx/Q7t52l9kMhPRXdpsB6A==,type:str] - pkunis: ENC[AES256_GCM,data:192vkgOdMoDEhPU6yilatIfaFS/1LJFvteEMYI1/3SBP773lN62pWoDiJDiBtjBCisA/3yHriL3Dpvs1PwbV0BChmbL+svwKrFE=,iv:/YyZ+NSyZwyGp4NJYUSeYOOUfGaH5jOiVUH8QeWnFUA=,tag:sWN0bQvm8Ejw5+XST0pAEQ==,type:str] + pim: ENC[AES256_GCM,data:PWFlRBaqImbCpj3IXU+BtNIRvwru+GRwxDQO4QwINRvxRqC36LE6JpMqaJNrTdCPy+aQ01brTN8y99qXTDlrul32cZnopc37r78=,iv:1tG7rDB5D7D2myes6Ro8hXC140ugjXpiwNpivWFw/xw=,tag:BNm/Ep55tt7xBWZFyzTR5g==,type:str] sops: kms: [] gcp_kms: [] @@ -16,8 +16,8 @@ sops: NkJzL3JSN2sxbnF6NGNhQlJqTHpHRTAKK+3FqqBAGxdlMtnbsySEcZT1lkQwJWvK GFB+6CtH9UtyIGrdK8Pm/0ahsolYGAim2OjeiKBbs3Q8kLm5WAsgRg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-25T13:53:06Z" - mac: ENC[AES256_GCM,data:lLojNOq2QtdeqiCHOg6+Kssfa+Ey6JefPQulFkgnr1Onrt60ds2qWg5TTMHMlUaa6vB1S78WqyquTRBLv9Ek/alOae+CgdDi+vVX8hG5Mc2Edcfl+z8rRNFB+2mOEl1gJwKntyxySx6YBiDhZsH0p+Xflw9WGm/lL/FyRCJCwq0=,iv:8PqXupgwdfgdfIzsymVSrjQACoMODR+XYPgLMvASjos=,tag:rLGJlL3alm/qy+3qeS637g==,type:str] + lastmodified: "2024-11-30T23:42:51Z" + mac: ENC[AES256_GCM,data:fo856uaz54nxHDJVDpMOPc6GHAzMdVJTfqBiMtJkEwm3AVICtRcI8ucceBnmfKZf9DM2MC2DffU1tvJd5iqpqFZMXCElRnBxWVZGhvrZqIZtmoAin5zBgwOudf1o6msmdNGmZk1ECq/HpHNO/QMQ3rnFdBvOZwL0zu6iZm9XwC0=,iv:T6Tv1ukk0CWbTRVWYdfn/bWQoETk8DRVMOzpJE9mCWE=,tag:eICIYTBvAJLUTpRcMYqc5Q==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.1 diff --git a/secrets/blocktech/nixos.yaml b/secrets/sue/nixos.yaml similarity index 100% rename from secrets/blocktech/nixos.yaml rename to secrets/sue/nixos.yaml diff --git a/secrets/blocktech/pkunis.yaml b/secrets/sue/pim.yaml similarity index 100% rename from secrets/blocktech/pkunis.yaml rename to secrets/sue/pim.yaml