From 32cc39c4002eb91b45e3b5d69795746c24ceb0fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 24 Oct 2024 11:47:19 +0200 Subject: [PATCH 01/26] feat: add lazygit --- modules/profiles/base.nix | 3 ++- modules/programs/nvim/new_plugins/lazygit.nix | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 modules/programs/nvim/new_plugins/lazygit.nix diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 7586fad..ca8a8b4 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -241,15 +241,16 @@ in which-nix # utils + (viu.override { withSixel = true; }) bat cht-sh f fd gi + lazygit parallel ripgrep vim - (viu.override { withSixel = true; }) wget ]; diff --git a/modules/programs/nvim/new_plugins/lazygit.nix b/modules/programs/nvim/new_plugins/lazygit.nix new file mode 100644 index 0000000..9cb3060 --- /dev/null +++ b/modules/programs/nvim/new_plugins/lazygit.nix @@ -0,0 +1,14 @@ +_: + +{ + home-manager.users.moritz.programs.nixvim = { + keymaps = [ + { key = "g"; action = "LazyGit"; options.desc = "Lazygit"; } + ]; + + plugins.lazygit = { + enable = true; + settings = { }; + }; + }; +} From 4d2577e8eb3946e7ac34e33390dfc4d7e0262473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 24 Oct 2024 11:48:53 +0200 Subject: [PATCH 02/26] refactor: fix renamed options --- hosts/nixos-desktop/default.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/hosts/nixos-desktop/default.nix b/hosts/nixos-desktop/default.nix index bed3eca..84d74d2 100644 --- a/hosts/nixos-desktop/default.nix +++ b/hosts/nixos-desktop/default.nix @@ -29,8 +29,6 @@ services.wallpaper.enable = true; }; - virtualisation.containers.cdi.dynamic.nvidia.enable = true; - home-manager.users.moritz.home.packages = with pkgs; [ anki stable.calibre # NOTE: breaks often in unstable @@ -38,10 +36,14 @@ hardware = { keyboard.qmk.enable = true; - nvidia.modesetting.enable = true; - opengl = { + nvidia = { + modesetting.enable = true; + open = true; + }; + nvidia-container-toolkit.enable = true; + graphics = { enable = true; - driSupport32Bit = true; + enable32Bit = true; }; # sensors @@ -50,9 +52,6 @@ }; boot = { - # KERNEL - kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; # NOTE: use latest zfs compatible kernel - # BOOT supportedFilesystems = [ "zfs" "btrfs" "ntfs" ]; loader = { From 14007ca4f8099344fa12db3a96d417434f0e3731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 24 Oct 2024 11:49:05 +0200 Subject: [PATCH 03/26] fix: boot issues --- hosts/nixos-desktop/disko.nix | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/hosts/nixos-desktop/disko.nix b/hosts/nixos-desktop/disko.nix index d373c43..43d1242 100644 --- a/hosts/nixos-desktop/disko.nix +++ b/hosts/nixos-desktop/disko.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, pkgs, ... }: { # needed for zfs pool @@ -83,9 +83,27 @@ }; }; # rollback to blank - boot.initrd.postDeviceCommands = lib.mkAfter '' - zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete" - ''; + boot.initrd.systemd.services.rollback = { + description = "Rollback ZFS datasets to a pristine state"; + wantedBy = [ + "initrd.target" + ]; + after = [ + "zfs-import-zroot.service" + ]; + before = [ + "sysroot.mount" + ]; + path = with pkgs; [ + zfs + ]; + unitConfig.DefaultDependencies = "no"; + serviceConfig.Type = "oneshot"; + script = '' + zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete" + ''; + }; + boot.initrd.systemd.enable = true; fileSystems."/persist".neededForBoot = true; # HACK: to fix issue of agenix running before impermanence age.identityPaths = [ From 03c5951ab6b3d48e10e7abec84e4c07a79ffa847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 11 Oct 2024 11:43:03 +0200 Subject: [PATCH 04/26] feat: switch to river --- hosts/nixos-desktop/default.nix | 5 ----- modules/profiles/desktop.nix | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/hosts/nixos-desktop/default.nix b/hosts/nixos-desktop/default.nix index 84d74d2..d60744f 100644 --- a/hosts/nixos-desktop/default.nix +++ b/hosts/nixos-desktop/default.nix @@ -21,11 +21,6 @@ impermanence.enable = true; webis.enable = true; }; - programs.hyprland.enable = true; - programs.hyprland.nvidiaSupport = true; - programs.hyprland.keyboardLayouts = [ "us" "de" ]; - programs.hyprland.monitors."HDMI-A-2" = { scale = 1.2; }; - programs.exercism.enable = true; services.wallpaper.enable = true; }; diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index c20efae..1e8639f 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -31,7 +31,7 @@ in chromium.enable = mkDefault true; firefox.enable = mkDefault true; gpg.enable = mkDefault true; - hyprland.enable = mkDefault true; + river.enable = mkDefault true; nix-edit.enable = mkDefault true; nvim.enable = mkDefault true; python.versions."311".enable = mkDefault true; From e525d68112e8e34bfbe3f3cbce6b94dbcc4acada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 24 Oct 2024 14:46:22 +0200 Subject: [PATCH 05/26] feat: add anthropic secret --- secrets/anthropic.age | 9 +++++++++ secrets/secrets.nix | 1 + 2 files changed, 10 insertions(+) create mode 100644 secrets/anthropic.age diff --git a/secrets/anthropic.age b/secrets/anthropic.age new file mode 100644 index 0000000..1797b08 --- /dev/null +++ b/secrets/anthropic.age @@ -0,0 +1,9 @@ +age-encryption.org/v1 +-> ssh-ed25519 CjuqfA ob0n5W6N0VlEKzLv673P7EPgdy44Fp31QEZODiFNME0 +lP7281rBedn1sl7ZIBzi4omjQ/LGxL0z1bbkDJHn/QE +-> ssh-ed25519 wG6LYg YeKjGo2RpduY3OZbpBmraAzTIPtqUMJKJlBMH4yPOAs +jJgqfViKWxDmJ/RM1jmX02WwBxN5AQQy13SVnffKlAI +-> ssh-ed25519 ZYd7Zg A8/d+6fWYfJQHBCONGxxF7pJgkT7BCG0zrfdCgPKTzk +fxPs3RHIBEtycgogvCF/dr5FPpnm8VB+TviALw4JjfY +--- lgatpj1jTFhdwNZaRQv187tNYHvMpfqDasa9uSH9Kig +ǥ<~p~s$!?|T(]= ^zLP7w͝8?Epn\ѥ;ݼs6`_tx4a4]OMhHзsh!7-+ݟ r~Z}Cuҷ㮾 \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index e146a68..e82d844 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -27,4 +27,5 @@ in "moritz-password.age".publicKeys = personal; "exercism.age".publicKeys = personal; "openai.age".publicKeys = personal; + "anthropic.age".publicKeys = personal; } From 72e98aa61c24ec5af3480c6dab3e5d644dccee76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 24 Oct 2024 20:32:29 +0200 Subject: [PATCH 06/26] refactor: add ai config option --- hosts/nixos-desktop/default.nix | 1 + modules/config/ai.nix | 8 +++ modules/programs/nvim/new_plugins/avante.nix | 64 +++++++++++--------- 3 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 modules/config/ai.nix diff --git a/hosts/nixos-desktop/default.nix b/hosts/nixos-desktop/default.nix index d60744f..b3d88b7 100644 --- a/hosts/nixos-desktop/default.nix +++ b/hosts/nixos-desktop/default.nix @@ -14,6 +14,7 @@ ]; my = { + ai.enable = true; profiles = { desktop.enable = true; gaming.enable = true; diff --git a/modules/config/ai.nix b/modules/config/ai.nix new file mode 100644 index 0000000..0f5a57e --- /dev/null +++ b/modules/config/ai.nix @@ -0,0 +1,8 @@ +{ lib +, ... +}: + +with lib; +{ + options.my.ai.enable = mkEnableOption "AI stuff"; +} diff --git a/modules/programs/nvim/new_plugins/avante.nix b/modules/programs/nvim/new_plugins/avante.nix index d01ed84..1b807d2 100644 --- a/modules/programs/nvim/new_plugins/avante.nix +++ b/modules/programs/nvim/new_plugins/avante.nix @@ -1,37 +1,41 @@ -{ config, lib, pkgs, inputs, ... }: +{ config, lib, pkgs, ... }: let - inherit (lib) mkEnableOption mkIf readFile; + inherit (lib) mkIf; + + cfg = config.my.ai; in { - home-manager.users.moritz.programs.nixvim = { - extraPlugins = with pkgs.vimPlugins; [ - nui-nvim - render-markdown-nvim - avante-nvim - ]; - extraConfigLuaPost = '' - require("render-markdown").setup({ file_types = {"markdown", "Avante"} }) + config = mkIf cfg.enable { + home-manager.users.moritz.programs.nixvim = { + extraPlugins = with pkgs.vimPlugins; [ + nui-nvim + render-markdown-nvim + avante-nvim + ]; + extraConfigLuaPost = '' + require("render-markdown").setup({ file_types = {"markdown", "Avante"} }) - require("avante_lib").load() - require("avante").setup({ - provider = "openai", - auto_suggestions_provider = "openai", - behaviour = { - -- auto_suggestions = true, - }, - openai = { - model = "gpt-4o", - api_key_name = "cmd:cat /run/agenix/openai" - } - }) - ''; - # plugins.copilot-lua.enable = true; - # plugins.copilot-lua.suggestion.enabled = false; - # plugins.copilot-lua.panel.enabled = false; - plugins.dressing.enable = true; - # performance.combinePlugins.standalonePlugins = [ "copilot.lua" ]; + require("avante_lib").load() + require("avante").setup({ + provider = "openai", + auto_suggestions_provider = "openai", + behaviour = { + -- auto_suggestions = true, + }, + openai = { + model = "gpt-4o", + api_key_name = "cmd:cat /run/agenix/openai" + } + }) + ''; + plugins.dressing.enable = true; + }; + age.secrets = { + "openai".file = ../../../../secrets/openai.age; + "openai".owner = "moritz"; + anthropic.file = ../../../../secrets/anthropic.age; + anthropic.owner = "moritz"; + }; }; - age.secrets."openai".file = ../../../../secrets/openai.age; - age.secrets."openai".owner = "moritz"; } From 80f92962a258b25bc6d033cf568fa18a91712762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 21 Oct 2024 11:19:13 +0200 Subject: [PATCH 07/26] chore: update inputs --- flake.lock | 313 +++++++++++++--------- modules/programs/nvim/new_plugins/lsp.nix | 2 +- modules/programs/river/default.nix | 3 +- 3 files changed, 186 insertions(+), 132 deletions(-) diff --git a/flake.lock b/flake.lock index a550039..91eb528 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1727261104, - "narHash": "sha256-rxDI7WrxIRV9it9mDCHcLa7xQykf1JloXnoXr5xQ8zI=", + "lastModified": 1728902391, + "narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "b82fdaff917582a9d568969e15e61b398c71e990", + "rev": "9874e08eec85b5542ca22494e127b0cdce46b786", "type": "github" }, "original": { @@ -116,11 +116,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1722113426, - "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1728109432, - "narHash": "sha256-wmbErh8FG7dRKOtMMpHUqDtFjeqt9Zjx4zssSeTalwU=", + "lastModified": 1729281548, + "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", "owner": "nix-community", "repo": "disko", - "rev": "48ebb577855fb2398653f033b3b2208a9249203d", + "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", "type": "github" }, "original": { @@ -196,6 +196,22 @@ } }, "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -209,7 +225,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_5": { + "flake-compat_6": { "flake": false, "locked": { "lastModified": 1696426674, @@ -344,8 +360,8 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore", + "flake-compat": "flake-compat_3", + "gitignore": "gitignore_2", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -356,11 +372,11 @@ ] }, "locked": { - "lastModified": 1727805723, - "narHash": "sha256-b8flytpuc4Ey/g3mcvpS/ICORcD4h56QDZeP5LogevY=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "2f5ae3fc91db865eff2c5a418da85a0fbe6238a3", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -406,7 +422,7 @@ "nixvim", "flake-compat" ], - "gitignore": "gitignore_2", + "gitignore": "gitignore_3", "nixpkgs": [ "nixvim", "nixpkgs" @@ -417,11 +433,11 @@ ] }, "locked": { - "lastModified": 1728092656, - "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -431,6 +447,28 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-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" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "neovim-nightly-overlay", @@ -452,7 +490,7 @@ "type": "github" } }, - "gitignore_2": { + "gitignore_3": { "inputs": { "nixpkgs": [ "nixvim", @@ -474,7 +512,7 @@ "type": "github" } }, - "gitignore_3": { + "gitignore_4": { "inputs": { "nixpkgs": [ "pre-commit-hooks", @@ -545,11 +583,11 @@ ] }, "locked": { - "lastModified": 1728041527, - "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", + "lastModified": 1729459288, + "narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", + "rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e", "type": "github" }, "original": { @@ -563,11 +601,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1725551787, - "narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=", + "lastModified": 1729224425, + "narHash": "sha256-w9dNUedNe2qnhHuhcRf7A1l29+/6DxdMfwN6g4U3c/w=", "owner": "hyprwm", "repo": "contrib", - "rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072", + "rev": "d72bc8b1cd30d448bd438e8328f8eeb4c0f2ddb6", "type": "github" }, "original": { @@ -592,11 +630,11 @@ ] }, "locked": { - "lastModified": 1727532803, - "narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=", + "lastModified": 1728669738, + "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f", + "rev": "0264e698149fcb857a66a53018157b41f8d97bb0", "type": "github" }, "original": { @@ -614,15 +652,16 @@ "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_4", + "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_3", "xdph": "xdph" }, "locked": { - "lastModified": 1728223706, - "narHash": "sha256-HrsylIpk+17wwsh/+sgUBmL7VHakF+EWv9v9Dx1268I=", + "lastModified": 1729378105, + "narHash": "sha256-pcrrLHaHXct4I985PZhNZVYLghwZvQnnjGNToL56DFY=", "ref": "refs/heads/main", - "rev": "4e41cda27ed4176005082436cb35878335e63fae", - "revCount": 5301, + "rev": "08cc063e175e48cea44d26b7e3762f4b8611f0c5", + "revCount": 5362, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -645,38 +684,11 @@ ] }, "locked": { - "lastModified": 1727451107, - "narHash": "sha256-qV9savtHwmZUa0eJE294WYJjKPGB2+bJhwByFShsVyo=", + "lastModified": 1728345020, + "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "6b3261ee13a6d2b99de79a31d352f6996e35bde3", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprland-protocols_2": { - "inputs": { - "nixpkgs": [ - "hyprland", - "xdph", - "nixpkgs" - ], - "systems": [ - "hyprland", - "xdph", - "systems" - ] - }, - "locked": { - "lastModified": 1721326555, - "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", + "rev": "a7c183800e74f337753de186522b9017a07a8cee", "type": "github" }, "original": { @@ -701,11 +713,11 @@ ] }, "locked": { - "lastModified": 1725997860, - "narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=", + "lastModified": 1728168612, + "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876", + "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e", "type": "github" }, "original": { @@ -726,11 +738,11 @@ ] }, "locked": { - "lastModified": 1727300645, - "narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=", + "lastModified": 1728941256, + "narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c", + "rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85", "type": "github" }, "original": { @@ -766,11 +778,11 @@ }, "impermanence": { "locked": { - "lastModified": 1727649413, - "narHash": "sha256-FA53of86DjFdeQzRDVtvgWF9o52rWK70VHGx0Y8fElQ=", + "lastModified": 1729068498, + "narHash": "sha256-C2sGRJl1EmBq0nO98TNd4cbUy20ABSgnHWXLIJQWRFA=", "owner": "nix-community", "repo": "impermanence", - "rev": "d0b38e550039a72aff896ee65b0918e975e6d48e", + "rev": "e337457502571b23e449bf42153d7faa10c0a562", "type": "github" }, "original": { @@ -798,11 +810,11 @@ }, "master": { "locked": { - "lastModified": 1728286420, - "narHash": "sha256-o2MfGdzZsQxcBDlAiYASBqMrAUOgz2b/EzzCtIo6RNI=", + "lastModified": 1729497599, + "narHash": "sha256-VIL7URnjTkpYc7FQ0QJhV7Q2n2/hi3AgiFr5Ul1/glo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a825406b157355e5fe73c48d04db97439a02edc9", + "rev": "f6bdbd1605b17cfbd8af51ba68db779e130d54b3", "type": "github" }, "original": { @@ -835,7 +847,7 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -843,11 +855,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1727852635, - "narHash": "sha256-eY0Y5ZDMo5IS+K42kMwAMCLsYHoAgPW3R4UxeGfzP0U=", + "lastModified": 1729147490, + "narHash": "sha256-F0/iQVbbIFctMPwK4JEd4fxVzNwaq7NnD5oen59S24s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "377cf41246ee443c86c4ae48f66f5100038fe158", + "rev": "e2047498667aeb24e8493ff430a20cff713915f4", "type": "github" }, "original": { @@ -859,11 +871,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1727825968, - "narHash": "sha256-7DbbGIAbJesqYEkZh2FaEo5wycZ/cRbvZP6k01Z5+ZM=", + "lastModified": 1729121305, + "narHash": "sha256-c94xkA/RuszC4PfmB+MWqOo2vbO66GTO6XKer0mbltA=", "owner": "neovim", "repo": "neovim", - "rev": "2168d772b864fd05109fb4299e409d4bdc1df39d", + "rev": "852954ff6d96adce0158f74ca494fdcef3aa1921", "type": "github" }, "original": { @@ -880,11 +892,11 @@ ] }, "locked": { - "lastModified": 1727999297, - "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", + "lastModified": 1728901530, + "narHash": "sha256-I9Qd0LnAsEGHtKE9+uVR0iDFmsijWSy7GT0g3jihG4Q=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", + "rev": "a60ac02f9466f85f092e576fd8364dfc4406b5a6", "type": "github" }, "original": { @@ -900,11 +912,11 @@ ] }, "locked": { - "lastModified": 1728263287, - "narHash": "sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg=", + "lastModified": 1729394935, + "narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259", + "rev": "04f8a11f247ba00263b060fbcdc95484fd046104", "type": "github" }, "original": { @@ -935,7 +947,7 @@ }, "nix-super": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts_4", "git-hooks-nix": "git-hooks-nix", "libgit2": "libgit2", @@ -1033,6 +1045,22 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_10": { "locked": { "lastModified": 1692934111, @@ -1083,11 +1111,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1727348695, - "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { @@ -1099,11 +1127,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1727747005, - "narHash": "sha256-2PBox0LkPhxirg1asEIpvfFARjq5KLw0EHPCy4unjPs=", + "lastModified": 1728863046, + "narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9682b2197dabc185fcca802ac1ac21136e48fcc2", + "rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732", "type": "github" }, "original": { @@ -1131,11 +1159,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1728249353, - "narHash": "sha256-7NBJm1jfMeAowE1J2oljYqWVvI9X7FyyxBY4O8uB/Os=", + "lastModified": 1729265718, + "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8a17040be4a20b29589cb4043a9e0c36af1930e", + "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", "type": "github" }, "original": { @@ -1147,11 +1175,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1729070438, + "narHash": "sha256-KOTTUfPkugH52avUvXGxvWy8ibKKj4genodIYUED+Kc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "5785b6bb5eaae44e627d541023034e1601455827", "type": "github" }, "original": { @@ -1182,7 +1210,7 @@ "devshell": [ "devshell" ], - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "flake-parts": [ "flake-parts" ], @@ -1196,11 +1224,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1728245494, - "narHash": "sha256-bulK/Z+SEJaHM2PPk7W/kRvO51Ag9bTebcaWai9EEJc=", + "lastModified": 1729438888, + "narHash": "sha256-TGTDOX2/5OIoSzlcRReVn4BbbfL6Ami/eassiPPGqNA=", "owner": "nix-community", "repo": "nixvim", - "rev": "33d030d23c9b88bb29e300d702aade58c3734612", + "rev": "47b563d4e1410bff6a9481b3dd8b01b1e5ed70d2", "type": "github" }, "original": { @@ -1211,11 +1239,11 @@ }, "nur": { "locked": { - "lastModified": 1728282432, - "narHash": "sha256-ftGSLQ5W9Jq8lQa3+ta/v7RtnY3MNwLQ6ybXtLbbLSw=", + "lastModified": 1729491640, + "narHash": "sha256-k2mR4w+yvko/JsWaH+1fIqjWRFixEs+jv/lNw8qnfkQ=", "owner": "nix-community", "repo": "NUR", - "rev": "baa11edb344e5715eedaeb2a92b6bc5c220a69e4", + "rev": "41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd", "type": "github" }, "original": { @@ -1233,11 +1261,11 @@ ] }, "locked": { - "lastModified": 1728017046, - "narHash": "sha256-ofWYux/uUAv8wq7sWw8XWke0sh8p4qYxSOn8d+EaJ8c=", + "lastModified": 1728905062, + "narHash": "sha256-W/lClt0bRgFRO0WFtytX/LEILpPNq+FOjIfESpkeu5c=", "owner": "NuschtOS", "repo": "search", - "rev": "ba81d9c1eae20fc3a1cd066062a05ac2e799e629", + "rev": "f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84", "type": "github" }, "original": { @@ -1248,17 +1276,41 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_5", - "gitignore": "gitignore_3", - "nixpkgs": "nixpkgs_9", + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1728092656, - "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", + "lastModified": 1728778939, + "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_6", + "gitignore": "gitignore_4", + "nixpkgs": "nixpkgs_9", + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -1306,7 +1358,7 @@ "nixpkgs": "nixpkgs_7", "nixvim": "nixvim", "nur": "nur", - "pre-commit-hooks": "pre-commit-hooks", + "pre-commit-hooks": "pre-commit-hooks_2", "river": "river", "stable": "stable", "timers": "timers" @@ -1314,11 +1366,11 @@ }, "stable": { "locked": { - "lastModified": 1728193676, - "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", + "lastModified": 1729307008, + "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", + "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", "type": "github" }, "original": { @@ -1431,11 +1483,11 @@ ] }, "locked": { - "lastModified": 1727984844, - "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", + "lastModified": 1729242555, + "narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", + "rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5", "type": "github" }, "original": { @@ -1464,7 +1516,10 @@ }, "xdph": { "inputs": { - "hyprland-protocols": "hyprland-protocols_2", + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], "hyprlang": [ "hyprland", "hyprlang" @@ -1487,11 +1542,11 @@ ] }, "locked": { - "lastModified": 1727524473, - "narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=", + "lastModified": 1728166987, + "narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26", + "rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787", "type": "github" }, "original": { diff --git a/modules/programs/nvim/new_plugins/lsp.nix b/modules/programs/nvim/new_plugins/lsp.nix index 403938f..8a001f5 100644 --- a/modules/programs/nvim/new_plugins/lsp.nix +++ b/modules/programs/nvim/new_plugins/lsp.nix @@ -10,7 +10,7 @@ in inlayHints = true; servers.elixirls.enable = true; servers.nextls.enable = true; - servers.nil-ls.enable = true; + servers.nil_ls.enable = true; servers.nixd.enable = true; servers.nixd.extraOptions.settings.nixd = { nixpkgs = { diff --git a/modules/programs/river/default.nix b/modules/programs/river/default.nix index 774d1cb..9c395a6 100644 --- a/modules/programs/river/default.nix +++ b/modules/programs/river/default.nix @@ -213,10 +213,9 @@ in # adds pam module for swaylock security.pam.services.swaylock = { }; - # add user packages for wayland and hyprland in particular users.users.moritz.packages = with pkgs; [ brightnessctl # control brightness - grimblast # screenshot tool for hyprland + grimblast # screenshot tool pamixer # pulse audio cli playerctl # control media playback slurp # region select for wayland (for screensharing) From ffab7cedc405351da1c9357665a0a80de869f36a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 07:35:36 +0200 Subject: [PATCH 08/26] feat: add ghostty --- flake.lock | 145 +++++++++++++++++++++++++---- flake.nix | 5 + hosts/nixos-laptop/default.nix | 1 + modules/config/terminal.nix | 13 +++ modules/programs/ghostty.nix | 35 +++++++ modules/programs/river/default.nix | 2 +- 6 files changed, 183 insertions(+), 18 deletions(-) create mode 100644 modules/config/terminal.nix create mode 100644 modules/programs/ghostty.nix diff --git a/flake.lock b/flake.lock index 91eb528..c712465 100644 --- a/flake.lock +++ b/flake.lock @@ -342,7 +342,25 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_5" }, "locked": { "lastModified": 1726560853, @@ -358,6 +376,26 @@ "type": "github" } }, + "ghostty": { + "inputs": { + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", + "zig": "zig" + }, + "locked": { + "lastModified": 1729372614, + "narHash": "sha256-WqbbdfXbayKTGplZ6GntKq1blX3YTI7WzXEPWhqo0fA=", + "ref": "refs/heads/main", + "rev": "1134a9cbea571a3303df352636b1329753b4d443", + "revCount": 7757, + "type": "git", + "url": "ssh://git@github.com/ghostty-org/ghostty" + }, + "original": { + "type": "git", + "url": "ssh://git@github.com/ghostty-org/ghostty" + } + }, "git-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -653,7 +691,7 @@ "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_4", "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems_3", + "systems": "systems_4", "xdph": "xdph" }, "locked": { @@ -810,11 +848,11 @@ }, "master": { "locked": { - "lastModified": 1729497599, - "narHash": "sha256-VIL7URnjTkpYc7FQ0QJhV7Q2n2/hi3AgiFr5Ul1/glo=", + "lastModified": 1729502391, + "narHash": "sha256-maI+uLuGbgwkvNp+FzzhLiGvd80+MS0gASpHjU6B0hY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f6bdbd1605b17cfbd8af51ba68db779e130d54b3", + "rev": "d3503200cd28f0ecba42a9a4f82988f469932320", "type": "github" }, "original": { @@ -1031,16 +1069,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", - "owner": "NixOS", + "lastModified": 1726062281, + "narHash": "sha256-PyFVySdGj3enKqm8RQuo4v1KLJLmNLOq2yYOHsI6e2Q=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "e65aa8301ba4f0ab8cb98f944c14aa9da07394f8", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", + "owner": "nixos", + "ref": "release-24.05", "repo": "nixpkgs", "type": "github" } @@ -1061,6 +1099,38 @@ "type": "github" } }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_10": { "locked": { "lastModified": 1692934111, @@ -1254,7 +1324,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nixvim", "nixpkgs" @@ -1282,7 +1352,7 @@ "hyprland", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1728778939, @@ -1303,7 +1373,7 @@ "flake-compat": "flake-compat_6", "gitignore": "gitignore_4", "nixpkgs": "nixpkgs_9", - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1729104314, @@ -1346,6 +1416,7 @@ "disko": "disko", "flake-parts": "flake-parts", "flake-utils": "flake-utils", + "ghostty": "ghostty", "home-manager": "home-manager_2", "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", @@ -1411,6 +1482,21 @@ } }, "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1425,7 +1511,7 @@ "type": "github" } }, - "systems_4": { + "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1440,7 +1526,7 @@ "type": "github" } }, - "systems_5": { + "systems_6": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1498,7 +1584,7 @@ }, "utils": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1692799911, @@ -1554,6 +1640,31 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1717848532, + "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 1beea8b..6884746 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,9 @@ # Firefox user.js arkenfox-userjs.url = "github:arkenfox/user.js"; arkenfox-userjs.flake = false; + + ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty"; + # ghostty.url = "/home/moritz/Documents/ghostty"; }; outputs = inputs@{ self, flake-parts, ... }: @@ -178,11 +181,13 @@ "https://hyprland.cachix.org" "https://nix-community.cachix.org" "https://pre-commit-hooks.cachix.org" + "https://ghostty.cachix.org" ]; extra-trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc=" + "ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns=" ]; }; } diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index 14ac222..37704af 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -20,6 +20,7 @@ webis.enable = true; impermanence.enable = true; }; + terminal.package = pkgs.kitty; programs.river.enable = true; programs.hyprland.enable = false; programs.exercism.enable = true; diff --git a/modules/config/terminal.nix b/modules/config/terminal.nix new file mode 100644 index 0000000..dbae99b --- /dev/null +++ b/modules/config/terminal.nix @@ -0,0 +1,13 @@ +{ lib +, ... +}: + +with lib; +{ + options.my.terminal = { + package = mkOption { + type = types.package; + apply = lib.getExe; + }; + }; +} diff --git a/modules/programs/ghostty.nix b/modules/programs/ghostty.nix new file mode 100644 index 0000000..a51f266 --- /dev/null +++ b/modules/programs/ghostty.nix @@ -0,0 +1,35 @@ +{ config +, lib +, pkgs +, inputs +, ... +}: + +with lib; +let + cfg = config.my.programs.ghostty; + format = pkgs.formats.keyValue { + listsAsDuplicateKeys = true; + }; +in +{ + options.my.programs.ghostty.enable = mkEnableOption "Ghostty"; + options.my.programs.ghostty.package = (mkPackageOption pkgs "Ghostty" { }) // { + inherit (inputs.ghostty.packages.${pkgs.system}) default; + }; + options.my.programs.ghostty.settings = mkOption { + inherit (format) type; + description = '' + Configuration written to {file}`$XDG_CONFIG_HOME/ghostty/config`. + ''; + default = { }; + }; + + config = mkIf cfg.enable { + my.terminal.package = cfg.package; + home-manager.users.moritz = { + home.packages = [ cfg.package ]; + xdg.configFile."ghostty/config".source = format.generate "ghostty-config" cfg.settings; + }; + }; +} diff --git a/modules/programs/river/default.nix b/modules/programs/river/default.nix index 9c395a6..a3e4c7c 100644 --- a/modules/programs/river/default.nix +++ b/modules/programs/river/default.nix @@ -68,7 +68,7 @@ in map = { normal = { "Super Q" = "close"; - "Super Return" = "spawn kitty"; + "Super Return" = "spawn '${config.my.terminal.package}'"; "Super R" = ''spawn 'exec $(tofi-run --fuzzy-match=true)' ''; "Super W" = ''spawn "pkill -USR1 waybar"''; "Super+Shift R" = "spawn ~/.config/river/init"; From 06f162c0d7dfe06b0a034bfe1982263243cb0edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 07:36:13 +0200 Subject: [PATCH 09/26] feat: add laptop lock session keybind --- modules/programs/river/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/programs/river/default.nix b/modules/programs/river/default.nix index a3e4c7c..bb17955 100644 --- a/modules/programs/river/default.nix +++ b/modules/programs/river/default.nix @@ -94,6 +94,7 @@ in # lock screen "Super+Alt L" = ''spawn "loginctl lock-session"''; + "Control I" = ''spawn "loginctl lock-session"''; # XF86 keys "None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'"; From d6e48ac4665eb452f0af2a1280a4fdb14402f7b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 07:46:19 +0200 Subject: [PATCH 10/26] feat: add lazygit alias --- modules/profiles/base.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index ca8a8b4..eed0e10 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -187,6 +187,7 @@ in rs = "sudo systemctl"; uj = "journalctl --user"; rj = "sudo journalctl"; + lg = "lazygit"; }; aliases = { ls = "${getExe pkgs.eza} -lh --icons --git"; From a2a2dc8416752e9dfd170456fe47d9464f1bdb51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 07:46:36 +0200 Subject: [PATCH 11/26] refactor: remove unused alias --- modules/profiles/base.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index eed0e10..b8766c8 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -194,8 +194,6 @@ in cat = "bat"; rm = "rm -i"; mv = "mv -i"; - - nixos-update = "pushd ~/.dotfiles && nix flake update && popd"; }; variables = { EDITOR = "vim"; }; }; From e9dc87f95c1a14f7831af69a291e997fa7502b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 10:38:06 +0200 Subject: [PATCH 12/26] chore: update inputs --- flake.lock | 137 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 83 insertions(+), 54 deletions(-) diff --git a/flake.lock b/flake.lock index c712465..f87ae91 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1728902391, - "narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=", + "lastModified": 1729527199, + "narHash": "sha256-D5/YksfRga8Akd04ZtIkuYSIOjXVrAzQIQBSeplokzU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "9874e08eec85b5542ca22494e127b0cdce46b786", + "rev": "8d732fa8aff8b12ef2b1e2f00fc8153e41312b72", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1729281548, - "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", + "lastModified": 1729712798, + "narHash": "sha256-a+Aakkb+amHw4biOZ0iMo8xYl37uUL48YEXIC5PYJ/8=", "owner": "nix-community", "repo": "disko", - "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", + "rev": "09a776702b004fdf9c41a024e1299d575ee18a7d", "type": "github" }, "original": { @@ -383,11 +383,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1729372614, - "narHash": "sha256-WqbbdfXbayKTGplZ6GntKq1blX3YTI7WzXEPWhqo0fA=", + "lastModified": 1729829295, + "narHash": "sha256-r9bRVnLdsLPsuFb+iqUiKzxgSHWAOCt9BYxNWKwHy9Y=", "ref": "refs/heads/main", - "rev": "1134a9cbea571a3303df352636b1329753b4d443", - "revCount": 7757, + "rev": "582b8d039a9e36a370c9a60d702e27e06dc2e19d", + "revCount": 7809, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -621,11 +621,11 @@ ] }, "locked": { - "lastModified": 1729459288, - "narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=", + "lastModified": 1729716953, + "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e", + "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", "type": "github" }, "original": { @@ -695,11 +695,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1729378105, - "narHash": "sha256-pcrrLHaHXct4I985PZhNZVYLghwZvQnnjGNToL56DFY=", + "lastModified": 1729781453, + "narHash": "sha256-vSZSNXXNEPN5JJcUobCBl6FaDvXjmLHhAJWoX3ZmHUQ=", "ref": "refs/heads/main", - "rev": "08cc063e175e48cea44d26b7e3762f4b8611f0c5", - "revCount": 5362, + "rev": "3cec45d82113051d35e846e5d80719d8ea0f7002", + "revCount": 5372, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -829,6 +829,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729544999, + "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.5", + "repo": "ixx", + "type": "github" + } + }, "libgit2": { "flake": false, "locked": { @@ -848,11 +876,11 @@ }, "master": { "locked": { - "lastModified": 1729502391, - "narHash": "sha256-maI+uLuGbgwkvNp+FzzhLiGvd80+MS0gASpHjU6B0hY=", + "lastModified": 1729839280, + "narHash": "sha256-1sU4rzJow2Fphk3G5IGjudBtI3y9sgNM9a4BN2Us/Qs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d3503200cd28f0ecba42a9a4f82988f469932320", + "rev": "e9eca9b6e9828be9ccddf1007f6f30feb9a40e24", "type": "github" }, "original": { @@ -930,11 +958,11 @@ ] }, "locked": { - "lastModified": 1728901530, - "narHash": "sha256-I9Qd0LnAsEGHtKE9+uVR0iDFmsijWSy7GT0g3jihG4Q=", + "lastModified": 1729757100, + "narHash": "sha256-x+8uGaX66V5+fUBHY23Q/OQyibQ38nISzxgj7A7Jqds=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a60ac02f9466f85f092e576fd8364dfc4406b5a6", + "rev": "04193f188e4144d7047f83ad1de81d6034d175cd", "type": "github" }, "original": { @@ -1181,11 +1209,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1728888510, - "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", + "lastModified": 1729413321, + "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", + "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", "type": "github" }, "original": { @@ -1229,11 +1257,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1729265718, - "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", + "lastModified": 1729788628, + "narHash": "sha256-3suayUinicnvE/4shMZwp9FHT5izUM8gMpdEO/NHBTo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", + "rev": "63487b2f26fa065cfeeaa47dddb08e2856ba53e8", "type": "github" }, "original": { @@ -1245,11 +1273,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1729070438, - "narHash": "sha256-KOTTUfPkugH52avUvXGxvWy8ibKKj4genodIYUED+Kc=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5785b6bb5eaae44e627d541023034e1601455827", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -1294,11 +1322,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729438888, - "narHash": "sha256-TGTDOX2/5OIoSzlcRReVn4BbbfL6Ami/eassiPPGqNA=", + "lastModified": 1729791159, + "narHash": "sha256-i5TKYCs9tJ2qaYTsjQh3WwExmj4O0EU+L1jq6ZBVMfM=", "owner": "nix-community", "repo": "nixvim", - "rev": "47b563d4e1410bff6a9481b3dd8b01b1e5ed70d2", + "rev": "4726334e4413ff55f1db3768c8d08722abbf09cf", "type": "github" }, "original": { @@ -1309,11 +1337,11 @@ }, "nur": { "locked": { - "lastModified": 1729491640, - "narHash": "sha256-k2mR4w+yvko/JsWaH+1fIqjWRFixEs+jv/lNw8qnfkQ=", + "lastModified": 1729839538, + "narHash": "sha256-uS2m5oW/Jhi3UxMfCChj64NndOsE2+4Px+jYDXmpcjM=", "owner": "nix-community", "repo": "NUR", - "rev": "41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd", + "rev": "6f557f568d3a16cda792132ad82e9f0c14ba5ef0", "type": "github" }, "original": { @@ -1325,17 +1353,18 @@ "nuschtosSearch": { "inputs": { "flake-utils": "flake-utils_3", + "ixx": "ixx", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1728905062, - "narHash": "sha256-W/lClt0bRgFRO0WFtytX/LEILpPNq+FOjIfESpkeu5c=", + "lastModified": 1729763753, + "narHash": "sha256-M8WAUgKFBU5TvFt92g/dHBtGJmBP33LHird+solHt0g=", "owner": "NuschtOS", "repo": "search", - "rev": "f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84", + "rev": "bedc2f2ada220815a98a896e10f5e61bfc329bfc", "type": "github" }, "original": { @@ -1355,11 +1384,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1728778939, - "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -1392,11 +1421,11 @@ "river": { "flake": false, "locked": { - "lastModified": 1727948541, - "narHash": "sha256-pC8D581CMhh3XCVBbwZ/8woAuD58ilGCrBX4ic5G9Zo=", + "lastModified": 1729764469, + "narHash": "sha256-uhgvV+GTxeTJNxZ4lUpqPlaonnon7MD/qFi3a6OU5t0=", "ref": "refs/heads/master", - "rev": "fd55f51ba1b53af95fe3a24611490d42a895ef98", - "revCount": 1297, + "rev": "1b5dd21ee610b30d13c9165dfde23989c5e97e8d", + "revCount": 1299, "submodules": true, "type": "git", "url": "https://github.com/riverwm/river" @@ -1437,11 +1466,11 @@ }, "stable": { "locked": { - "lastModified": 1729307008, - "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "lastModified": 1729691686, + "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37", "type": "github" }, "original": { @@ -1569,11 +1598,11 @@ ] }, "locked": { - "lastModified": 1729242555, - "narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=", + "lastModified": 1729613947, + "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5", + "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", "type": "github" }, "original": { From 20cae34e85c3bc1b81d00035397538b46c743944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 10:39:02 +0200 Subject: [PATCH 13/26] feat: add powertop --- hosts/nixos-laptop/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index 37704af..6bdc7ea 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -173,6 +173,7 @@ # Powersaving services.tlp.enable = true; powerManagement.enable = true; + powerManagement.powertop.enable = true; systemd = { # Hibernare on low battery From 6657d4e7a2d29b87d135a7ee4f43e1b971b0116b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 11:16:29 +0200 Subject: [PATCH 14/26] feat: add github access token for nix --- modules/programs/nix.nix | 7 ++++++- secrets/nix-github-token.age | 10 ++++++++++ secrets/secrets.nix | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 secrets/nix-github-token.age diff --git a/modules/programs/nix.nix b/modules/programs/nix.nix index c0807ce..c98c643 100644 --- a/modules/programs/nix.nix +++ b/modules/programs/nix.nix @@ -44,12 +44,17 @@ in nix = config.nix.package; }; + age.secrets.nix-github-token.file = ../../secrets/nix-github-token.age; + nix = { nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; package = pkgs.nix; - extraOptions = "experimental-features = nix-command flakes"; + extraOptions = '' + !include ${config.age.secrets.nix-github-token.path} + experimental-features = nix-command flakes + ''; gc = { automatic = cfg.gc.enable; diff --git a/secrets/nix-github-token.age b/secrets/nix-github-token.age new file mode 100644 index 0000000..0a2a81e --- /dev/null +++ b/secrets/nix-github-token.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> ssh-ed25519 CjuqfA H1gL8k/o7kvJoVEZ0UrbUv1G7Ceb3cUCIVFhch9rDhc +0531muHlievVhT5piGLXC+/zOymCkPM9P9csRxLsnpM +-> ssh-ed25519 wG6LYg Z9cm/TUZbV35tzgHywx1AHmF8jrFFqBl3sCIELEvcH0 +OmLY/ThgZ4f8CFFA5YpYFiRK+ro7cBqoFY6UY7/VS8I +-> ssh-ed25519 ZYd7Zg xpjSILAYRyQ4kkbdLAVJQXChX+t/DeL3qWWJae2sczI +wamYh70/AGSh5j4uqsPFTvn36E3TmGoVL8XlxbSfX9g +--- NNsTU7Fsi/WLegSpkuoNaxN0kFQG38mgdhCQ8y+CSQE +v"F +=raz6hQN&DpvGXQ$d7t݈ElIXYrV')J¬Hɦڃ?fWH_ԮԱ" \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index e82d844..197c70b 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -28,4 +28,5 @@ in "exercism.age".publicKeys = personal; "openai.age".publicKeys = personal; "anthropic.age".publicKeys = personal; + "nix-github-token.age".publicKeys = personal; } From a793777d5df09fde7ca8b3950acf92c6cd63370e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 25 Oct 2024 12:34:49 +0200 Subject: [PATCH 15/26] feat: add nixos facter --- flake.lock | 16 + flake.nix | 3 + hosts/nixos-laptop/default.nix | 6 +- hosts/nixos-laptop/facter.json | 4201 +++++++++++++++++ hosts/nixos-laptop/hardware-configuration.nix | 17 - 5 files changed, 4223 insertions(+), 20 deletions(-) create mode 100644 hosts/nixos-laptop/facter.json delete mode 100644 hosts/nixos-laptop/hardware-configuration.nix diff --git a/flake.lock b/flake.lock index f87ae91..2dcff6d 100644 --- a/flake.lock +++ b/flake.lock @@ -1035,6 +1035,21 @@ "type": "github" } }, + "nixos-facter-modules": { + "locked": { + "lastModified": 1728725827, + "narHash": "sha256-io1UeGaV2HcmK1zCZPnawJu3CxKHhiZ83NBJ+qshWIo=", + "owner": "numtide", + "repo": "nixos-facter-modules", + "rev": "9f2a45b372830d28412160413d1d83f5ee11cc2f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nixos-facter-modules", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1722073938, @@ -1455,6 +1470,7 @@ "nix-index-database": "nix-index-database", "nix-monitored": "nix-monitored", "nix-super": "nix-super", + "nixos-facter-modules": "nixos-facter-modules", "nixpkgs": "nixpkgs_7", "nixvim": "nixvim", "nur": "nur", diff --git a/flake.nix b/flake.nix index 6884746..bebb754 100644 --- a/flake.nix +++ b/flake.nix @@ -56,6 +56,8 @@ ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty"; # ghostty.url = "/home/moritz/Documents/ghostty"; + + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; }; outputs = inputs@{ self, flake-parts, ... }: @@ -158,6 +160,7 @@ inputs.home-manager.nixosModule inputs.impermanence.nixosModules.impermanence inputs.nix-index-database.nixosModules.nix-index + inputs.nixos-facter-modules.nixosModules.facter path ]; }) diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index 6bdc7ea..c9be944 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -6,11 +6,11 @@ , ... }: { imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix ./disko.nix ]; + facter.reportPath = ./facter.json; + my = { virtualisation.libvirtd.enable = true; yubikey.luksSupport.enable = false; @@ -143,6 +143,7 @@ supportedFilesystems = [ "zfs" ]; loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; + initrd.availableKernelModules = [ "rtsx_pci_sdmmc" ]; }; # SERVICES @@ -152,7 +153,6 @@ printing.enable = true; logind.lidSwitch = "hybrid-sleep"; }; - hardware.bluetooth.enable = true; # NETWORKING networking = { diff --git a/hosts/nixos-laptop/facter.json b/hosts/nixos-laptop/facter.json new file mode 100644 index 0000000..54f871d --- /dev/null +++ b/hosts/nixos-laptop/facter.json @@ -0,0 +1,4201 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "none", + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": false, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 0, + "smbios_version": 770 + }, + "bluetooth": [ + { + "index": 44, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "value": 32903 + }, + "device": { + "value": 41 + }, + "revision": { + "name": "0.01", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-4/1-4:1.1", + "sysfs_bus_id": "1-4:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in01" + }, + { + "index": 52, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "value": 32903 + }, + "device": { + "value": 41 + }, + "revision": { + "name": "0.01", + "value": 0 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/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": { + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in00" + } + ], + "bridge": [ + { + "index": 11, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5682 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "sysfs_iommu_group_id": 5, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001632sv00000000sd00000000bc06sc00i00" + }, + { + "index": 12, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5195 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.3", + "sysfs_bus_id": "0000:00:18.3", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 3, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "k10temp", + "driver_module": "k10temp", + "drivers": [ + "k10temp" + ], + "driver_modules": [ + "k10temp" + ], + "module_alias": "pci:v00001022d0000144Bsv00000000sd00000000bc06sc00i00" + }, + { + "index": 13, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5684 + }, + "sub_device": { + "value": 4660 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2", + "sysfs_bus_id": "0000:00:01.2", + "sysfs_iommu_group_id": 2, + "resources": [ + { + "type": "irq", + "base": 39, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 2, + "irq": 39, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001634sv00001022sd00001234bc06sc04i00" + }, + { + "index": 16, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5193 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.1", + "sysfs_bus_id": "0000:00:18.1", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 1, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001449sv00000000sd00000000bc06sc00i00" + }, + { + "index": 18, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5682 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.0", + "sysfs_bus_id": "0000:00:01.0", + "sysfs_iommu_group_id": 0, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001632sv00000000sd00000000bc06sc00i00" + }, + { + "index": 20, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 30990 + }, + "sub_device": { + "value": 4722 + }, + "revision": { + "value": 81 + }, + "model": "AMD ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 3, + "command": 15, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000790Esv00001043sd00001272bc06sc01i00" + }, + { + "index": 24, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5198 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.6", + "sysfs_bus_id": "0000:00:18.6", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 6, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000144Esv00000000sd00000000bc06sc00i00" + }, + { + "index": 25, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5680 + }, + "sub_device": { + "value": 5680 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001630sv00001022sd00001630bc06sc00i00" + }, + { + "index": 26, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5685 + }, + "sub_device": { + "value": 5685 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1", + "sysfs_bus_id": "0000:00:08.1", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 41, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 4, + "irq": 41, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001635sv00001022sd00001635bc06sc04i00" + }, + { + "index": 27, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5196 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.4", + "sysfs_bus_id": "0000:00:18.4", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 4, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000144Csv00000000sd00000000bc06sc00i00" + }, + { + "index": 28, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5684 + }, + "sub_device": { + "value": 4660 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.3", + "sysfs_bus_id": "0000:00:01.3", + "sysfs_iommu_group_id": 3, + "resources": [ + { + "type": "irq", + "base": 40, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 3, + "command": 1031, + "header_type": 1, + "secondary_bus": 3, + "irq": 40, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001634sv00001022sd00001234bc06sc04i00" + }, + { + "index": 30, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5194 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.2", + "sysfs_bus_id": "0000:00:18.2", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000144Asv00000000sd00000000bc06sc00i00" + }, + { + "index": 31, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5684 + }, + "sub_device": { + "value": 4660 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.1", + "sysfs_bus_id": "0000:00:01.1", + "sysfs_iommu_group_id": 1, + "resources": [ + { + "type": "irq", + "base": 38, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "irq": 38, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001634sv00001022sd00001234bc06sc04i00" + }, + { + "index": 34, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5192 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.0", + "sysfs_bus_id": "0000:00:18.0", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001448sv00000000sd00000000bc06sc00i00" + }, + { + "index": 37, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5682 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.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:v00001022d00001632sv00000000sd00000000bc06sc00i00" + }, + { + "index": 38, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5199 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.7", + "sysfs_bus_id": "0000:00:18.7", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 7, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000144Fsv00000000sd00000000bc06sc00i00" + }, + { + "index": 40, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5685 + }, + "sub_device": { + "value": 5685 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2", + "sysfs_bus_id": "0000:00:08.2", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 42, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 5, + "irq": 42, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v00001022d00001635sv00001022sd00001635bc06sc04i00" + }, + { + "index": 41, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5197 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.5", + "sysfs_bus_id": "0000:00:18.5", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 5, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000144Dsv00000000sd00000000bc06sc00i00" + } + ], + "camera": [ + { + "index": 47, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "Azurewave", + "value": 5075 + }, + "device": { + "name": "USB2.0 HD UVC WebCam", + "value": 22251 + }, + "revision": { + "name": "19.64", + "value": 0 + }, + "serial": "0x0001", + "model": "Azurewave USB2.0 HD UVC WebCam", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.2", + "sysfs_bus_id": "1-3:1.2", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 2, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "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:v13D3p56EBd1964dcEFdsc02dp01ic0Eisc01ip01in02" + }, + { + "index": 49, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "Azurewave", + "value": 5075 + }, + "device": { + "name": "USB2.0 HD UVC WebCam", + "value": 22251 + }, + "revision": { + "name": "19.64", + "value": 0 + }, + "serial": "0x0001", + "model": "Azurewave USB2.0 HD UVC WebCam", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.0", + "sysfs_bus_id": "1-3:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "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:v13D3p56EBd1964dcEFdsc02dp01ic0Eisc01ip00in00" + }, + { + "index": 53, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "Azurewave", + "value": 5075 + }, + "device": { + "name": "USB2.0 HD UVC WebCam", + "value": 22251 + }, + "revision": { + "name": "19.64", + "value": 0 + }, + "serial": "0x0001", + "model": "Azurewave USB2.0 HD UVC WebCam", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.3", + "sysfs_bus_id": "1-3:1.3", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 1, + "interface_number": 3, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "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:v13D3p56EBd1964dcEFdsc02dp01ic0Eisc02ip01in03" + }, + { + "index": 55, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "Azurewave", + "value": 5075 + }, + "device": { + "name": "USB2.0 HD UVC WebCam", + "value": 22251 + }, + "revision": { + "name": "19.64", + "value": 0 + }, + "serial": "0x0001", + "model": "Azurewave USB2.0 HD UVC WebCam", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.1", + "sysfs_bus_id": "1-3:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "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:v13D3p56EBd1964dcEFdsc02dp01ic0Eisc02ip00in01" + } + ], + "chip_card": [ + { + "index": 54, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Chipcard Reader", + "value": 270 + }, + "vendor": { + "name": "Yubico", + "value": 4176 + }, + "device": { + "name": "YubiKey OTP+FIDO+CCID", + "value": 1031 + }, + "revision": { + "name": "5.43", + "value": 0 + }, + "model": "Yubico YubiKey OTP+FIDO+CCID", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-1/1-1:1.2", + "sysfs_bus_id": "1-1:1.2", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "smart_card", + "value": 11 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbfs", + "drivers": [ + "usbfs" + ], + "module_alias": "usb:v1050p0407d0543dc00dsc00dp00ic0Bisc00ip00in02" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "AuthenticAMD", + "family": 23, + "model": 96, + "stepping": 1, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "mmx", + "fxsr", + "sse", + "sse2", + "ht", + "syscall", + "nx", + "mmxext", + "fxsr_opt", + "pdpe1gb", + "rdtscp", + "lm", + "constant_tsc", + "rep_good", + "nopl", + "nonstop_tsc", + "cpuid", + "extd_apicid", + "aperfmperf", + "rapl", + "pni", + "pclmulqdq", + "monitor", + "ssse3", + "fma", + "cx16", + "sse4_1", + "sse4_2", + "movbe", + "popcnt", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "cmp_legacy", + "svm", + "extapic", + "cr8_legacy", + "abm", + "sse4a", + "misalignsse", + "3dnowprefetch", + "osvw", + "ibs", + "skinit", + "wdt", + "tce", + "topoext", + "perfctr_core", + "perfctr_nb", + "bpext", + "perfctr_llc", + "mwaitx", + "cpb", + "cat_l3", + "cdp_l3", + "hw_pstate", + "ssbd", + "mba", + "ibrs", + "ibpb", + "stibp", + "vmmcall", + "fsgsbase", + "bmi1", + "avx2", + "smep", + "bmi2", + "cqm", + "rdt_a", + "rdseed", + "adx", + "smap", + "clflushopt", + "clwb", + "sha_ni", + "xsaveopt", + "xsavec", + "xgetbv1", + "cqm_llc", + "cqm_occup_llc", + "cqm_mbm_total", + "cqm_mbm_local", + "clzero", + "irperf", + "xsaveerptr", + "rdpru", + "wbnoinvd", + "cppc", + "arat", + "npt", + "lbrv", + "svm_lock", + "nrip_save", + "tsc_scale", + "vmcb_clean", + "flushbyasid", + "decodeassists", + "pausefilter", + "pfthreshold", + "avic", + "v_vmsave_vmload", + "vgif", + "v_spec_ctrl", + "umip", + "rdpid", + "overflow_recov", + "succor", + "smca" + ], + "bugs": [ + "sysret_ss_attrs", + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "retbleed", + "smt_rsb", + "srso", + "ibpb_no_ret" + ], + "power_management": [ + "ts", + "ttp", + "tm", + "hwpstate", + "cpb", + "eff_freq_ro", + "[13]", + "[14]" + ], + "bogo": 4741.6, + "cache": 512, + "units": 6, + "physical_id": 0, + "siblings": 6, + "cores": 6, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 16, + "write_protect": false, + "tlb_size": 3072, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": 48, + "virtual": 48 + } + } + ], + "disk": [ + { + "index": 43, + "attached_to": 10, + "bus_type": { + "name": "NVME", + "value": 150 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "name": "Disk", + "value": 0 + }, + "vendor": { + "value": 9798 + }, + "sub_vendor": { + "value": 9798 + }, + "device": { + "name": "KINGSTON OM8PCP3512F-AB", + "value": 20492 + }, + "sub_device": { + "value": 20492 + }, + "serial": "50026B76838FA975", + "model": "KINGSTON OM8PCP3512F-AB", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.3/0000:03:00.0/nvme/nvme0", + "unix_device_name": "/dev/nvme0n1", + "unix_device_number": { + "type": 98, + "major": 259, + "minor": 0, + "range": 0 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/1", + "/dev/disk/by-id/nvme-KINGSTON_OM8PCP3512F-AB_50026B76838FA975", + "/dev/disk/by-id/nvme-KINGSTON_OM8PCP3512F-AB_50026B76838FA975_1", + "/dev/disk/by-id/nvme-eui.0026b76838fa9755", + "/dev/disk/by-path/pci-0000:03:00.0-nvme-1", + "/dev/nvme0n1" + ], + "rom_id": "0x80", + "resources": [ + { + "type": "disk_geo", + "cylinders": 488386, + "heads": 64, + "sectors": 32, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 1000215216, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + } + ], + "graphics_card": [ + { + "index": 36, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "name": "VGA", + "value": 0 + }, + "vendor": { + "name": "ATI Technologies Inc", + "value": 4098 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5686 + }, + "sub_device": { + "value": 4722 + }, + "revision": { + "value": 195 + }, + "model": "ATI VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.0", + "sysfs_bus_id": "0000:04:00.0", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "io", + "base": 61440, + "range": 256, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 53, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3489660928, + "range": 268435456, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 3758096384, + "range": 2097152, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4267704320, + "range": 524288, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 53, + "prog_if": 0 + }, + "driver": "amdgpu", + "driver_module": "amdgpu", + "drivers": [ + "amdgpu" + ], + "driver_modules": [ + "amdgpu" + ], + "module_alias": "pci:v00001002d00001636sv00001043sd00001272bc03sc00i00" + } + ], + "hub": [ + { + "index": 45, + "attached_to": 32, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.6.58 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "name": "6.06", + "value": 0 + }, + "serial": "0000:04:00.4", + "model": "Linux 6.6.58 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0606dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 50, + "attached_to": 32, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.6.58 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "name": "6.06", + "value": 0 + }, + "serial": "0000:04:00.4", + "model": "Linux 6.6.58 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0606dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 51, + "attached_to": 19, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.6.58 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "name": "6.06", + "value": 0 + }, + "serial": "0000:04:00.3", + "model": "Linux 6.6.58 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0606dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 57, + "attached_to": 19, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.6.58 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "name": "6.06", + "value": 0 + }, + "serial": "0000:04:00.3", + "model": "Linux 6.6.58 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0606dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 56, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "name": "Yubico", + "value": 4176 + }, + "device": { + "name": "YubiKey OTP+FIDO+CCID", + "value": 1031 + }, + "revision": { + "name": "5.43", + "value": 0 + }, + "model": "Yubico YubiKey OTP+FIDO+CCID", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-1/1-1:1.0", + "sysfs_bus_id": "1-1:1.0", + "unix_device_name": "/dev/input/event1", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 65, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Yubico_YubiKey_OTP+FIDO+CCID-event-kbd", + "/dev/input/by-path/pci-0000:04:00.3-usb-0:1:1.0-event-kbd", + "/dev/input/by-path/pci-0000:04:00.3-usbv2-0:1:1.0-event-kbd", + "/dev/input/event1" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v1050p0407d0543dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 9, + "attached_to": 0, + "base_class": { + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "mem", + "base": 0, + "range": 16159137792, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 16106127360 + } + ] + } + ], + "monitor": [ + { + "index": 42, + "attached_to": 36, + "base_class": { + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "name": "AUO", + "value": 1711 + }, + "device": { + "value": 42127 + }, + "serial": "0", + "model": "AUO LCD Monitor", + "resources": [ + { + "type": "monitor", + "width": 1920, + "height": 1080, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 309, + "value_2": 174 + } + ], + "detail": { + "manufacture_year": 2020, + "manufacture_week": 1, + "vertical_sync": { + "min": 0, + "max": 0 + }, + "horizontal_sync": { + "min": 0, + "max": 0 + }, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 1936, + "sync_end": 1952, + "total": 2104 + }, + "vertical_sync_timings": { + "disp": 1080, + "sync_start": 1083, + "sync_end": 1097, + "total": 1116 + }, + "clock": 112800, + "width": 1920, + "height": 1080, + "width_millimetres": 309, + "height_millimetres": 174, + "horizontal_flag": 45, + "vertical_flag": 45, + "vendor": "AUO", + "name": "" + } + } + ], + "network_controller": [ + { + "index": 22, + "attached_to": 31, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "value": 10019 + }, + "sub_device": { + "value": 140 + }, + "revision": { + "value": 26 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "sysfs_iommu_group_id": 8, + "unix_device_name": "wlp1s0", + "unix_device_names": [ + "wlp1s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 97 + }, + { + "type": "irq", + "base": 82, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4271898624, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 97 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "5.18", + "5.2", + "5.22", + "5.24", + "5.26", + "5.28", + "5.3", + "5.32", + "5.5", + "5.52", + "5.54", + "5.56", + "5.58", + "5.6", + "5.62", + "5.64", + "5.66", + "5.68", + "5.7" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 82, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d00002723sv00008086sd0000008Cbc02sc80i00" + } + ], + "network_interface": [ + { + "index": 58, + "attached_to": 0, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_name": "lo", + "unix_device_names": [ + "lo" + ] + }, + { + "index": 59, + "attached_to": 22, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/wlp1s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0", + "unix_device_name": "wlp1s0", + "unix_device_names": [ + "wlp1s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 97 + }, + { + "type": "phwaddr", + "address": 97 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ] + } + ], + "sound": [ + { + "index": 21, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "value": 3 + }, + "vendor": { + "name": "ATI Technologies Inc", + "value": 4098 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5687 + }, + "sub_device": { + "value": 7198 + }, + "model": "ATI Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.1", + "sysfs_bus_id": "0000:04:00.1", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 80, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4268523520, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 1, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 80, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00001002d00001637sv00001043sd00001C1Ebc04sc03i00" + }, + { + "index": 29, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "value": 3 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5603 + }, + "sub_device": { + "value": 7198 + }, + "model": "AMD Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.6", + "sysfs_bus_id": "0000:04:00.6", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 81, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4268490752, + "range": 32768, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 6, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 81, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00001022d000015E3sv00001043sd00001C1Ebc04sc03i00", + "label": "HD Audio Controller" + } + ], + "storage_controller": [ + { + "index": 10, + "attached_to": 28, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 3, + "number": 0 + }, + "base_class": { + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "value": 8 + }, + "pci_interface": { + "value": 2 + }, + "vendor": { + "value": 9798 + }, + "sub_vendor": { + "value": 9798 + }, + "device": { + "value": 20492 + }, + "sub_device": { + "value": 20492 + }, + "revision": { + "value": 1 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.3/0000:03:00.0", + "sysfs_bus_id": "0000:03:00.0", + "sysfs_iommu_group_id": 10, + "resources": [ + { + "type": "irq", + "base": 24, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4269801472, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 24, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v00002646d0000500Csv00002646sd0000500Cbc01sc08i02", + "label": "Onboard LAN Brodcom" + }, + { + "index": 15, + "attached_to": 40, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 5, + "number": 0 + }, + "base_class": { + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "value": 6 + }, + "pci_interface": { + "value": 1 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 30977 + }, + "sub_device": { + "value": 4722 + }, + "revision": { + "value": 129 + }, + "model": "AMD Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2/0000:05:00.1", + "sysfs_bus_id": "0000:05:00.1", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 73, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4268752896, + "range": 2048, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 1, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 73, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00001022d00007901sv00001043sd00001272bc01sc06i01" + }, + { + "index": 33, + "attached_to": 40, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 5, + "number": 0 + }, + "base_class": { + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "value": 6 + }, + "pci_interface": { + "value": 1 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 30977 + }, + "sub_device": { + "value": 4722 + }, + "revision": { + "value": 129 + }, + "model": "AMD Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2/0000:05:00.0", + "sysfs_bus_id": "0000:05:00.0", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 71, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4268756992, + "range": 2048, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 71, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00001022d00007901sv00001043sd00001272bc01sc06i01" + } + ], + "system": { + "form_factor": "laptop" + }, + "unknown": [ + { + "index": 14, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "name": "Multimedia controller", + "value": 128 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5602 + }, + "sub_device": { + "value": 7198 + }, + "revision": { + "value": 1 + }, + "model": "AMD Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.5", + "sysfs_bus_id": "0000:04:00.5", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 79, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4268228608, + "range": 262144, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 5, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 79, + "prog_if": 0 + }, + "driver": "snd_rn_pci_acp3x", + "driver_module": "snd_rn_pci_acp3x", + "drivers": [ + "snd_rn_pci_acp3x" + ], + "driver_modules": [ + "snd_rn_pci_acp3x" + ], + "module_alias": "pci:v00001022d000015E2sv00001043sd00001C1Ebc04sc80i00" + }, + { + "index": 17, + "attached_to": 13, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 255 + }, + "vendor": { + "value": 4332 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 21034 + }, + "sub_device": { + "value": 8239 + }, + "revision": { + "value": 1 + }, + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0", + "sysfs_bus_id": "0000:02:00.0", + "sysfs_iommu_group_id": 9, + "resources": [ + { + "type": "irq", + "base": 44, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4270850048, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 44, + "prog_if": 0 + }, + "driver": "rtsx_pci", + "driver_module": "rtsx_pci", + "drivers": [ + "rtsx_pci" + ], + "driver_modules": [ + "rtsx_pci" + ], + "module_alias": "pci:v000010ECd0000522Asv00001043sd0000202FbcFFsc00i00" + }, + { + "index": 23, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "value": 6 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5681 + }, + "sub_device": { + "value": 5681 + }, + "model": "AMD Generic system peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:00.2", + "sysfs_bus_id": "0000:00:00.2", + "resources": [ + { + "type": "irq", + "base": 255, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 4, + "header_type": 0, + "secondary_bus": 0, + "irq": 255, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001631sv00001022sd00001631bc08sc06i00" + }, + { + "index": 35, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Encryption controller", + "value": 16 + }, + "sub_class": { + "name": "Encryption controller", + "value": 128 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "name": "AMD", + "value": 4130 + }, + "device": { + "value": 5599 + }, + "sub_device": { + "value": 5599 + }, + "model": "AMD Encryption controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.2", + "sysfs_bus_id": "0000:04:00.2", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 74, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4266655744, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4268539904, + "range": 8192, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 74, + "prog_if": 0 + }, + "driver": "ccp", + "driver_module": "ccp", + "drivers": [ + "ccp" + ], + "driver_modules": [ + "ccp" + ], + "module_alias": "pci:v00001022d000015DFsv00001022sd000015DFbc10sc80i00" + }, + { + "index": 39, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "SMBus", + "value": 5 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 30987 + }, + "sub_device": { + "value": 4722 + }, + "revision": { + "value": 81 + }, + "model": "AMD SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 0, + "command": 1027, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "piix4_smbus", + "driver_module": "i2c_piix4", + "drivers": [ + "piix4_smbus" + ], + "driver_modules": [ + "i2c_piix4" + ], + "module_alias": "pci:v00001022d0000790Bsv00001043sd00001272bc0Csc05i00" + }, + { + "index": 46, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Azurewave", + "value": 5075 + }, + "device": { + "name": "USB2.0 HD UVC WebCam", + "value": 22251 + }, + "revision": { + "name": "19.64", + "value": 0 + }, + "serial": "0x0001", + "model": "Azurewave USB2.0 HD UVC WebCam", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.4", + "sysfs_bus_id": "1-3:1.4", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "application", + "value": 254 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 4, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "application", + "value": 254 + }, + "function_subclass": { + "name": "audio", + "value": 1 + }, + "function_protocol": 0, + "interface_count": 1, + "first_interface": 4 + } + }, + "hotplug": "usb", + "module_alias": "usb:v13D3p56EBd1964dcEFdsc02dp01icFEisc01ip01in04" + }, + { + "index": 48, + "attached_to": 51, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Yubico", + "value": 4176 + }, + "device": { + "name": "YubiKey OTP+FIDO+CCID", + "value": 1031 + }, + "revision": { + "name": "5.43", + "value": 0 + }, + "model": "Yubico YubiKey OTP+FIDO+CCID", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-1/1-1:1.1", + "sysfs_bus_id": "1-1:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1050p0407d0543dc00dsc00dp00ic03isc00ip00in01" + } + ], + "usb_controller": [ + { + "index": 19, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 48 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5689 + }, + "sub_device": { + "value": 4722 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.3", + "sysfs_bus_id": "0000:04:00.3", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 45, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4265607168, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 45, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d00001639sv00001043sd00001272bc0Csc03i30" + }, + { + "index": 32, + "attached_to": 26, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 4, + "number": 0 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 48 + }, + "vendor": { + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "value": 4163 + }, + "device": { + "value": 5689 + }, + "sub_device": { + "value": 4722 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:04:00.4", + "sysfs_bus_id": "0000:04:00.4", + "sysfs_iommu_group_id": 5, + "resources": [ + { + "type": "irq", + "base": 53, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4264558592, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 4, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 53, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d00001639sv00001043sd00001272bc0Csc03i30" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "American Megatrends Inc.", + "version": "UX425IA.307", + "date": "09/16/2020", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "EDD spec supported", + "1.2MB Floppy supported", + "720kB Floppy supported", + "2.88MB Floppy supported", + "Print Screen supported", + "8042 Keyboard Services supported", + "Serial Services supported", + "Printer Services supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "UX425IA", + "version": "1.0", + "board_type": { + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "Default string", + "chassis": 3 + }, + "cache": [ + { + "handle": 12, + "socket": "L1 - Cache", + "size_max": 384, + "size_current": 384, + "speed": 1, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 13, + "socket": "L2 - Cache", + "size_max": 3072, + "size_current": 3072, + "speed": 1, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 14, + "socket": "L3 - Cache", + "size_max": 8192, + "size_current": 8192, + "speed": 1, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + } + ], + "chassis": { + "handle": 3, + "manufacturer": "ASUSTeK COMPUTER INC.", + "version": "1.0", + "chassis_type": { + "name": "Notebook", + "value": 10 + }, + "lock_present": false, + "bootup_state": { + "name": "Safe", + "value": 3 + }, + "power_state": { + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "name": "Safe", + "value": 3 + }, + "security_state": { + "name": "None", + "value": 3 + }, + "oem": "0x0" + }, + "config": { + "handle": 6, + "options": [ + "Default string" + ] + }, + "language": { + "handle": 51, + "languages": [ + "en|US|iso8859-1" + ] + }, + "memory_array": [ + { + "handle": 10, + "location": { + "name": "Motherboard", + "value": 3 + }, + "usage": { + "name": "System memory", + "value": 3 + }, + "ecc": { + "name": "None", + "value": 3 + }, + "max_size": 33554432, + "error_handle": 9, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 11, + "array_handle": 10, + "start_address": 0, + "end_address": 17179869184, + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 17, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL A", + "manufacturer": "Unknown", + "part_number": "K4UBE3D4AA-MGCL", + "array_handle": 10, + "error_handle": 16, + "width": 32, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "name": "Other", + "value": 1 + }, + "set": 0, + "memory_type": { + "name": "Other", + "value": 30 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 4266 + }, + { + "handle": 20, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL B", + "manufacturer": "Unknown", + "part_number": "K4UBE3D4AA-MGCL", + "array_handle": 10, + "error_handle": 19, + "width": 32, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "name": "Other", + "value": 1 + }, + "set": 0, + "memory_type": { + "name": "Other", + "value": 30 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 4266 + } + ], + "memory_device_mapped_address": [ + { + "handle": 18, + "memory_device_handle": 17, + "array_map_handle": 11, + "start_address": 0, + "end_address": 17179869184, + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + }, + { + "handle": 21, + "memory_device_handle": 20, + "array_map_handle": 11, + "start_address": 0, + "end_address": 17179869184, + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + } + ], + "memory_error": [ + { + "handle": 9, + "error_type": { + "name": "OK", + "value": 3 + }, + "granularity": { + "name": "Unknown", + "value": 2 + }, + "operation": { + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 16, + "error_type": { + "name": "OK", + "value": 3 + }, + "granularity": { + "name": "Unknown", + "value": 2 + }, + "operation": { + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + }, + { + "handle": 19, + "error_type": { + "name": "OK", + "value": 3 + }, + "granularity": { + "name": "Unknown", + "value": 2 + }, + "operation": { + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + } + ], + "onboard": [ + { + "handle": 4, + "devices": [ + { + "name": "To Be Filled By O.E.M.", + "type": { + "name": "Video", + "value": 3 + }, + "enabled": true + } + ] + } + ], + "port_connector": [ + { + "handle": 31, + "port_type": { + "name": "Keyboard Port", + "value": 13 + }, + "internal_reference_designator": "J2304/J2300", + "external_connector_type": { + "name": "PS/2", + "value": 15 + }, + "external_reference_designator": "Keyboard" + }, + { + "handle": 32, + "port_type": { + "name": "Mouse Port", + "value": 14 + }, + "internal_reference_designator": "J3811", + "external_connector_type": { + "name": "PS/2", + "value": 15 + }, + "external_reference_designator": "Touch pad" + }, + { + "handle": 33, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1504", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.0" + }, + { + "handle": 34, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1500", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.1" + }, + { + "handle": 35, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1502", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.1" + }, + { + "handle": 36, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1501", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.1 Type-C" + }, + { + "handle": 37, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J1503", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3.1 Type-C" + }, + { + "handle": 38, + "port_type": { + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J1300", + "external_connector_type": { + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "Network" + }, + { + "handle": 39, + "port_type": { + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1701", + "external_reference_designator": "Sata HDD" + }, + { + "handle": 40, + "port_type": { + "name": "Other", + "value": 32 + }, + "internal_connector_type": { + "name": "Other", + "value": 34 + }, + "internal_reference_designator": "J1703", + "external_reference_designator": "Sata ODD" + }, + { + "handle": 41, + "port_type": { + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J1101", + "external_reference_designator": "DP0" + }, + { + "handle": 42, + "port_type": { + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J1100", + "external_reference_designator": "DP1" + }, + { + "handle": 43, + "port_type": { + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J2103", + "external_connector_type": { + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Microphone" + }, + { + "handle": 44, + "port_type": { + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J2105", + "external_connector_type": { + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Headphone" + } + ], + "processor": [ + { + "handle": 15, + "socket": "FP6", + "socket_type": { + "name": "None", + "value": 6 + }, + "socket_populated": true, + "manufacturer": "Advanced Micro Devices, Inc.", + "version": "AMD Ryzen 5 4500U with Radeon Graphics", + "part": "Unknown", + "processor_type": { + "name": "CPU", + "value": 3 + }, + "processor_family": { + "name": "Other", + "value": 107 + }, + "processor_status": { + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 4000, + "cache_handle_l1": 12, + "cache_handle_l2": 13, + "cache_handle_l3": 14 + } + ], + "slot": [ + { + "handle": 45, + "designation": "J3604", + "slot_type": { + "name": "Other", + "value": 169 + }, + "bus_width": { + "name": "Other", + "value": 11 + }, + "usage": { + "name": "In Use", + "value": 4 + }, + "length": { + "name": "Short", + "value": 3 + }, + "id": 1, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 46, + "designation": "J3711", + "slot_type": { + "name": "Other", + "value": 21 + }, + "bus_width": { + "name": "Other", + "value": 8 + }, + "usage": { + "name": "In Use", + "value": 4 + }, + "length": { + "name": "Short", + "value": 3 + }, + "id": 3, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 47, + "designation": "J3704", + "slot_type": { + "name": "Other", + "value": 23 + }, + "bus_width": { + "name": "Other", + "value": 9 + }, + "usage": { + "name": "Available", + "value": 3 + }, + "length": { + "name": "Short", + "value": 3 + }, + "id": 5, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 48, + "designation": "J3709", + "slot_type": { + "name": "Other", + "value": 21 + }, + "bus_width": { + "name": "Other", + "value": 8 + }, + "usage": { + "name": "Available", + "value": 3 + }, + "length": { + "name": "Short", + "value": 3 + }, + "id": 6, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + } + ], + "system": { + "handle": 1, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "ZenBook UX425IA_UM425IA", + "version": "1.0", + "wake_up": { + "name": "Power Switch", + "value": 6 + } + } + } +} \ No newline at end of file diff --git a/hosts/nixos-laptop/hardware-configuration.nix b/hosts/nixos-laptop/hardware-configuration.nix deleted file mode 100644 index 1475b88..0000000 --- a/hosts/nixos-laptop/hardware-configuration.nix +++ /dev/null @@ -1,17 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ modulesPath -, lib -, ... -}: { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { - initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ]; - initrd.kernelModules = [ ]; - kernelModules = [ "kvm-amd" ]; - extraModulePackages = [ ]; - }; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} From a12ae9cb3fdba6962a842a3d377ab1e48a46eab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:02:51 +0200 Subject: [PATCH 16/26] feat(nvim): add treesitter-textobjects --- .../new_plugins/treesitter-textobjects.nix | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 modules/programs/nvim/new_plugins/treesitter-textobjects.nix diff --git a/modules/programs/nvim/new_plugins/treesitter-textobjects.nix b/modules/programs/nvim/new_plugins/treesitter-textobjects.nix new file mode 100644 index 0000000..589b923 --- /dev/null +++ b/modules/programs/nvim/new_plugins/treesitter-textobjects.nix @@ -0,0 +1,91 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.treesitter-textobjects = { + enable = true; + move = { + enable = true; + gotoNext = { + "]f" = { + desc = "Next function"; + query = "@function.outer"; + }; + "]c" = { + desc = "Next class"; + query = "@class.outer"; + }; + "]b" = { + desc = "Next block"; + query = "@block.outer"; + }; + "]P" = { + desc = "Next parameter"; + query = "@parameter.outer"; + }; + }; + gotoPrevious = { + "[f" = { + desc = "Previous function"; + query = "@function.outer"; + }; + "[c" = { + desc = "Previous class"; + query = "@class.outer"; + }; + "[b" = { + desc = "Previous block"; + query = "@block.outer"; + }; + "[P" = { + desc = "Previous parameter"; + query = "@parameter.outer"; + }; + }; + }; + select = { + enable = true; + keymaps = { + "af" = { + desc = "function"; + query = "@function.outer"; + }; + "if" = { + desc = "inner function"; + query = "@function.inner"; + }; + "ac" = { + desc = "class"; + query = "@class.outer"; + }; + "ic" = { + desc = "inner class"; + query = "@class.inner"; + }; + "ab" = { + desc = "block"; + query = "@block.outer"; + }; + "ib" = { + desc = "inner block"; + query = "@block.inner"; + }; + "aP" = { + desc = "parameter"; + query = "@parameter.outer"; + }; + "iP" = { + desc = "inner parameter"; + query = "@parameter.inner"; + }; + }; + }; + }; + performance.combinePlugins.standalonePlugins = [ + "nvim-treesitter-textobjects" + ]; + }; +} From fb41614b4f38ce80b0b67b1087c1f342824062fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:03:53 +0200 Subject: [PATCH 17/26] feat(nvim): enable default catppuccin integrations --- modules/programs/nvim/new_plugins/catppuccin.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/programs/nvim/new_plugins/catppuccin.nix b/modules/programs/nvim/new_plugins/catppuccin.nix index 795c81e..a9c4f76 100644 --- a/modules/programs/nvim/new_plugins/catppuccin.nix +++ b/modules/programs/nvim/new_plugins/catppuccin.nix @@ -10,6 +10,7 @@ in colorschemes.catppuccin = { enable = true; settings.flavour = "macchiato"; + settings.default_integrations = true; }; }; } From 89fe11a95f25cabb0119d227a7c793b6375f821e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:04:37 +0200 Subject: [PATCH 18/26] feat(nvim): add incremental selection in ts --- modules/programs/nvim/new_plugins/treesitter.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/programs/nvim/new_plugins/treesitter.nix b/modules/programs/nvim/new_plugins/treesitter.nix index 6ccb255..f0409fc 100644 --- a/modules/programs/nvim/new_plugins/treesitter.nix +++ b/modules/programs/nvim/new_plugins/treesitter.nix @@ -11,6 +11,12 @@ in nixvimInjections = true; settings.indent.enable = true; settings.highlight.enable = true; + settings.incremental_selection = { + enable = true; + keymaps.init_selection = "gn"; + keymaps.node_decremental = "gp"; + keymaps.node_incremental = "gn"; + }; }; performance.combinePlugins.standalonePlugins = [ "nvim-treesitter" From 49afd873daffb91af1abe6b891da10a7b18ad9c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:05:31 +0200 Subject: [PATCH 19/26] feat(nvim): add better default mappings (yank + indent) --- modules/programs/nvim/new_plugins/other.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/programs/nvim/new_plugins/other.nix b/modules/programs/nvim/new_plugins/other.nix index a65cd02..6c72959 100644 --- a/modules/programs/nvim/new_plugins/other.nix +++ b/modules/programs/nvim/new_plugins/other.nix @@ -26,6 +26,9 @@ in { keymaps = [ { key = ""; action = "noh"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; } + { key = "<"; action = " Date: Sat, 26 Oct 2024 17:06:15 +0200 Subject: [PATCH 20/26] feat(nvim): add cheap openai provider for avante --- modules/programs/nvim/new_plugins/avante.nix | 22 ++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/modules/programs/nvim/new_plugins/avante.nix b/modules/programs/nvim/new_plugins/avante.nix index 1b807d2..3ad02e6 100644 --- a/modules/programs/nvim/new_plugins/avante.nix +++ b/modules/programs/nvim/new_plugins/avante.nix @@ -19,14 +19,28 @@ in require("avante_lib").load() require("avante").setup({ provider = "openai", - auto_suggestions_provider = "openai", + auto_suggestions_provider = "openai-cheap", behaviour = { - -- auto_suggestions = true, + auto_suggestions = false, }, openai = { model = "gpt-4o", - api_key_name = "cmd:cat /run/agenix/openai" - } + api_key_name = "cmd:cat /run/agenix/openai", + }, + vendors = { + ---@type AvanteProvider + ["openai-cheap"] = { + model = "gpt-4o-mini", + api_key_name = "cmd:cat /run/agenix/openai", + endpoint = "https://api.openai.com/v1", + parse_curl_args = function(opts, code_opts) + return require("avante.providers").openai.parse_curl_args(opts, code_opts) + end, + parse_response_data = function(data_stream, event_state, opts) + return require("avante.providers").openai.parse_response(data_stream, event_state, opts) + end + }, + }, }) ''; plugins.dressing.enable = true; From a6309af0e6485e8ad4c5340ff93cde7ea945b065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:07:33 +0200 Subject: [PATCH 21/26] feat(nvim): add conventional commits to lazygit --- modules/profiles/base.nix | 60 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index b8766c8..9aa5607 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -246,7 +246,6 @@ in f fd gi - lazygit parallel ripgrep vim @@ -300,6 +299,65 @@ in ]; }; starship.enable = true; + lazygit.enable = true; + lazygit.settings = { + customCommands = [ + { + key = ""; + context = "global"; + description = "Create new conventional commit"; + prompts = [ + { + type = "menu"; + key = "Type"; + title = "Type of change"; + options = [ + { name = "build"; description = "Changes that affect the build system or external dependencies"; value = "build"; } + { name = "feat"; description = "A new feature"; value = "feat"; } + { name = "fix"; description = "A bug fix"; value = "fix"; } + { name = "chore"; description = "Other changes that don't modify src or test files"; value = "chore"; } + { name = "ci"; description = "Changes to CI configuration files and scripts"; value = "ci"; } + { name = "docs"; description = "Documentation only changes"; value = "docs"; } + { name = "perf"; description = "A code change that improves performance"; value = "perf"; } + { name = "refactor"; description = "A code change that neither fixes a bug nor adds a feature"; value = "refactor"; } + { name = "revert"; description = "Reverts a previous commit"; value = "revert"; } + { name = "style"; description = "Changes that do not affect the meaning of the code"; value = "style"; } + { name = "test"; description = "Adding missing tests or correcting existing tests"; value = "test"; } + ]; + } + { + type = "input"; + title = "Scope"; + key = "Scope"; + initialValue = ""; + } + { + type = "menu"; + key = "Breaking"; + title = "Breaking change"; + options = [ + { name = "no"; value = ""; } + { name = "yes"; value = "!"; } + ]; + } + { + type = "input"; + title = "message"; + key = "Message"; + initialValue = ""; + } + { + type = "confirm"; + key = "Confirm"; + title = "Commit"; + body = "Are you sure you want to commit?"; + } + ]; + command = "git commit --message '{{.Form.Type}}{{ if .Form.Scope }}({{ .Form.Scope }}){{ end }}{{.Form.Breaking}}: {{.Form.Message}}'"; + loadingText = "Creating conventional commit..."; + } + ]; + }; }; home = { username = "moritz"; From d2576052022ffe3921389bd4c0207095f9cbf063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 17:09:27 +0200 Subject: [PATCH 22/26] style(nvim): remove clutter etc. --- hosts/nixos-laptop/default.nix | 3 --- modules/programs/nvim/default.nix | 24 --------------------- modules/programs/nvim/new_plugins/other.nix | 12 ++++++----- 3 files changed, 7 insertions(+), 32 deletions(-) diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index c9be944..658b9e2 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -21,8 +21,6 @@ impermanence.enable = true; }; terminal.package = pkgs.kitty; - programs.river.enable = true; - programs.hyprland.enable = false; programs.exercism.enable = true; }; @@ -36,7 +34,6 @@ criteria = "eDP-1"; } ]; - } { profile.name = "docked"; diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 458c420..403aca8 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -17,30 +17,6 @@ in xdotool # for vimtex ]; - # programs.neovim = { - # extraPackages = with pkgs; - # [ - # alejandra - # checkmake - # codespell - # deadnix - # dotenv-linter - # fish - # jq - # nil - # nixd - # nixpkgs-fmt - # nodePackages.bash-language-server - # python3Packages.python-lsp-server - # shellcheck - # shfmt - # stable.yamlfix - # statix - # taplo - # yamllint - # ]; - # }; - programs.nixvim = { enable = true; package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default; diff --git a/modules/programs/nvim/new_plugins/other.nix b/modules/programs/nvim/new_plugins/other.nix index 6c72959..e423f4c 100644 --- a/modules/programs/nvim/new_plugins/other.nix +++ b/modules/programs/nvim/new_plugins/other.nix @@ -34,11 +34,13 @@ in { plugins.oil.enable = true; } { plugins.nvim-autopairs.enable = true; } { plugins.vim-surround.enable = true; } - { - plugins.lint.enable = true; - # TODO: add linters - plugins.lint.lintersByFt = { }; - } + + # TODO: add linters + # { + # plugins.lint.enable = true; + # plugins.lint.lintersByFt = { }; + # } + { plugins.marks.enable = true; plugins.marks.defaultMappings = false; From 3fce09fdf6855b8d3658618782a38bffa36c3939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 26 Oct 2024 18:19:50 +0200 Subject: [PATCH 23/26] fix(river): do not turn off display when closing lid --- modules/programs/river/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/programs/river/default.nix b/modules/programs/river/default.nix index bb17955..7b3692c 100644 --- a/modules/programs/river/default.nix +++ b/modules/programs/river/default.nix @@ -61,7 +61,7 @@ in ]; map-switch.normal.lid = { close = '' - spawn 'wlr-randr --output eDP-1 --off; monitors=$(wlr-randr --json | jq .[].name | count); [ "$monitors" = 1] && loginctl lock-session' + spawn 'monitors=$(wlr-randr --json | jq .[].name | count); [ "$monitors" = 1] && loginctl lock-session' ''; open = "spawn 'wlr-randr --output eDP-1 --on'"; }; From 286018cd801d8219dd5321ebb4accf721bf572ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 5 Nov 2024 09:11:54 +0100 Subject: [PATCH 24/26] fix(impermanence): persist Signal config --- modules/profiles/impermanence.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/profiles/impermanence.nix b/modules/profiles/impermanence.nix index 13efb7d..f0c42f0 100644 --- a/modules/profiles/impermanence.nix +++ b/modules/profiles/impermanence.nix @@ -45,6 +45,7 @@ in ".cat_installer" # eduroam ".config/JetBrains" ".config/Nextcloud" + ".config/Signal/" ".config/calibre" ".config/github-copilot" ".config/kdeconnect" From 7a0c0a77dd3e8854626f4e85cbf44f20f55d6ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 5 Nov 2024 09:12:28 +0100 Subject: [PATCH 25/26] fix(impermanence): persist Mullvad config --- modules/profiles/impermanence.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/profiles/impermanence.nix b/modules/profiles/impermanence.nix index f0c42f0..c5113e7 100644 --- a/modules/profiles/impermanence.nix +++ b/modules/profiles/impermanence.nix @@ -46,6 +46,7 @@ in ".config/JetBrains" ".config/Nextcloud" ".config/Signal/" + ".config/Mullvad VPN/" ".config/calibre" ".config/github-copilot" ".config/kdeconnect" From 108ee8e970b7dd1c447e9b3bee3fff29d2298094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 5 Nov 2024 09:18:48 +0100 Subject: [PATCH 26/26] fix: allowUnfree in overlays --- modules/nixpkgs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nixpkgs.nix b/modules/nixpkgs.nix index db8228e..e6b3442 100644 --- a/modules/nixpkgs.nix +++ b/modules/nixpkgs.nix @@ -48,6 +48,7 @@ in (_: value: import value { inherit (prev) system; + config.allowUnfree = true; overlays = optional cfg.overlaysForAllChannels cfg.overlays; } )