diff --git a/flake.lock b/flake.lock index b3613b3..10c30f2 100644 --- a/flake.lock +++ b/flake.lock @@ -716,7 +716,7 @@ "flake-parts_6": { "inputs": { "nixpkgs-lib": [ - "nix-schemes", + "nix-schemas", "nixpkgs" ] }, @@ -939,17 +939,17 @@ "git-hooks-nix": { "inputs": { "flake-compat": [ - "nix-schemes" + "nix-schemas" ], "gitignore": [ - "nix-schemes" + "nix-schemas" ], "nixpkgs": [ - "nix-schemes", + "nix-schemas", "nixpkgs" ], "nixpkgs-stable": [ - "nix-schemes", + "nix-schemas", "nixpkgs" ] }, @@ -1164,6 +1164,22 @@ "type": "github" } }, + "master": { + "locked": { + "lastModified": 1754742265, + "narHash": "sha256-fK5QWs+Z0MaORZKHITj0xHjQrxDp4+z1w5W5gw5TmkY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9114a7402bc71dd710b3b62ae7e6e915e658a08a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "mnw": { "locked": { "lastModified": 1735150973, @@ -1509,7 +1525,7 @@ "type": "github" } }, - "nix-schemes": { + "nix-schemas": { "inputs": { "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_6", @@ -1677,22 +1693,6 @@ "type": "github" } }, - "nixpkgs-master": { - "locked": { - "lastModified": 1754301979, - "narHash": "sha256-EW3KN4OwiMtushATrcMsaEn0oYWuSrg4XmqpsB09ZW0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "796e3f0d8b5570e3e3cddcf245a80e1bb70bc916", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -1741,22 +1741,6 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_10": { "locked": { "lastModified": 1735523292, @@ -4232,23 +4216,23 @@ "home-manager": "home-manager_2", "impermanence": "impermanence", "lanzaboote": "lanzaboote", + "master": "master", "neovim": "neovim", "niri-flake": "niri-flake", "nix-darwin": "nix-darwin", "nix-flatpak": "nix-flatpak", "nix-gaming": "nix-gaming", "nix-on-droid": "nix-on-droid", - "nix-schemes": "nix-schemes", + "nix-schemas": "nix-schemas", "nixos-facter-modules": "nixos-facter-modules", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_14", - "nixpkgs-master": "nixpkgs-master", - "nixpkgs-unstable": "nixpkgs-unstable", "snowfall-flake": "snowfall-flake", "snowfall-lib": "snowfall-lib_2", "sops-nix": "sops-nix", - "stylix": "stylix" + "stylix": "stylix", + "unstable": "unstable" } }, "rust-analyzer-src": { @@ -4667,6 +4651,22 @@ "type": "github" } }, + "unstable": { + "locked": { + "lastModified": 1754498491, + "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 11dfcae..7ea665a 100644 --- a/flake.nix +++ b/flake.nix @@ -14,10 +14,10 @@ nixpkgs = { url = "github:nixos/nixpkgs?ref=nixos-25.05"; }; - nixpkgs-unstable = { + unstable = { url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; - nixpkgs-master = { + master = { url = "github:nixos/nixpkgs?ref=master"; }; neovim = { @@ -80,11 +80,12 @@ url = "github:snowfallorg/flake"; inputs.nixpkgs.follows = "nixpkgs"; }; - nix-schemes = { + flake-schemas.url = "github:DeterminateSystems/flake-schemas"; + ## nix client with schema support: see https://github.com/NixOS/nix/pull/8892 + nix-schemas = { url = "github:DeterminateSystems/nix-src/flake-schemas"; inputs.nixpkgs.follows = "nixpkgs"; }; - flake-schemas.url = "github:DeterminateSystems/flake-schemas"; }; outputs = inputs: @@ -99,10 +100,10 @@ overlays = with inputs; [ niri-flake.overlays.niri snowfall-flake.overlays.default - nix-schemes.overlays.default ]; systems.modules.nixos = with inputs; [ + home-manager.nixosModules.home-manager nix-flatpak.nixosModules.nix-flatpak niri-flake.nixosModules.niri sops-nix.nixosModules.sops @@ -116,6 +117,14 @@ impermanence.nixosModules.impermanence ]; + systems.modules.home = with inputs; [ + inputs.impermanence.nixosModules.home-manager.impermanence + ]; + + home.modules = with inputs; [ + impermanence.homeManagerModules.impermanence + ]; + templates = import ./templates {}; outputs-builder = channels: { diff --git a/homes/x86_64-linux/kylekrein/default.nix b/homes/x86_64-linux/kylekrein/default.nix new file mode 100644 index 0000000..4031af9 --- /dev/null +++ b/homes/x86_64-linux/kylekrein/default.nix @@ -0,0 +1,44 @@ +{ + lib, + pkgs, + config, + osConfig ? {}, + ... +}: let + name = config.snowfallorg.user.name; + home = config.snowfallorg.user.home.directory; +in + with lib; + with lib.custom; { + imports = lib.snowfall.fs.get-non-default-nix-files-recursive ./.; + custom = { + programs = { + fastfetch = { + enable = true; + firstNixOSInstall = 1729112485; + }; + librewolf = enabled; + prismlauncher.enable = osConfig.custom.presets.gaming.enable; + bottles = enabled; + }; + }; + home = { + packages = with pkgs; [ + gdb + element-desktop + obs-studio + neovim + localsend + kdePackages.kdenlive + ] ++ lib.optionals osConfig.custom.presets.gaming.enable [mcpelauncher-ui-qt]; + + sessionVariables = { + EDITOR = "emacsclient -c"; + NH_OS_FLAKE = "${home}/nixos-config"; + NH_HOME_FLAKE = "${home}/nixos-config"; + NH_DARWIN_FLAKE = "${home}/nixos-config"; + }; + + stateVersion = "25.05"; + }; + } diff --git a/homes/x86_64-linux/kylekrein/emacs.nix b/homes/x86_64-linux/kylekrein/emacs.nix new file mode 100644 index 0000000..6e7047c --- /dev/null +++ b/homes/x86_64-linux/kylekrein/emacs.nix @@ -0,0 +1,28 @@ +{ + pkgs, + system, + inputs, + ... +}: let + emacs = inputs.emacs-kylekrein.packages.${system}.with-lsps-native; +in { + programs.emacs = { + enable = true; + package = emacs; + }; + systemd.user.services.emacs = { + Unit = { + Description = "Launches (and relaunches) emacs"; + }; + Install = { + WantedBy = ["default.target"]; + }; + Service = { + ExecStart = "${pkgs.writeShellScript "run-emacs" '' + ${emacs}/bin/emacs --fg-daemon + ''}"; + Restart = "on-failure"; + RestartSec = 5; + }; + }; +} diff --git a/homes/x86_64-linux/kylekrein/git.nix b/homes/x86_64-linux/kylekrein/git.nix new file mode 100644 index 0000000..310529c --- /dev/null +++ b/homes/x86_64-linux/kylekrein/git.nix @@ -0,0 +1,12 @@ +{...}: { + programs.git = { + enable = true; + userName = "Aleksandr Lebedev"; + userEmail = "alex.lebedev2003@icloud.com"; + extraConfig = { + credential.helper = "manager"; + credential."https://github.com".username = "KyleKrein"; + credential.credentialStore = "plaintext"; + }; + }; +} diff --git a/homes/x86_64-linux/kylekrein/kitty.nix b/homes/x86_64-linux/kylekrein/kitty.nix new file mode 100644 index 0000000..eba071a --- /dev/null +++ b/homes/x86_64-linux/kylekrein/kitty.nix @@ -0,0 +1,27 @@ +{osConfig, pkgs, ...}: +{ + home.packages = with pkgs; [kitty-themes]; + programs.fzf = { + enable = true; + enableBashIntegration = true; + }; + + programs.eza = { + enable = true; + icons = "always"; + }; +programs.kitty = { + enable = osConfig.custom.presets.workstation.enable; + font = { + name = "JetBrainsMono Nerd Font"; + size = 20; + }; + settings = { + confirm_os_window_close = 0; + }; + #shellIntegration.enableFishIntegration = true; + themeFile = "Catppuccin-Macchiato"; + #Also available: Catppuccin-Frappe Catppuccin-Latte Catppuccin-Macchiato Catppuccin-Mocha + # See all available kitty themes at: https://github.com/kovidgoyal/kitty-themes/blob/46d9dfe230f315a6a0c62f4687f6b3da20fd05e4/themes.json + }; +} diff --git a/homes/x86_64-linux/kylekrein/niri/drawerstyle.css b/homes/x86_64-linux/kylekrein/niri/drawerstyle.css new file mode 100644 index 0000000..b92b6c1 --- /dev/null +++ b/homes/x86_64-linux/kylekrein/niri/drawerstyle.css @@ -0,0 +1,47 @@ +* { + border: none; + font-family: Font Awesome, Roboto, Arial, sans-serif; + font-size: 16px; + color: #eeeeee; + border-radius: 10px; +} +window { + background-color: rgba(50, 63, 99, 0.718); + color: #eeeeee; +} + +/* search entry */ +entry { + background-color: rgba(0, 0, 0, 0.2) +} + +button, image { + background: none; + border: none +} + +button:hover { + background-color: rgba(255, 255, 255, 0.1) +} + +/* in case you wanted to give category buttons a different look */ +#category-button { + margin: 0 10px 0 10px +} + +#pinned-box { + padding-bottom: 5px; + border-bottom: 1px dotted gray +} + +#files-box { + padding: 5px; + border: 1px dotted gray; + border-radius: 15px +} + +/* math operation result label */ +#math-label { + font-weight: bold; + font-size: 16px +} diff --git a/homes/x86_64-linux/kylekrein/niri/hyprlock.nix b/homes/x86_64-linux/kylekrein/niri/hyprlock.nix new file mode 100644 index 0000000..ac6f2ca --- /dev/null +++ b/homes/x86_64-linux/kylekrein/niri/hyprlock.nix @@ -0,0 +1,97 @@ +{ + pkgs, + lib, + osConfig, + ... +}: let + enable = osConfig.custom.windowManagers.niri.enable; + profile-image = ./nixos-warbler.png; + battery = osConfig.custom.hardware.battery; + battery-level = battery.scripts.labelPercent; +in { + programs.hyprlock = { + inherit enable; + settings = { + general = { + #enable_fingerprint = true; + disable_loading_bar = true; + hide_cursor = true; + no_fade_in = false; + grace = 10; + }; + background = { + path = "${./wallpaper.jpg}"; + blur_passes = 1; + blur_size = 7; + noise = 0.0117; + contrast = 0.8916; + brightness = 0.8172; + vibrancy = 0.1696; + vibrancy_darkness = 0.0; + }; + image = { + path = "${profile-image}"; + size = 150; + border_size = 4; + #border_color = "rgb(0C96F9)"; + rounding = -1; # Negative means circle + position = "0, 220"; + halign = "center"; + valign = "center"; + }; + input-field = { + size = "600, 100"; + outline_thickness = 3; + dots_size = 0.33; + dots_spacing = 0.15; + dots_center = true; + dots_rounding = -1; + dots_fade_time = 200; + placeholder_text = "Input Password..."; + hide_input = false; + fade_on_empty = false; + fail_text = "$FAIL ($ATTEMPTS)"; + fail_timeout = 2000; + fail_transition = 300; + position = "0, -20"; + halign = "center"; + valign = "center"; + }; + label = + [ + { + text = "$USER"; + font_family = "Fira Code"; + font_size = 56; + position = "0, 100"; + halign = "center"; + valign = "center"; + } + { + text = "$TIME"; + font_family = "Roboto"; + font_size = 72; + position = "-40, -40"; + halign = "right"; + valign = "top"; + } + { + text = "$LAYOUT"; + font_family = "JetBrains Mono"; + font_size = 28; + position = "-20, 20"; + halign = "right"; + valign = "bottom"; + } + ] + ++ lib.optional (battery.enable) { + text = ''cmd[update:10000] ${battery-level}''; + font_family = "JetBrains Mono"; + font_size = 28; + position = "20, 20"; + halign = "left"; + valign = "bottom"; + }; + }; + }; +} diff --git a/homes/x86_64-linux/kylekrein/niri/niri.nix b/homes/x86_64-linux/kylekrein/niri/niri.nix new file mode 100644 index 0000000..fdd2b40 --- /dev/null +++ b/homes/x86_64-linux/kylekrein/niri/niri.nix @@ -0,0 +1,358 @@ +#https://github.com/sodiboo/niri-flake/blob/main/default-config.kdl.nix +#https://github.com/sodiboo/niri-flake/blob/main/docs.md +#https://github.com/sodiboo/system/blob/main/niri.mod.nix +{ + osConfig, + config, + pkgs, + lib, + ... +}: let + username = config.snowfallorg.user.name; + home = config.snowfallorg.user.home.directory; +in + lib.mkIf osConfig.custom.windowManagers.niri.enable { + programs.fuzzel = { + enable = true; + settings.main.terminal = "kitty"; + }; + services.swaync = { + enable = true; + }; + home.packages = with pkgs; [ + nwg-drawer + wlogout + brightnessctl + fuzzel + waybar + swaybg + libnotify + hyprlock + networkmanagerapplet + custom.wvkbd-kylekrein + custom.lisgd-kylekrein + ]; + programs.niri = { + settings = { + spawn-at-startup = [ + { + command = [ + "${lib.getExe pkgs.custom.wvkbd-kylekrein}" + "--hidden" + ]; + } + { + command = [ + "${lib.getExe pkgs.networkmanagerapplet}" + ]; + } + { + command = [ + "${lib.getExe pkgs.networkmanagerapplet}" + ]; + } + { + command = [ + "dbus-update-activation-environment" + "--systemd" + "--all" + ]; + } + { + command = [ + "${pkgs.solaar}/bin/solaar" + "-w" + "hide" + ]; + } + { + command = [ + "${lib.getExe pkgs.swaybg}" + "-m" + "fill" + "-i" + "${./wallpaper.jpg}" + ]; + } + ]; + layout = { + preset-column-widths = [ + {proportion = 1.0 / 2.0;} + {proportion = 1.0;} + {proportion = 2.0 / 3.0;} + {proportion = 1.0 / 3.0;} + ]; + default-column-width = {proportion = 1.0 / 2.0;}; + }; + binds = with config.lib.niri.actions; let + sh = spawn "sh" "-c"; + emacs = action: sh "emacsclient -c --eval \"${action}\""; + homedir = "/home/${username}/"; + screenshot-annotate = sh ''${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp} -w 0)" -t ppm - | ${lib.getExe pkgs.satty} --early-exit --copy-command 'wl-copy' --filename '-' --initial-tool brush''; + in { + "Mod+E".action = sh "emacsclient -c"; + "Mod+Shift+C".action = sh "dolphin"; + "Mod+C".action = emacs ''(dirvish \"${homedir}\")''; + "Mod+T".action = spawn "kitty"; + "Mod+D".action = spawn "fuzzel"; + "Mod+B".action = spawn "librewolf"; + "Mod+H".action = show-hotkey-overlay; + "Mod+F".action = fullscreen-window; + "Mod+R".action = switch-preset-column-width; + "Mod+Q".action = close-window; + "Mod+Shift+S".action = screenshot-annotate; + "Mod+1".action = focus-workspace 1; + "Mod+2".action = focus-workspace 2; + "Mod+3".action = focus-workspace 3; + "Mod+4".action = focus-workspace 4; + "Mod+5".action = focus-workspace 5; + "Mod+6".action = focus-workspace 6; + "Mod+7".action = focus-workspace 7; + "Mod+8".action = focus-workspace 8; + "Mod+9".action = focus-workspace 9; + "Mod+0".action = focus-workspace 10; + + "Mod+Shift+1".action.move-column-to-workspace = 1; + "Mod+Shift+2".action.move-column-to-workspace = 2; + "Mod+Shift+3".action.move-column-to-workspace = 3; + "Mod+Shift+4".action.move-column-to-workspace = 4; + "Mod+Shift+5".action.move-column-to-workspace = 5; + "Mod+Shift+6".action.move-column-to-workspace = 6; + "Mod+Shift+7".action.move-column-to-workspace = 7; + "Mod+Shift+8".action.move-column-to-workspace = 8; + "Mod+Shift+9".action.move-column-to-workspace = 9; + "Mod+Shift+0".action.move-column-to-workspace = 10; + + "Mod+Left".action = focus-column-left; + "Mod+Right".action = focus-column-right; + "Mod+Up".action = focus-workspace-up; + "Mod+Down".action = focus-workspace-down; + "Mod+Shift+Left".action = move-column-left; + "Mod+Shift+Right".action = move-column-right; + "Mod+Shift+Up".action = move-column-to-workspace-up; + "Mod+Shift+Down".action = move-column-to-workspace-down; + "Mod+Ctrl+Left".action = focus-monitor-left; + "Mod+Ctrl+Right".action = focus-monitor-right; + "Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left; + "Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right; + + "XF86AudioRaiseVolume".action = sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; + "XF86AudioLowerVolume".action = sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; + "XF86AudioMute".action = sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + + "XF86MonBrightnessUp".action = sh "brightnessctl set 10%+"; + "XF86MonBrightnessDown".action = sh "brightnessctl set 10%-"; + #"Mod+Tab".action = focus-window-down-or-column-right; + #"Mod+Shift+Tab".action = focus-window-up-or-column-left; + "Mod+Tab".action = toggle-overview; + }; + input = { + power-key-handling.enable = true; + focus-follows-mouse = { + #enable = true; + }; + warp-mouse-to-focus.enable = true; + keyboard = { + xkb.layout = "us, ru, de"; + xkb.options = "grp:lctrl_toggle, ctrl:nocaps"; + track-layout = "window"; + numlock = true; + }; + touchpad = { + tap = true; + #accel-profile = "adaptive"; + click-method = "clickfinger"; + }; + }; + cursor = { + hide-after-inactive-ms = 10000; + }; + gestures.hot-corners.enable = true; + prefer-no-csd = true; + environment = { + XDG_SESSION_TYPE = "wayland"; + __GL_GSYNC_ALLOWED = "1"; + QT_QPA_PLATFORM = "wayland"; + DISPLAY = ":0"; + }; + layer-rules = [ + { + #this is for later to place keyboard on top of hyprlock + matches = [{namespace = "wvkbd";}]; + } + ]; + window-rules = [ + { + #active + matches = [ + { + is-active = true; + } + ]; + opacity = 1.0; + } + { + #inactive + matches = [ + { + is-active = false; + } + ]; + opacity = 1.0; + } + { + #opaque + matches = [ + { + app-id = "emacs"; + } + { + app-id = "blender"; + } + ]; + opacity = 1.0; + } + { + #Popups + matches = [ + { + title = "emacs-run-launcher"; + } + { + title = "Paradox Crash Reporter"; + } + ]; + open-floating = true; + open-focused = true; + } + { + #PiP + matches = [ + { + title = "Picture-in-Picture"; + } + ]; + open-floating = true; + open-focused = false; + opacity = 1.0; + default-floating-position = { + x = 0; + y = 0; + relative-to = "top-right"; + }; + } + ]; + xwayland-satellite = { + enable = true; + path = "${lib.getExe pkgs.xwayland-satellite-unstable}"; + }; + }; + }; + + services.hypridle = let + niri = lib.getExe config.programs.niri.package; + loginctl = "${pkgs.systemd}/bin/loginctl"; + pidof = "${pkgs.procps}/bin/pidof"; + locking-script = "${pidof} hyprlock || ${lib.getExe pkgs.hyprlock}"; + systemctl = "${pkgs.systemd}/bin/systemctl"; + #locking-script = "${pkgs.swaylock}/bin/swaylock --daemonize"; + #unlocking-script = "pkill -SIGUSR1 swaylock"; + suspendScript = cmd: + pkgs.writeShellScript "suspend-script" '' + # check if any player has status "Playing" + ${lib.getExe pkgs.playerctl} -a status | ${lib.getExe pkgs.ripgrep} Playing -q + # only suspend if nothing is playing + if [ $? == 1 ]; then + ${cmd} + fi + ''; + in { + enable = true; + settings.general = { + before_sleep_cmd = "${pidof} hyprlock || ${loginctl} lock-session;#${niri} msg action power-off-monitors"; + after_sleep_cmd = "#${niri} msg action power-on-monitors"; + lock_cmd = "${locking-script}"; + }; + settings.listener = let + secondary = "${systemctl} suspend"; + in + lib.mkIf (osConfig.custom.hardware.battery.enable) [ + #{ + # timeout = 30; + # command = "pidof hyprlock && ${secondary}"; + #} + { + timeout = 870; + on-timeout = "${suspendScript ''${pkgs.libnotify}/bin/notify-send "You are idle. Going to sleep in 30 seconds"''}"; + } + { + timeout = 900; + on-timeout = "${suspendScript "${systemctl} suspend"}"; + } + ]; + }; + services = { + mako = { + enable = false; + settings = { + }; + }; + }; + systemd.user.services.lisgd-niri = lib.mkIf (osConfig.custom.hardware.framework12.enable) { + Unit = { + Description = "Makes sure that you have touchscreen gestures."; + }; + Install = { + WantedBy = ["default.target"]; + }; + Service = { + ExecStart = "${pkgs.writeShellScript "run-lisgd" '' + ${pkgs.custom.lisgd-kylekrein}/bin/lisgd + ''}"; + Restart = "on-failure"; + RestartSec = 5; + }; + }; + systemd.user.services.autorotate-niri = lib.mkIf (osConfig.custom.hardware.framework12.enable) { + Unit = { + Description = "Adds auto rotation to Niri."; + }; + Install = { + WantedBy = ["default.target"]; + }; + Service = { + ExecStart = "${pkgs.writeShellScript "autorotate" '' + transform="normal" + + monitor-sensor | while read -r line; do + case "$line" in + *normal*) + new_transform="normal" + ;; + *right-up*) + new_transform="270" + ;; + *bottom-up*) + new_transform="180" + ;; + *left-up*) + new_transform="90" + ;; + *) + continue + ;; + esac + + if [[ "$new_transform" != "$transform" ]]; then + transform="$new_transform" + echo "Transform: $transform" + niri msg output eDP-1 transform "$transform" + systemctl --user restart lisgd-niri.service + fi + done + ''}"; + Restart = "always"; + RestartSec = 5; + }; + }; + } diff --git a/homes/x86_64-linux/kylekrein/niri/nixos-warbler.png b/homes/x86_64-linux/kylekrein/niri/nixos-warbler.png new file mode 100755 index 0000000..e87245c Binary files /dev/null and b/homes/x86_64-linux/kylekrein/niri/nixos-warbler.png differ diff --git a/homes/x86_64-linux/kylekrein/niri/wallpaper.jpg b/homes/x86_64-linux/kylekrein/niri/wallpaper.jpg new file mode 100644 index 0000000..1475467 Binary files /dev/null and b/homes/x86_64-linux/kylekrein/niri/wallpaper.jpg differ diff --git a/homes/x86_64-linux/kylekrein/niri/waybar.nix b/homes/x86_64-linux/kylekrein/niri/waybar.nix new file mode 100644 index 0000000..14f2e87 --- /dev/null +++ b/homes/x86_64-linux/kylekrein/niri/waybar.nix @@ -0,0 +1,163 @@ +{ + pkgs, + lib, + osConfig, + ... +}: let + battery = osConfig.custom.hardware.battery; + enable = osConfig.custom.windowManagers.niri.enable; +in { + programs.waybar = { + inherit enable; + systemd.enable = true; + style = '' + ${builtins.readFile ./waybarstyle.css}''; + settings = [ + { + height = 36; + layer = "top"; + position = "top"; + tray = {spacing = 3;}; + modules-center = [ + "clock" + ]; + modules-left = [ + "custom/drawer" + "wlr/taskbar" + "niri/workspaces" + "niri/window" + ]; + modules-right = + [ + "backlight" + "pulseaudio" + #"network" + #"cpu" + "memory" + #"temperature" + "niri/language" + ] + ++ lib.optional battery.enable "custom/battery" + ++ [ + "tray" + "custom/notification" + "custom/power" + ]; + battery = lib.mkIf battery.enable { + format = " {time} {icon} "; + format-alt = " {capacity}% {icon} "; + format-charging = " {capacity}%  "; + format-icons = ["" "" "" "" ""]; + format-plugged = " {capacity}%  "; + states = { + critical = 10; + warning = 20; + }; + }; + backlight = { + format = "{percent}% 󰛩"; + on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl s 5%+"; + on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl s 5%-"; + }; + "custom/battery" = { + exec = "${pkgs.writeShellScriptBin "battery-widget" '' + ${battery.scripts.labelAdaptive} + ${battery.scripts.labelPercent} + ''}/bin/battery-widget"; + interval = 20; + tooltip = true; + }; + clock = { + format = "{:%a %d | %H:%M}"; + format-alt = "{:%d.%m.%Y}"; + tooltip-format = "{:%d.%m.%Y | %H:%M}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + "custom/drawer" = { + format = "󱄅"; + tooltip = false; + on-click = ''nwg-drawer -fm "dolphin" -closebtn "right" -nocats -term "kitty" -ovl -wm "niri" -s "${./drawerstyle.css}" ''; + }; + "niri/language" = { + format = "{}"; + format-en = "EN"; + format-ru = "RU"; + format-de = "DE"; + on-click = "niri msg action switch-layout next"; + on-click-right = "niri msg action switch-layout prev"; + }; + "wlr/taskbar" = { + format = "{icon}"; + icon-size = 18; + tooltip-format = "{title}"; + on-click = "activate"; + on-click-middle = "close"; + }; + memory = { + interval = 1; + format = " {used}/{total}Gb"; + }; + network = { + interval = 1; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + format-disconnected = "Disconnected ⚠"; + format-ethernet = "{ifname}: {ipaddr}/{cidr}  up: {bandwidthUpBits} down: {bandwidthDownBits}"; + format-linked = "{ifname} (No IP) "; + #format-wifi = "{signalStrength}% "; + format-wifi = "{signalStrength}%  "; + tooltip-format = "{essid} ({signalStrength}%) "; + }; + pulseaudio = { + format = "{icon} {volume}% {format_source}"; + format-bluetooth = "{icon} {volume}% {format_source}"; + format-bluetooth-muted = "  {format_source}"; + format-icons = { + car = ""; + default = [" " " " " "]; + handsfree = ""; + headphones = ""; + headset = ""; + phone = ""; + portable = ""; + }; + format-muted = " {format_source}"; + format-source = "  {volume}%"; + format-source-muted = "  "; + on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol"; + }; + "hyprland/submap" = {format = ''{}'';}; + temperature = { + critical-threshold = 80; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" ""]; + }; + + "custom/power" = { + format = "⏻"; + tooltip = false; + on-click = "wlogout"; + }; + + "custom/notification" = { + tooltip = false; + format = "{icon}"; + format-icons = { + notification = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + }; + return-type = "json"; + exec-if = "which swaync-client"; + exec = "swaync-client -swb"; + on-click = "sleep 0.1 && swaync-client -t -sw"; + on-click-right = "sleep 0.1 && swaync-client -d -sw"; + escape = true; + }; + } + ]; + }; +} diff --git a/homes/x86_64-linux/kylekrein/niri/waybarstyle.css b/homes/x86_64-linux/kylekrein/niri/waybarstyle.css new file mode 100644 index 0000000..3b1cc5f --- /dev/null +++ b/homes/x86_64-linux/kylekrein/niri/waybarstyle.css @@ -0,0 +1,104 @@ +* { + border: none; + font-family: Font Awesome, Roboto, Arial, sans-serif; + font-size: 16px; + color: #B9826A; + border-radius: 10px; +} + +window { + font-weight: bold; +} +window#waybar { + background: transparent; +} +/*-----module groups----*/ +.modules-right { + background-color: rgba(0,43,51,0.85); + margin: 2px 10px 0 0; +} +.modules-center { + background-color: rgba(0,43,51,0.85); + margin: 2px 0 0 0; +} +.modules-left { + margin: 2px 0 0 5px; + background-color: rgba(0,43,51,0.85); +} +/*-----modules indv----*/ +#workspaces button { + padding: 1px 5px; + background-color: transparent; +} +#workspaces button:hover { + box-shadow: inherit; + background-color: rgba(0,153,153,1); +} + +#workspaces button.focused { + background-color: rgba(0,119,179,0.6); +} + +#clock, +#battery, +#cpu, +#memory, +#temperature, +#network, +#pulseaudio, +#custom-media, +#tray, +#mode, +#niri-language, +#language, +#custom-power, +#custom-menu, +#custom-battery, +#custom-notification, +#custom-drawer, +#backlight, +#workspaces, +#window, +#taskbar, +#idle_inhibitor { + margin: 0px 0px; + padding: 0px 5px; + border-right: 1px solid rgba(255,255,255,0.2); + border-radius: 0px; +} +#clock, +#custom-power, +#window { + border-right: none; +} +#custom-drawer { + font-size: 20px; +} +#custom-power, +#custom-drawer, +#custom-notification { + padding: 0px 0.5em 0px 0.3em; +} +#mode { + color: #cc3436; + font-weight: bold; +} +/*-----Indicators----*/ +#idle_inhibitor.activated { + color: #2dcc36; +} +#pulseaudio.muted { + color: #cc3436; +} +#battery.charging { + color: #2dcc36; +} +#battery.warning:not(.charging) { + color: #e6e600; +} +#battery.critical:not(.charging) { + color: #cc3436; +} +#temperature.critical { + color: #cc3436; +} diff --git a/homes/x86_64-linux/tania/default.nix b/homes/x86_64-linux/tania/default.nix new file mode 100644 index 0000000..276d8d4 --- /dev/null +++ b/homes/x86_64-linux/tania/default.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +# User information gathered by Snowfall Lib is available. +let + name = config.snowfallorg.user.name; + home = config.snowfallorg.user.home.directory; +in { + imports = lib.snowfall.fs.get-non-default-nix-files ./.; + home = { + packages = with pkgs; [ + ]; + + sessionVariables = { + }; + + stateVersion = "25.05"; + }; +} diff --git a/lib/users/default.nix b/lib/users/default.nix index c194d06..706afe2 100644 --- a/lib/users/default.nix +++ b/lib/users/default.nix @@ -1,51 +1,11 @@ { lib, namespace, + inputs, ... }: with lib; rec { - mkHomeManagerConfigOpt = config: - mkOption { - # HM-compatible options taken from: - # https://github.com/nix-community/home-manager/blob/0ee5ab611dc1fbb5180bd7d88d2aeb7841a4d179/nixos/common.nix#L14 - # NOTE: This has been adapted to support documentation generation without - # having home-manager options fully declared. - type = types.submoduleWith { - specialArgs = - { - osConfig = config; - modulesPath = "${inputs.home-manager or "/"}/modules"; - } - // (config.home-manager.extraSpecialArgs or {}); - modules = - [ - ({ - lib, - modulesPath, - ... - }: - if inputs ? home-manager - then { - imports = import "${modulesPath}/modules.nix" { - inherit pkgs lib; - useNixpkgsModule = !(config.home-manager.useGlobalPkgs or false); - }; - - config = { - submoduleSupport.enable = true; - submoduleSupport.externalPackageInstall = config.home-manager.useUserPackages; - - home.username = config.users.users.${name}.name; - home.homeDirectory = config.users.users.${name}.home; - - nix.package = config.nix.package; - }; - } - else {}) - ] - ++ (config.home-manager.sharedModules or []); - }; - }; + mkHomeManagerConfigOpt = config: lib.${namespace}.mkOpt' types.anything {}; mkUser = { config, @@ -65,7 +25,7 @@ with lib; rec { home = { enable = enable; - config = homeConfig; + #config = homeConfig; }; }; users.users.${username} = mkIf enable { diff --git a/modules/home/impermanence/default.nix b/modules/home/impermanence/default.nix new file mode 100644 index 0000000..7e13966 --- /dev/null +++ b/modules/home/impermanence/default.nix @@ -0,0 +1,87 @@ +{ + lib, + osConfig, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.impermanence; + osCfg = osConfig.${namespace}.impermanence; + name = config.snowfallorg.user.name; + home = config.snowfallorg.user.home.directory; +in { + options.${namespace}.impermanence = with types; { + enable = mkBoolOpt osCfg.enable "Enable impermanence"; + persistentStorage = mkOpt path "${osCfg.persistentStorage}${home}" "Actual persistent storage path"; + }; + + imports = with inputs; [ + impermanence.homeManagerModules.impermanence + ]; + + config = mkIf cfg.enable { + home.persistence."${cfg.persistentStorage}" = { + directories = [ + "Downloads" + "Music" + "Pictures" + "Documents" + "Videos" + "Apps" + "VMs" + "Git" + "nixos-config" + "blender" + ".gnupg" + ".password-store" + ".ssh" + ".emacs.d" + ".local/share/keyrings" + ".local/share/direnv" + ".local/share/chat.fluffy.fluffychat" + ".klei" + "Android" + { + directory = ".var/app"; + method = "symlink"; + } + { + directory = ".local/share/Steam"; + method = "symlink"; + } + ".mozilla" + ".librewolf" + ".local/share/mcpelauncher" + ".local/share/PrismLauncher" + ".local/share/TelegramDesktop" + ".local/share/Paradox Interactive" + ".config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios" + ".config/solaar" + ".config/eww" + ".config/kdeconnect" + ".config/blender" + ".config/unity3d" + ".config/Element" + ".config/GIMP" + ".cache/nix-index" + ".local/share/aspyr-media" + ".themes" + ]; + files = [ + ".screenrc" + ".config/kdeglobals" + ".config/Minecraft Linux Launcher/Minecraft Linux Launcher UI.conf" + ]; + allowOther = true; + }; + }; +} diff --git a/modules/home/programs/bottles/default.nix b/modules/home/programs/bottles/default.nix new file mode 100644 index 0000000..0e0274c --- /dev/null +++ b/modules/home/programs/bottles/default.nix @@ -0,0 +1,34 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.programs.bottles; + impermanence = config.${namespace}.impermanence; +in { + options.${namespace}.programs.bottles = with types; { + enable = mkBoolOpt false "Enable Bottles"; + }; + + config = mkIf cfg.enable (mkIf impermanence.enable { + home.persistence."${impermanence.persistentStorage}".directories = [ + { + directory = ".local/share/bottles"; + method = "symlink"; + } + ]; + } + // { + home.packages = with pkgs; [bottles]; + }); +} diff --git a/modules/home/programs/default.nix b/modules/home/programs/fastfetch/default.nix similarity index 100% rename from modules/home/programs/default.nix rename to modules/home/programs/fastfetch/default.nix diff --git a/modules/nixos/programs/fastfetch/nixos.png b/modules/home/programs/fastfetch/nixos.png similarity index 100% rename from modules/nixos/programs/fastfetch/nixos.png rename to modules/home/programs/fastfetch/nixos.png diff --git a/modules/home/programs/librewolf/default.nix b/modules/home/programs/librewolf/default.nix new file mode 100644 index 0000000..eebb90e --- /dev/null +++ b/modules/home/programs/librewolf/default.nix @@ -0,0 +1,143 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.programs.librewolf; + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; +in { + options.${namespace}.programs.librewolf = with types; { + enable = mkBoolOpt false "Enable librewolf with best settings"; + }; + + config = mkIf cfg.enable { + programs = { + librewolf = { + enable = true; + languagePacks = ["de" "en-US" "ru"]; + + /* + ---- POLICIES ---- + */ + # Check about:policies#documentation for options. + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFirefoxScreenshots = true; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab" + DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" + SearchBar = "unified"; # alternative: "separate" + OfferToSaveLogins = false; + OffertosaveloginsDefault = false; + PasswordManagerEnabled = false; + NoDefaultBookmarks = true; + + /* + ---- EXTENSIONS ---- + */ + # Check about:support for extension/add-on ID strings. + # Valid strings for installation_mode are "allowed", "blocked", + # "force_installed" and "normal_installed". + #https://mozilla.github.io/policy-templates/#extensionsettings + ExtensionSettings = { + "*".installation_mode = "allowed"; # blocks all addons except the ones specified below + # uBlock Origin + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + # Privacy Badger: + "jid1-MnnxcxisBPnSXQ@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; + installation_mode = "force_installed"; + }; + + # Dark Reader + "addon@darkreader.org" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi"; + installation_mode = "force_installed"; + }; + #auto tab discard + "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/auto-tab-discard/latest.xpi"; + installation_mode = "force_installed"; + }; + # global speed + "{f4961478-ac79-4a18-87e9-d2fb8c0442c4}" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/global-speed/latest.xpi"; + installation_mode = "force_installed"; + }; + # sponsorblock + "sponsorBlocker@ajay.app" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi"; + installation_mode = "force_installed"; + }; + + # Adguard adblocker + "adguardadblocker@adguard.com" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/adguard-adblocker/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + /* + ---- PREFERENCES ---- + */ + # Check about:config for options. + Preferences = { + "browser.contentblocking.category" = { + Value = "strict"; + Status = "locked"; + }; + "extensions.pocket.enabled" = lock-false; + "extensions.screenshots.disabled" = lock-true; + "browser.startup.page" = 3; # restore session on startup + "browser.topsites.contile.enabled" = lock-false; + "browser.formfill.enable" = lock-false; + "browser.search.suggest.enabled" = lock-false; + "browser.search.suggest.enabled.private" = lock-false; + "browser.urlbar.suggest.searches" = lock-false; + "browser.urlbar.showSearchSuggestionsFirst" = lock-false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false; + "browser.newtabpage.activity-stream.feeds.snippets" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false; + "browser.newtabpage.activity-stream.showSponsored" = lock-false; + "browser.newtabpage.activity-stream.system.showSponsored" = lock-false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false; + }; + }; + }; + }; + }; +} diff --git a/modules/home/programs/prismlauncher/default.nix b/modules/home/programs/prismlauncher/default.nix new file mode 100644 index 0000000..02a3393 --- /dev/null +++ b/modules/home/programs/prismlauncher/default.nix @@ -0,0 +1,34 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.programs.prismlauncher; + impermanence = config.${namespace}.impermanence; +in { + options.${namespace}.programs.prismlauncher = with types; { + enable = mkBoolOpt false "Enable prismlauncher"; + }; + + config = mkIf cfg.enable (mkIf impermanence.enable { + home.persistence."${impermanence.persistentStorage}".directories = [ + { + directory = ".local/share/Prismlauncher"; + method = "symlink"; + } + ]; + } + // { + home.packages = with pkgs; [prismlauncher]; + }); +} diff --git a/modules/nixos/hardware/battery/batteryStatus.nix b/modules/nixos/hardware/battery/batteryStatus.nix new file mode 100644 index 0000000..05a5678 --- /dev/null +++ b/modules/nixos/hardware/battery/batteryStatus.nix @@ -0,0 +1,88 @@ +{ + config, + namespace, + pkgs, + ... +}: let + cfg = config.${namespace}.hardware.battery; + battery-path = "/sys/class/power_supply/${cfg.batteryName}"; + get-battery-level = "${pkgs.writeShellScriptBin "get-battery-level" '' + cat ${battery-path}/capacity 2>/dev/null || echo "N/A" + ''}/bin/get-battery-level"; + get-status = "${pkgs.writeShellScriptBin "get-status" '' + cat ${battery-path}/status 2>/dev/null || echo "Unknown" + ''}/bin/get-status"; + get-icon = "${pkgs.writeShellScriptBin "get-icon" '' + BATTERY_LEVEL=$(${get-battery-level}) + STATUS=$(${get-status}) + if [[ "$BATTERY_LEVEL" == "N/A" ]]; then + ICON="󰂑 " + elif [[ "$STATUS" == "Charging" ]]; then + if [[ $BATTERY_LEVEL -ge 90 ]]; then + ICON="󰂋 " + elif [[ $BATTERY_LEVEL -ge 80 ]]; then + ICON="󰂊 " + elif [[ $BATTERY_LEVEL -ge 70 ]]; then + ICON="󰢞 " + elif [[ $BATTERY_LEVEL -ge 60 ]]; then + ICON="󰂉 " + elif [[ $BATTERY_LEVEL -ge 50 ]]; then + ICON="󰢝 " + elif [[ $BATTERY_LEVEL -ge 40 ]]; then + ICON="󰂈 " + elif [[ $BATTERY_LEVEL -ge 30 ]]; then + ICON="󰂇 " + elif [[ $BATTERY_LEVEL -ge 20 ]]; then + ICON="󰂆 " + elif [[ $BATTERY_LEVEL -ge 10 ]]; then + ICON="󰢜 " + else + ICON="󰢜 " + fi + else + if [[ $BATTERY_LEVEL -ge 90 ]]; then + ICON="󰂂 " + elif [[ $BATTERY_LEVEL -ge 70 ]]; then + ICON="󰂀 " + elif [[ $BATTERY_LEVEL -ge 50 ]]; then + ICON="󰁾 " + elif [[ $BATTERY_LEVEL -ge 30 ]]; then + ICON="󰁼 " + elif [[ $BATTERY_LEVEL -ge 10 ]]; then + ICON="󰁺 " + else + ICON="󰁺 " + fi + fi + + echo "$ICON" + ''}/bin/get-icon"; + get-remaining-time = "${pkgs.writeShellScriptBin "get-remaining-time" '' + REMAINING_ENERGY=$(cat ${battery-path}/${cfg.remainingEnergy}) + POWER_USAGE=$(cat ${battery-path}/${cfg.powerUsage}) + if [[ -n "$REMAINING_ENERGY" && -n "$POWER_USAGE" && "$POWER_USAGE" -ne 0 ]]; then + TIME_LEFT=$(((REMAINING_ENERGY / POWER_USAGE))) + MINUTES_LEFT=$(((( (REMAINING_ENERGY * 60) / POWER_USAGE )) - (TIME_LEFT * 60))) + echo "$TIME_LEFT h $MINUTES_LEFT min" + else + echo "" + fi + ''}/bin/get-remaining-time"; +in { + ${namespace}.hardware.battery.scripts = { + icon = get-icon; + status = get-status; + time = get-remaining-time; + level = get-battery-level; + labelAdaptive = "${pkgs.writeShellScriptBin "labelAdaptive" '' + if [[ "$(${get-status})" == "Charging" ]]; then + echo "$(${get-battery-level})% $(${get-icon})" + else + echo "$(${get-remaining-time}) $(${get-icon})" + fi + ''}/bin/labelAdaptive"; + labelPercent = "${pkgs.writeShellScriptBin "labelPercent" '' + echo "$(${get-battery-level})% $(${get-icon})" + ''}/bin/labelPercent"; + }; +} diff --git a/modules/nixos/hardware/battery/default.nix b/modules/nixos/hardware/battery/default.nix new file mode 100644 index 0000000..733503d --- /dev/null +++ b/modules/nixos/hardware/battery/default.nix @@ -0,0 +1,38 @@ +{ + lib, + pkgs, + namespace, + config, + ... +}: +with lib; +with lib.${namespace}; let + cfg = config.${namespace}.hardware.battery; +in { + options.${namespace}.hardware.battery = with types; { + enable = mkBoolOpt false "If you have a battery in your hardware, enable this"; + batteryName = mkOpt str "BAT1" '' + Put your battery name here. You can find it at "/sys/class/power_supply/" + ''; + remainingEnergy = mkOpt str "charge_now" '' + File in your battery, that tells the current amount of energy + ''; + powerUsage = mkOpt str "current_now" '' + File in your battery, that tells, how much energy your hardware is using + ''; + scripts = { + icon = mkOpt' str ""; + status = mkOpt' str ""; + time = mkOpt' str ""; + level = mkOpt' str ""; + labelAdaptive = mkOpt' str ""; + labelPercent = mkOpt' str ""; + }; + }; + + config = mkIf cfg.enable (import ./batteryStatus.nix { + inherit config; + inherit namespace; + inherit pkgs; + }); +} diff --git a/modules/nixos/presets/workstation/default.nix b/modules/nixos/presets/workstation/default.nix index 6c61745..13660cb 100644 --- a/modules/nixos/presets/workstation/default.nix +++ b/modules/nixos/presets/workstation/default.nix @@ -47,7 +47,6 @@ in { with pkgs.${namespace}; [ libreoffice root-files - pass gparted qdirstat exfatprogs @@ -65,14 +64,6 @@ in { #kde kdePackages.gwenview kdePackages.ark - - # user packages - obs-studio - neovim - localsend - - gdb - element-desktop ]; programs.kdeconnect.enable = true; programs.kdeconnect.package = lib.mkDefault pkgs.kdePackages.kdeconnect-kde; diff --git a/modules/nixos/users/tania/default.nix b/modules/nixos/users/tania/default.nix new file mode 100644 index 0000000..f1faa0a --- /dev/null +++ b/modules/nixos/users/tania/default.nix @@ -0,0 +1,37 @@ +{ + lib, + pkgs, + inputs, + namespace, + system, + target, + format, + virtual, + systems, + config, + ... +}: +with lib; +with lib.${namespace}; let + username = "tania"; + admin = false; + extraGroups = ["networkmanager" "touchscreen"]; + trustedSshKeys = []; + + cfg = config.${namespace}.users.${username}; +in { + options.${namespace}.users.${username} = with types; { + enable = mkBoolOpt false "Enable ${username} user"; + config = mkHomeManagerConfigOpt config; + }; + + config = mkUser { + inherit config; + inherit (cfg) enable; + homeConfig = cfg.config; + inherit username; + inherit admin; + inherit extraGroups; + inherit trustedSshKeys; + }; +} diff --git a/modules/nixos/windowManagers/niri/default.nix b/modules/nixos/windowManagers/niri/default.nix index 687bb4e..3542c90 100644 --- a/modules/nixos/windowManagers/niri/default.nix +++ b/modules/nixos/windowManagers/niri/default.nix @@ -20,7 +20,10 @@ in { }; config = mkIf cfg.enable { - ${namespace}.loginManagers.sddm.enable = mkDefault true; + ${namespace} = { + loginManagers.sddm.enable = mkDefault true; + programs.dolphin.enable = mkDefault true; + }; security.pam.services.hyprlock = {}; programs.niri = { enable = true; diff --git a/nixos/homes/kylekrein/git.nix b/nixos/homes/kylekrein/git.nix index a77869b..f4805f0 100644 --- a/nixos/homes/kylekrein/git.nix +++ b/nixos/homes/kylekrein/git.nix @@ -4,7 +4,7 @@ userName = "Aleksandr Lebedev"; userEmail = "alex.lebedev2003@icloud.com"; extraConfig = { - credential.helper = "manager"; #"${pkgs.git.override { withLibsecret = true; }}/bin/git-credential-libsecret"; + credential.helper = "manager"; credential."https://github.com".username = "KyleKrein"; credential.credentialStore = "plaintext"; }; diff --git a/overlays/nix-schemas/default.nix b/overlays/nix-schemas/default.nix new file mode 100644 index 0000000..e531390 --- /dev/null +++ b/overlays/nix-schemas/default.nix @@ -0,0 +1,19 @@ +{ + # Channels are named after NixPkgs instances in your flake inputs. For example, + # with the input `nixpkgs` there will be a channel available at `channels.nixpkgs`. + # These channels are system-specific instances of NixPkgs that can be used to quickly + # pull packages into your overlay. + channels, + inputs, + ... +}: final: prev: { + nix-schemas = inputs.nix-schemas.packages.${prev.system}.nix.overrideAttrs (old: { + doCheck = false; + doInstallCheck = false; + postInstall = + old.postInstall or "" + + '' + mv $out/bin/nix $out/bin/nix-schemas + ''; + }); +} diff --git a/packages/lisgd-kylekrein/default.nix b/packages/lisgd-kylekrein/default.nix new file mode 100644 index 0000000..423933a --- /dev/null +++ b/packages/lisgd-kylekrein/default.nix @@ -0,0 +1,6 @@ +{lisgd}: +(lisgd.overrideAttrs + (final: prev: { + pname = "lisgd-kylekrein"; + name = "lisgd-kylekrein"; + })).override {conf = ./lisgd-config.h;} diff --git a/packages/lisgd-kylekrein/lisgd-config.h b/packages/lisgd-kylekrein/lisgd-config.h new file mode 100644 index 0000000..40b1a47 --- /dev/null +++ b/packages/lisgd-kylekrein/lisgd-config.h @@ -0,0 +1,56 @@ +/* + distancethreshold: Minimum cutoff for a gestures to take effect + degreesleniency: Offset degrees within which gesture is recognized (max=45) + timeoutms: Maximum duration for a gesture to take place in miliseconds + orientation: Number of 90 degree turns to shift gestures by + verbose: 1=enabled, 0=disabled; helpful for debugging + device: Path to the /dev/ filesystem device events should be read from + gestures: Array of gestures; binds num of fingers / gesturetypes to commands + Supported gestures: SwipeLR, SwipeRL, SwipeDU, SwipeUD, + SwipeDLUR, SwipeURDL, SwipeDRUL, SwipeULDR +*/ + +unsigned int distancethreshold = 125; +unsigned int distancethreshold_pressed = 60; +unsigned int degreesleniency = 15; +unsigned int timeoutms = 800; +unsigned int orientation = 0; +unsigned int verbose = 1; +double edgesizeleft = 50.0; +double edgesizetop = 50.0; +double edgesizeright = 50.0; +double edgesizebottom = 50.0; +double edgessizecaling = 1.0; +char *device = "/dev/touchscreen"; + +// Gestures can also be specified interactively from the command line using -g +Gesture gestures[] = { + {1, SwipeRL, EdgeRight, DistanceAny, ActModeReleased, + "niri msg action focus-column-right"}, + {1, SwipeLR, EdgeLeft, DistanceAny, ActModeReleased, + "niri msg action focus-column-left"}, + {1, SwipeDU, CornerBottomRight, DistanceMedium, ActModeReleased, + "niri msg action focus-workspace-down"}, + {1, SwipeUD, CornerTopRight, DistanceMedium, ActModeReleased, + "niri msg action focus-workspace-up"}, + {1, SwipeDU, CornerBottomLeft, DistanceShort, ActModeReleased, + "niri msg action switch-preset-column-width"}, + //{1, SwipeUD, EdgeTop, DistanceAny, ActModeReleased, "nwggrid -o 0.98"}, + //"pkill -SIGRTMIN -f wvkbd"}, + //{2, SwipeUD, EdgeAny, DistanceAny, ActModeReleased, + //"sway-interactive-screenshot -s focused-output"}, + //{3, SwipeLR, EdgeAny, DistanceAny, ActModeReleased, + //"swaymsg layout tabbed"}, + //{3, SwipeRL, EdgeAny, DistanceAny, ActModeReleased, + //"swaymsg layout toggle split"}, + {2, SwipeUD, EdgeLeft, DistanceShort, ActModePressed, + "niri msg action fullscreen-window"}, + {2, SwipeUD, EdgeRight, DistanceMedium, ActModeReleased, + "niri msg action close-window"}, + {2, SwipeDU, EdgeBottom, DistanceAny, ActModeReleased, + "pkill -34 -f wvkbd"}, + //{2, SwipeUD, EdgeBottom, DistanceAny, ActModeReleased, + //"pkill -9 -f wvkbd-mobintl"}, + {3, SwipeDU, EdgeAny, DistanceAny, ActModeReleased, + "niri msg action toggle-overview"}, +}; diff --git a/packages/wvkbd-kylekrein/default.nix b/packages/wvkbd-kylekrein/default.nix new file mode 100644 index 0000000..d63f1ef --- /dev/null +++ b/packages/wvkbd-kylekrein/default.nix @@ -0,0 +1,21 @@ +{ + wvkbd, + fetchFromGitHub, + lib, +}: let + smithay-patch = ./wvkbd-smithay.patch; #https://github.com/jjsullivan5196/wvkbd/issues/70 +in + wvkbd.overrideAttrs (final: prev: { + pname = "wvkbd-kylekrein"; + name = "wvkbd-kylekrein"; + version = "0.17"; + src = fetchFromGitHub { + owner = "Paulicat"; + repo = "wvkbd"; + rev = "ac02545ab6f6ccfa5b6f132414021ba57ea73096"; + hash = "sha256-py/IqNEEaTOx/9W935Vc47WoNFz99+bNaYD0sL//JmY="; + }; + installFlags = prev.installFlags ++ ["LAYOUT=vistath"]; + patches = prev.patches or [] ++ [smithay-patch]; + meta.mainProgram = "wvkbd"; + }) diff --git a/packages/wvkbd-kylekrein/wvkbd-smithay.patch b/packages/wvkbd-kylekrein/wvkbd-smithay.patch new file mode 100644 index 0000000..aa00213 --- /dev/null +++ b/packages/wvkbd-kylekrein/wvkbd-smithay.patch @@ -0,0 +1,27 @@ +From 764c39633aa4bb8b94463dd19961bb4e9c78be26 Mon Sep 17 00:00:00 2001 +From: Maarten van Gompel +Date: Sun, 31 Mar 2024 13:57:24 +0200 +Subject: [PATCH] debug: include trailing \0 byte in call to + zwp_virtual_keyboard_v1.keymap() + +Ref: https://github.com/jjsullivan5196/wvkbd/issues/70 +--- + keyboard.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/keyboard.c b/keyboard.c +index afe0639..cd9a11e 100644 +--- a/keyboard.c ++++ b/keyboard.c +@@ -678,7 +678,7 @@ create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t comp_unichr, + size_t keymap_size = strlen(keymap_template) + 64; + char *keymap_str = malloc(keymap_size); + sprintf(keymap_str, keymap_template, comp_unichr, comp_shift_unichr); +- keymap_size = strlen(keymap_str); ++ keymap_size = strlen(keymap_str) + 1; + int keymap_fd = os_create_anonymous_file(keymap_size); + if (keymap_fd < 0) { + die("could not create keymap fd\n"); +-- +2.49.0 + diff --git a/systems/x86_64-linux/kylekrein-homepc/default.nix b/systems/x86_64-linux/kylekrein-homepc/default.nix index b5749b4..479479b 100644 --- a/systems/x86_64-linux/kylekrein-homepc/default.nix +++ b/systems/x86_64-linux/kylekrein-homepc/default.nix @@ -13,6 +13,10 @@ }: with lib; with lib.${namespace}; { + facter.reportPath = ./facter.json; + systemd.network.wait-online.enable = lib.mkForce false; #facter + + custom.hardware.nvidia = enabled; boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos; services.scx.enable = true; # by default uses scx_rustland scheduler custom.impermanence = enabled; @@ -31,11 +35,29 @@ with lib.${namespace}; { }; custom.users = { - kylekrein = enabled; + tania = enabled; + kylekrein = { + enable = true; + }; }; + snowfallorg.users.kylekrein.home.config = { + programs.niri.settings.outputs = { + "DP-1" = { + scale = 1.6; + position.x = 1600; + position.y = 0; + }; + "DP-3" = { + scale = 1.6; + position.x = 0; + position.y = 0; + }; + }; + }; environment.systemPackages = with pkgs; [ blender + nix-schemas ]; services.zerotierone = { diff --git a/systems/x86_64-linux/kylekrein-homepc/facter.json b/systems/x86_64-linux/kylekrein-homepc/facter.json index 0a68ae5..ee61326 100644 --- a/systems/x86_64-linux/kylekrein-homepc/facter.json +++ b/systems/x86_64-linux/kylekrein-homepc/facter.json @@ -21,176 +21,6 @@ "low_memory_size": 0, "smbios_version": 771 }, - "bluetooth": [ - { - "index": 69, - "attached_to": 75, - "class_list": [ - "usb", - "bluetooth" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0115", - "name": "Bluetooth Device", - "value": 277 - }, - "vendor": { - "hex": "8087", - "value": 32903 - }, - "device": { - "hex": "0029", - "value": 41 - }, - "revision": { - "hex": "0000", - "name": "0.01", - "value": 0 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.2/1-6.2:1.0", - "sysfs_bus_id": "1-6.2:1.0", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00e0", - "name": "wireless", - "value": 224 - }, - "device_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "device_protocol": 1, - "interface_class": { - "hex": "00e0", - "name": "wireless", - "value": 224 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "btusb", - "driver_module": "btusb", - "drivers": [ - "btusb" - ], - "driver_modules": [ - "btusb" - ], - "module_alias": "usb:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in00" - }, - { - "index": 81, - "attached_to": 75, - "class_list": [ - "usb", - "bluetooth" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0115", - "name": "Bluetooth Device", - "value": 277 - }, - "vendor": { - "hex": "8087", - "value": 32903 - }, - "device": { - "hex": "0029", - "value": 41 - }, - "revision": { - "hex": "0000", - "name": "0.01", - "value": 0 - }, - "model": "Bluetooth Device", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.2/1-6.2:1.1", - "sysfs_bus_id": "1-6.2:1.1", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00e0", - "name": "wireless", - "value": 224 - }, - "device_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "device_protocol": 1, - "interface_class": { - "hex": "00e0", - "name": "wireless", - "value": 224 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 1, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "btusb", - "driver_module": "btusb", - "drivers": [ - "btusb" - ], - "driver_modules": [ - "btusb" - ], - "module_alias": "usb:v8087p0029d0001dcE0dsc01dp01icE0isc01ip01in01" - } - ], "bridge": [ { "index": 20, @@ -243,27 +73,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:00.0", "sysfs_bus_id": "0000:03:00.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 36, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 4, - "irq": 36, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { @@ -318,27 +143,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:03.1", "sysfs_bus_id": "0000:00:03.1", - "sysfs_iommu_group_id": 5, - "resources": [ - { - "type": "irq", - "base": 30, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 6, "detail": { "function": 1, "command": 1031, "header_type": 1, "secondary_bus": 10, - "irq": 30, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" }, { @@ -379,13 +199,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:08.0", "sysfs_bus_id": "0000:00:08.0", - "sysfs_iommu_group_id": 10, + "sysfs_iommu_group_id": 11, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" @@ -428,13 +247,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.3", "sysfs_bus_id": "0000:00:18.3", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 3, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "driver": "k10temp", @@ -498,27 +316,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2", "sysfs_bus_id": "0000:02:00.2", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 34, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 2, "command": 7, "header_type": 1, "secondary_bus": 3, - "irq": 34, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043E9sv00001B21sd00000201bc06sc04i00" }, { @@ -573,27 +386,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2", "sysfs_bus_id": "0000:00:01.2", - "sysfs_iommu_group_id": 2, - "resources": [ - { - "type": "irq", - "base": 29, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 3, "detail": { "function": 2, "command": 1031, "header_type": 1, "secondary_bus": 2, - "irq": 29, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" }, { @@ -647,27 +455,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:03.0", "sysfs_bus_id": "0000:03:03.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 39, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 6, - "irq": 39, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { @@ -708,13 +511,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.1", "sysfs_bus_id": "0000:00:18.1", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 1, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001441sv00000000sd00000000bc06sc00i00" @@ -757,13 +559,12 @@ "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, + "sysfs_iommu_group_id": 1, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" @@ -806,13 +607,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:04.0", "sysfs_bus_id": "0000:00:04.0", - "sysfs_iommu_group_id": 6, + "sysfs_iommu_group_id": 7, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" @@ -868,27 +668,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:09.0", "sysfs_bus_id": "0000:03:09.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 43, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 9, - "irq": 43, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { @@ -941,13 +736,12 @@ "model": "AMD ISA bridge", "sysfs_id": "/devices/pci0000:00/0000:00:14.3", "sysfs_bus_id": "0000:00:14.3", - "sysfs_iommu_group_id": 12, + "sysfs_iommu_group_id": 13, "detail": { "function": 3, "command": 15, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d0000790Esv00001458sd00005001bc06sc01i00" @@ -990,13 +784,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:07.0", "sysfs_bus_id": "0000:00:07.0", - "sysfs_iommu_group_id": 8, + "sysfs_iommu_group_id": 9, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" @@ -1052,27 +845,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0", "sysfs_bus_id": "0000:03:02.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 37, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 5, - "irq": 37, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { @@ -1113,13 +901,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.6", "sysfs_bus_id": "0000:00:18.6", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 6, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001446sv00000000sd00000000bc06sc00i00" @@ -1171,12 +958,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:00.0", "sysfs_bus_id": "0000:00:00.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:v00001022d00001480sv00001022sd00001480bc06sc00i00" @@ -1233,27 +1020,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:08.1", "sysfs_bus_id": "0000:00:08.1", - "sysfs_iommu_group_id": 11, - "resources": [ - { - "type": "irq", - "base": 33, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 12, "detail": { "function": 1, "command": 1031, "header_type": 1, "secondary_bus": 12, - "irq": 33, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d00001484sv00001022sd00001484bc06sc04i00" }, { @@ -1294,13 +1076,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.4", "sysfs_bus_id": "0000:00:18.4", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 4, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001444sv00000000sd00000000bc06sc00i00" @@ -1343,13 +1124,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:03.0", "sysfs_bus_id": "0000:00:03.0", - "sysfs_iommu_group_id": 4, + "sysfs_iommu_group_id": 5, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" @@ -1405,27 +1185,22 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0", "sysfs_bus_id": "0000:03:08.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 41, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 8, - "irq": 41, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { @@ -1466,13 +1241,12 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.2", "sysfs_bus_id": "0000:00:18.2", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 2, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001442sv00000000sd00000000bc06sc00i00" @@ -1529,31 +1303,26 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.1", "sysfs_bus_id": "0000:00:01.1", - "sysfs_iommu_group_id": 1, - "resources": [ - { - "type": "irq", - "base": 28, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 2, "detail": { "function": 1, "command": 1031, "header_type": 1, "secondary_bus": 1, - "irq": 28, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d00001483sv00001022sd00001453bc06sc04i00" }, { - "index": 53, + "index": 52, "attached_to": 0, "class_list": [ "pci", @@ -1590,19 +1359,18 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.0", "sysfs_bus_id": "0000:00:18.0", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001440sv00000000sd00000000bc06sc00i00" }, { - "index": 55, + "index": 54, "attached_to": 25, "class_list": [ "pci", @@ -1652,31 +1420,26 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:04.0", "sysfs_bus_id": "0000:03:04.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 40, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1031, "header_type": 1, "secondary_bus": 7, - "irq": 40, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d000043EAsv00001B21sd00003308bc06sc04i00" }, { - "index": 56, + "index": 55, "attached_to": 0, "class_list": [ "pci", @@ -1727,31 +1490,26 @@ "model": "AMD PCI bridge", "sysfs_id": "/devices/pci0000:00/0000:00:07.1", "sysfs_bus_id": "0000:00:07.1", - "sysfs_iommu_group_id": 9, - "resources": [ - { - "type": "irq", - "base": 32, - "triggered": 0, - "enabled": true - } - ], + "sysfs_iommu_group_id": 10, "detail": { "function": 1, "command": 1031, "header_type": 1, "secondary_bus": 11, - "irq": 32, "prog_if": 0 }, "driver": "pcieport", + "driver_module": "pcieportdrv", "drivers": [ "pcieport" ], + "driver_modules": [ + "pcieportdrv" + ], "module_alias": "pci:v00001022d00001484sv00001022sd00001484bc06sc04i00" }, { - "index": 58, + "index": 57, "attached_to": 0, "class_list": [ "pci", @@ -1788,19 +1546,18 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:02.0", "sysfs_bus_id": "0000:00:02.0", - "sysfs_iommu_group_id": 3, + "sysfs_iommu_group_id": 4, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" }, { - "index": 59, + "index": 58, "attached_to": 0, "class_list": [ "pci", @@ -1837,19 +1594,18 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.7", "sysfs_bus_id": "0000:00:18.7", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 7, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001447sv00000000sd00000000bc06sc00i00" }, { - "index": 61, + "index": 60, "attached_to": 0, "class_list": [ "pci", @@ -1886,19 +1642,18 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:05.0", "sysfs_bus_id": "0000:00:05.0", - "sysfs_iommu_group_id": 7, + "sysfs_iommu_group_id": 8, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001482sv00000000sd00000000bc06sc00i00" }, { - "index": 62, + "index": 61, "attached_to": 0, "class_list": [ "pci", @@ -1935,212 +1690,22 @@ "model": "AMD Host bridge", "sysfs_id": "/devices/pci0000:00/0000:00:18.5", "sysfs_bus_id": "0000:00:18.5", - "sysfs_iommu_group_id": 13, + "sysfs_iommu_group_id": 14, "detail": { "function": 5, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001445sv00000000sd00000000bc06sc00i00" } ], - "camera": [ - { - "index": 74, - "attached_to": 87, - "class_list": [ - "camera", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "2104", - "name": "Tobii AB", - "value": 8452 - }, - "device": { - "hex": "0313", - "name": "EyeChip", - "value": 787 - }, - "revision": { - "hex": "0000", - "name": "1.00", - "value": 0 - }, - "serial": "IS5FF-100212740213", - "model": "Tobii EyeChip", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.1", - "sysfs_bus_id": "1-8:1.1", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 0, - "interface_number": 1, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 1 - } - }, - "hotplug": "usb", - "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01ic0Eisc01ip00in01" - }, - { - "index": 86, - "attached_to": 87, - "class_list": [ - "camera", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010f", - "name": "Camera", - "value": 271 - }, - "vendor": { - "hex": "2104", - "name": "Tobii AB", - "value": 8452 - }, - "device": { - "hex": "0313", - "name": "EyeChip", - "value": 787 - }, - "revision": { - "hex": "0000", - "name": "1.00", - "value": 0 - }, - "serial": "IS5FF-100212740213", - "model": "Tobii EyeChip", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.2", - "sysfs_bus_id": "1-8:1.2", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "interface_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "interface_protocol": 0, - "interface_number": 2, - "interface_alternate_setting": 0, - "interface_association": { - "function_class": { - "hex": "000e", - "name": "video", - "value": 14 - }, - "function_subclass": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "function_protocol": 0, - "interface_count": 2, - "first_interface": 1 - } - }, - "hotplug": "usb", - "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01ic0Eisc02ip00in02" - } - ], "cpu": [ { "architecture": "x86_64", "vendor_name": "AuthenticAMD", + "model_name": "AMD Ryzen 7 5800X 8-Core Processor", "family": 25, "model": 33, "stepping": 0, @@ -2292,7 +1857,9 @@ "spectre_v2", "spec_store_bypass", "srso", - "ibpb_no_ret" + "ibpb_no_ret", + "spectre_v2_user", + "tsa" ], "power_management": [ "ts", @@ -2304,28 +1871,28 @@ "[13]", "[14]" ], - "bogo": 7586.15, + "bogo": 7585, "cache": 512, "units": 16, "physical_id": 0, "siblings": 16, "cores": 8, - "fpu": true, - "fpu_exception": true, + "fpu": false, + "fpu_exception": false, "cpuid_level": 16, "write_protect": false, "tlb_size": 2560, "clflush_size": 64, "cache_alignment": 64, "address_sizes": { - "physical": 48, - "virtual": 48 + "physical": "0x30", + "virtual": "0x30" } } ], "disk": [ { - "index": 65, + "index": 64, "attached_to": 36, "class_list": [ "disk", @@ -2373,15 +1940,7 @@ "sysfs_id": "/class/block/nvme0n1", "sysfs_bus_id": "nvme0", "sysfs_device_link": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0/nvme/nvme0", - "unix_device_name": "/dev/nvme0n1", - "unix_device_number": { - "type": 98, - "major": 259, - "minor": 0, - "range": 0 - }, "unix_device_names": [ - "/dev/disk/by-diskseq/1", "/dev/disk/by-id/nvme-WDC_WDS100T2B0C-00PXH0_21167U469302", "/dev/disk/by-id/nvme-WDC_WDS100T2B0C-00PXH0_21167U469302_1", "/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b444a46f48e5d", @@ -2394,7 +1953,7 @@ "cylinders": 119233, "heads": 64, "sectors": 32, - "size": 0, + "size": "0x0", "geo_type": "logical" }, { @@ -2413,6 +1972,86 @@ "nvme" ] }, + { + "index": 65, + "attached_to": 50, + "class_list": [ + "disk", + "ide", + "block_device" + ], + "bus_type": { + "hex": "0085", + "name": "IDE", + "value": 133 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0000", + "name": "WDC", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "WD10EZEX-35W", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "1A01", + "value": 0 + }, + "serial": "WCC6Y7XR2XFZ", + "model": "WDC WD10EZEX-35W", + "sysfs_id": "/class/block/sdb", + "sysfs_bus_id": "1:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1/ata2/host1/target1:0:0/1:0:0:0", + "unix_device_names": [ + "/dev/disk/by-id/ata-WDC_WD10EZEX-35WN4A0_WCC6Y7XR2XFZ", + "/dev/disk/by-id/wwn-0x50014ee26492ddba", + "/dev/disk/by-path/pci-0000:02:00.1-ata-2", + "/dev/disk/by-path/pci-0000:02:00.1-ata-2.0", + "/dev/sdb" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 121601, + "heads": 255, + "sectors": 63, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 1953525168, + "value_2": 512 + } + ], + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci", + "sd" + ], + "driver_modules": [ + "ahci" + ] + }, { "index": 66, "attached_to": 50, @@ -2457,23 +2096,15 @@ }, "serial": "X7P97EENS", "model": "TOSHIBA HDWD110", - "sysfs_id": "/class/block/sdb", + "sysfs_id": "/class/block/sda", "sysfs_bus_id": "0:0:0:0", "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1/ata1/host0/target0:0:0/0:0:0:0", - "unix_device_name": "/dev/sdb", - "unix_device_number": { - "type": 98, - "major": 8, - "minor": 16, - "range": 16 - }, "unix_device_names": [ - "/dev/disk/by-diskseq/3", "/dev/disk/by-id/ata-TOSHIBA_HDWD110_X7P97EENS", "/dev/disk/by-id/wwn-0x5000039fd3d24abf", "/dev/disk/by-path/pci-0000:02:00.1-ata-1", "/dev/disk/by-path/pci-0000:02:00.1-ata-1.0", - "/dev/sdb" + "/dev/sda" ], "resources": [ { @@ -2481,7 +2112,7 @@ "cylinders": 121601, "heads": 255, "sectors": 63, - "size": 0, + "size": "0x0", "geo_type": "logical" }, { @@ -2498,27 +2129,16 @@ "sd" ], "driver_modules": [ - "ahci", - "sd_mod" + "ahci" ] }, { "index": 67, - "attached_to": 50, + "attached_to": 0, "class_list": [ "disk", - "ide", "block_device" ], - "bus_type": { - "hex": "0085", - "name": "IDE", - "value": 133 - }, - "slot": { - "bus": 1, - "number": 0 - }, "base_class": { "hex": "0106", "name": "Mass Storage Device", @@ -2529,66 +2149,20 @@ "name": "Disk", "value": 0 }, - "vendor": { - "hex": "0000", - "name": "WDC", - "value": 0 - }, - "device": { - "hex": "0000", - "name": "WD10EZEX-35W", - "value": 0 - }, - "revision": { - "hex": "0000", - "name": "1A01", - "value": 0 - }, - "serial": "WCC6Y7XR2XFZ", - "model": "WDC WD10EZEX-35W", - "sysfs_id": "/class/block/sda", - "sysfs_bus_id": "1:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1/ata2/host1/target1:0:0/1:0:0:0", - "unix_device_name": "/dev/sda", - "unix_device_number": { - "type": 98, - "major": 8, - "minor": 0, - "range": 16 - }, + "model": "Disk", + "sysfs_id": "/class/block/zram0", "unix_device_names": [ - "/dev/disk/by-diskseq/2", - "/dev/disk/by-id/ata-WDC_WD10EZEX-35WN4A0_WCC6Y7XR2XFZ", - "/dev/disk/by-id/wwn-0x50014ee26492ddba", - "/dev/disk/by-path/pci-0000:02:00.1-ata-2", - "/dev/disk/by-path/pci-0000:02:00.1-ata-2.0", - "/dev/sda" + "/dev/disk/by-label/zram0", + "/dev/disk/by-uuid/68632d17-edda-42aa-861f-cf9bf9b45af2", + "/dev/zram0" ], "resources": [ - { - "type": "disk_geo", - "cylinders": 121601, - "heads": 255, - "sectors": 63, - "size": 0, - "geo_type": "logical" - }, { "type": "size", "unit": "sectors", - "value_1": 1953525168, - "value_2": 512 + "value_1": 4100352, + "value_2": 4096 } - ], - "driver": "ahci", - "driver_module": "ahci", - "drivers": [ - "ahci", - "sd" - ], - "driver_modules": [ - "ahci", - "sd_mod" ] } ], @@ -2648,7 +2222,7 @@ "model": "nVidia VGA compatible controller", "sysfs_id": "/devices/pci0000:00/0000:00:03.1/0000:0a:00.0", "sysfs_bus_id": "0000:0a:00.0", - "sysfs_iommu_group_id": 16, + "sysfs_iommu_group_id": 17, "resources": [ { "type": "io", @@ -2656,44 +2230,6 @@ "range": 128, "enabled": true, "access": "read_write" - }, - { - "type": "irq", - "base": 104, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 1030792151040, - "range": 34359738368, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 1065151889408, - "range": 33554432, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4211081216, - "range": 16777216, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4227858432, - "range": 524288, - "enabled": false, - "access": "read_only", - "prefetch": "no" } ], "detail": { @@ -2701,7 +2237,6 @@ "command": 1031, "header_type": 0, "secondary_bus": 0, - "irq": 104, "prog_if": 0 }, "driver": "nvidia", @@ -2717,8 +2252,8 @@ ], "hub": [ { - "index": 75, - "attached_to": 87, + "index": 73, + "attached_to": 83, "class_list": [ "usb", "hub" @@ -2792,13 +2327,17 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], + "driver_modules": [ + "usbcore" + ], "module_alias": "usb:v05E3p0608d8536dc09dsc00dp01ic09isc00ip00in00" }, { - "index": 76, + "index": 74, "attached_to": 39, "class_list": [ "usb", @@ -2820,7 +2359,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.12.4 xhci-hcd", + "name": "Linux 6.16.0-cachyos xhci-hcd", "value": 7531 }, "device": { @@ -2830,11 +2369,11 @@ }, "revision": { "hex": "0000", - "name": "6.12", + "name": "6.16", "value": 0 }, "serial": "0000:0c:00.3", - "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "model": "Linux 6.16.0-cachyos xhci-hcd xHCI Host Controller", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-0:1.0", "sysfs_bus_id": "3-0:1.0", "resources": [ @@ -2875,13 +2414,17 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" }, { - "index": 82, + "index": 79, "attached_to": 39, "class_list": [ "usb", @@ -2903,7 +2446,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.12.4 xhci-hcd", + "name": "Linux 6.16.0-cachyos xhci-hcd", "value": 7531 }, "device": { @@ -2913,11 +2456,11 @@ }, "revision": { "hex": "0000", - "name": "6.12", + "name": "6.16", "value": 0 }, "serial": "0000:0c:00.3", - "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "model": "Linux 6.16.0-cachyos xhci-hcd xHCI Host Controller", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb4/4-0:1.0", "sysfs_bus_id": "4-0:1.0", "detail": { @@ -2948,13 +2491,17 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], - "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" }, { - "index": 87, + "index": 83, "attached_to": 29, "class_list": [ "usb", @@ -2976,7 +2523,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.12.4 xhci-hcd", + "name": "Linux 6.16.0-cachyos xhci-hcd", "value": 7531 }, "device": { @@ -2986,11 +2533,11 @@ }, "revision": { "hex": "0000", - "name": "6.12", + "name": "6.16", "value": 0 }, "serial": "0000:02:00.0", - "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "model": "Linux 6.16.0-cachyos xhci-hcd xHCI Host Controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-0:1.0", "sysfs_bus_id": "1-0:1.0", "resources": [ @@ -3031,14 +2578,18 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0616dc09dsc00dp01ic09isc00ip00in00" }, { - "index": 91, - "attached_to": 76, + "index": 86, + "attached_to": 74, "class_list": [ "usb", "hub" @@ -3113,13 +2664,17 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], + "driver_modules": [ + "usbcore" + ], "module_alias": "usb:v058Fp9254d0312dc09dsc00dp00ic09isc00ip00in00" }, { - "index": 94, + "index": 89, "attached_to": 29, "class_list": [ "usb", @@ -3141,7 +2696,7 @@ }, "vendor": { "hex": "1d6b", - "name": "Linux 6.12.4 xhci-hcd", + "name": "Linux 6.16.0-cachyos xhci-hcd", "value": 7531 }, "device": { @@ -3151,11 +2706,11 @@ }, "revision": { "hex": "0000", - "name": "6.12", + "name": "6.16", "value": 0 }, "serial": "0000:02:00.0", - "model": "Linux 6.12.4 xhci-hcd xHCI Host Controller", + "model": "Linux 6.16.0-cachyos xhci-hcd xHCI Host Controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb2/2-0:1.0", "sysfs_bus_id": "2-0:1.0", "detail": { @@ -3186,16 +2741,20 @@ }, "hotplug": "usb", "driver": "hub", + "driver_module": "usbcore", "drivers": [ "hub" ], - "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0616dc09dsc00dp03ic09isc00ip00in00" } ], "keyboard": [ { - "index": 84, - "attached_to": 75, + "index": 81, + "attached_to": 73, "class_list": [ "keyboard", "usb" @@ -3290,8 +2849,8 @@ "module_alias": "usb:v046DpC52Bd1211dc00dsc00dp00ic03isc01ip01in00" }, { - "index": 92, - "attached_to": 75, + "index": 87, + "attached_to": 73, "class_list": [ "keyboard", "usb" @@ -3333,18 +2892,11 @@ "model": "Logitech USB Receiver", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.0", "sysfs_bus_id": "1-6.1:1.0", - "unix_device_name": "/dev/input/event1", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 65, - "range": 1 - }, "unix_device_names": [ "/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd", "/dev/input/by-path/pci-0000:02:00.0-usb-0:6.1:1.0-event-kbd", "/dev/input/by-path/pci-0000:02:00.0-usbv2-0:6.1:1.0-event-kbd", - "/dev/input/event1" + "/dev/input/event3" ], "resources": [ { @@ -3418,14 +2970,6 @@ }, "model": "Main Memory", "resources": [ - { - "type": "mem", - "base": 0, - "range": 33599733760, - "enabled": true, - "access": "read_write", - "prefetch": "unknown" - }, { "type": "phys_mem", "range": 34359738368 @@ -3435,7 +2979,7 @@ ], "monitor": [ { - "index": 63, + "index": 62, "attached_to": 37, "class_list": [ "monitor" @@ -3665,7 +3209,7 @@ } }, { - "index": 64, + "index": 63, "attached_to": 37, "class_list": [ "monitor" @@ -3898,7 +3442,7 @@ "mouse": [ { "index": 68, - "attached_to": 75, + "attached_to": 73, "class_list": [ "mouse", "usb" @@ -4001,8 +3545,8 @@ "module_alias": "usb:v046DpC52Bd1211dc00dsc00dp00ic03isc01ip02in01" }, { - "index": 72, - "attached_to": 75, + "index": 71, + "attached_to": 73, "class_list": [ "mouse", "usb" @@ -4046,23 +3590,10 @@ "model": "Logitech USB Receiver", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.3", "sysfs_bus_id": "1-6.1:1.3", - "unix_device_name": "/dev/input/mice", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 63, - "range": 1 - }, "unix_device_names": [ "/dev/input/mice" ], "unix_device_name2": "/dev/input/mouse1", - "unix_device_number2": { - "type": 99, - "major": 13, - "minor": 33, - "range": 1 - }, "resources": [ { "type": "baud", @@ -4122,8 +3653,8 @@ "module_alias": "usb:v046DpC548d0503dc00dsc00dp00ic03isc00ip00in03" }, { - "index": 77, - "attached_to": 75, + "index": 75, + "attached_to": 73, "class_list": [ "mouse", "usb" @@ -4167,23 +3698,10 @@ "model": "Logitech USB Receiver", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.1", "sysfs_bus_id": "1-6.1:1.1", - "unix_device_name": "/dev/input/mice", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 63, - "range": 1 - }, "unix_device_names": [ "/dev/input/mice" ], "unix_device_name2": "/dev/input/mouse0", - "unix_device_number2": { - "type": 99, - "major": 13, - "minor": 32, - "range": 1 - }, "resources": [ { "type": "baud", @@ -4243,7 +3761,7 @@ "module_alias": "usb:v046DpC548d0503dc00dsc00dp00ic03isc01ip02in01" }, { - "index": 99, + "index": 95, "attached_to": 0, "bus_type": { "hex": "0086", @@ -4270,9 +3788,9 @@ "name": "USB_Receiver", "value": 50504 }, - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.3/0003:046D:C548.0009/input/input16", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-6/1-6.1/1-6.1:1.3/0003:046D:C548.0009/input/input20", "unix_device_names": [ - "/dev/input/event9", + "/dev/input/event2", "/dev/input/ + handler" ] } @@ -4327,8 +3845,7 @@ "model": "Ethernet controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0/0000:08:00.0", "sysfs_bus_id": "0000:08:00.0", - "sysfs_iommu_group_id": 15, - "unix_device_name": "eno1", + "sysfs_iommu_group_id": 16, "unix_device_names": [ "eno1" ], @@ -4344,28 +3861,6 @@ "enabled": true, "access": "read_write" }, - { - "type": "irq", - "base": 35, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4233101312, - "range": 65536, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4233166848, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, { "type": "phwaddr", "address": 49 @@ -4376,7 +3871,6 @@ "command": 1031, "header_type": 0, "secondary_bus": 0, - "irq": 35, "prog_if": 0 }, "driver": "r8169", @@ -4389,235 +3883,11 @@ ], "module_alias": "pci:v000010ECd00008125sv00001458sd0000E000bc02sc00i00", "label": "RTL8111E Giga LAN" - }, - { - "index": 52, - "attached_to": 41, - "class_list": [ - "network_controller", - "pci", - "wlan_card" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 5, - "number": 0 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0082", - "name": "WLAN controller", - "value": 130 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "device": { - "hex": "2723", - "value": 10019 - }, - "sub_device": { - "hex": "0084", - "value": 132 - }, - "revision": { - "hex": "001a", - "value": 26 - }, - "model": "Intel WLAN controller", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0/0000:05:00.0", - "sysfs_bus_id": "0000:05:00.0", - "sysfs_iommu_group_id": 15, - "unix_device_name": "wlp5s0", - "unix_device_names": [ - "wlp5s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 99 - }, - { - "type": "irq", - "base": 34, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4234149888, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "phwaddr", - "address": 99 - }, - { - "type": "wlan", - "channels": [ - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "36", - "40", - "44", - "48", - "52", - "56", - "60", - "64", - "100", - "104", - "108", - "112", - "116", - "120", - "124", - "128", - "132", - "136", - "140" - ], - "frequencies": [ - "2.412", - "2.417", - "2.422", - "2.427", - "2.432", - "2.437", - "2.442", - "2.447", - "2.452", - "2.457", - "2.462", - "2.467", - "2.472", - "5.18", - "5.2", - "5.22", - "5.24", - "5.26", - "5.28", - "5.3", - "5.32", - "5.5", - "5.52", - "5.54", - "5.56", - "5.58", - "5.6", - "5.62", - "5.64", - "5.66", - "5.68", - "5.7" - ], - "auth_modes": [ - "open", - "sharedkey", - "wpa-psk", - "wpa-eap" - ], - "enc_modes": [ - "WEP40", - "WEP104", - "TKIP", - "CCMP" - ] - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 34, - "prog_if": 0 - }, - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ], - "module_alias": "pci:v00008086d00002723sv00008086sd00000084bc02sc80i00" } ], "network_interface": [ { - "index": 96, - "attached_to": 52, - "class_list": [ - "network_interface" - ], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0001", - "name": "Ethernet", - "value": 1 - }, - "model": "Ethernet network interface", - "sysfs_id": "/class/net/wlp5s0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:02.0/0000:05:00.0", - "unix_device_name": "wlp5s0", - "unix_device_names": [ - "wlp5s0" - ], - "resources": [ - { - "type": "hwaddr", - "address": 99 - }, - { - "type": "phwaddr", - "address": 99 - } - ], - "driver": "iwlwifi", - "driver_module": "iwlwifi", - "drivers": [ - "iwlwifi" - ], - "driver_modules": [ - "iwlwifi" - ] - }, - { - "index": 97, + "index": 91, "attached_to": 0, "class_list": [ "network_interface" @@ -4634,13 +3904,12 @@ }, "model": "Loopback network interface", "sysfs_id": "/class/net/lo", - "unix_device_name": "lo", "unix_device_names": [ "lo" ] }, { - "index": 98, + "index": 92, "attached_to": 32, "class_list": [ "network_interface" @@ -4658,7 +3927,6 @@ "model": "Ethernet network interface", "sysfs_id": "/class/net/eno1", "sysfs_device_link": "/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:08.0/0000:08:00.0", - "unix_device_name": "eno1", "unix_device_names": [ "eno1" ], @@ -4724,20 +3992,19 @@ "model": "unknown unknown", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.0", "sysfs_bus_id": "0000:0c:00.0", - "sysfs_iommu_group_id": 18, + "sysfs_iommu_group_id": 19, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001485sv00001022sd00001485bc13sc00i00" }, { "index": 31, - "attached_to": 56, + "attached_to": 55, "class_list": [ "pci", "unknown" @@ -4776,13 +4043,12 @@ "model": "unknown unknown", "sysfs_id": "/devices/pci0000:00/0000:00:07.1/0000:0b:00.0", "sysfs_bus_id": "0000:0b:00.0", - "sysfs_iommu_group_id": 17, + "sysfs_iommu_group_id": 18, "detail": { "function": 0, "command": 0, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d0000148Asv00001022sd0000148Abc13sc00i00" @@ -4838,7 +4104,6 @@ "command": 64, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d00001481sv00001022sd00001481bc08sc06i00" @@ -4890,37 +4155,12 @@ "model": "AMD Encryption controller", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.1", "sysfs_bus_id": "0000:0c:00.1", - "sysfs_iommu_group_id": 19, - "resources": [ - { - "type": "irq", - "base": 80, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4231004160, - "range": 1048576, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4232085504, - "range": 8192, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 20, "detail": { "function": 1, "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 80, "prog_if": 0 }, "driver": "ccp", @@ -4934,7 +4174,7 @@ "module_alias": "pci:v00001022d00001486sv00001022sd00001486bc10sc80i00" }, { - "index": 60, + "index": 59, "attached_to": 0, "class_list": [ "pci", @@ -4983,13 +4223,12 @@ "model": "AMD SMBus", "sysfs_id": "/devices/pci0000:00/0000:00:14.0", "sysfs_bus_id": "0000:00:14.0", - "sysfs_iommu_group_id": 12, + "sysfs_iommu_group_id": 13, "detail": { "function": 0, "command": 1027, "header_type": 0, "secondary_bus": 0, - "irq": 0, "prog_if": 0 }, "module_alias": "pci:v00001022d0000790Bsv00001458sd00005001bc0Csc05i00" @@ -4997,7 +4236,7 @@ ], "sound": [ { - "index": 54, + "index": 53, "attached_to": 21, "class_list": [ "sound", @@ -5045,29 +4284,12 @@ "model": "nVidia Multimedia controller", "sysfs_id": "/devices/pci0000:00/0000:00:03.1/0000:0a:00.1", "sysfs_bus_id": "0000:0a:00.1", - "sysfs_iommu_group_id": 16, - "resources": [ - { - "type": "irq", - "base": 84, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4228382720, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 17, "detail": { "function": 1, "command": 6, "header_type": 0, "secondary_bus": 0, - "irq": 84, "prog_if": 0 }, "driver": "snd_hda_intel", @@ -5081,7 +4303,7 @@ "module_alias": "pci:v000010DEd00001AEFsv00007377sd00002000bc04sc03i00" }, { - "index": 57, + "index": 56, "attached_to": 45, "class_list": [ "sound", @@ -5125,29 +4347,12 @@ "model": "AMD Multimedia controller", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4", "sysfs_bus_id": "0000:0c:00.4", - "sysfs_iommu_group_id": 21, - "resources": [ - { - "type": "irq", - "base": 86, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4232052736, - "range": 32768, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 22, "detail": { "function": 4, "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 86, "prog_if": 0 }, "driver": "snd_hda_intel", @@ -5162,8 +4367,8 @@ "label": "Realtek ALC1220" }, { - "index": 73, - "attached_to": 91, + "index": 72, + "attached_to": 86, "class_list": [ "sound", "usb" @@ -5254,8 +4459,8 @@ "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc01ip00in03" }, { - "index": 78, - "attached_to": 91, + "index": 76, + "attached_to": 86, "class_list": [ "sound", "usb" @@ -5346,8 +4551,8 @@ "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in01" }, { - "index": 85, - "attached_to": 91, + "index": 82, + "attached_to": 86, "class_list": [ "sound", "usb" @@ -5438,8 +4643,8 @@ "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in04" }, { - "index": 89, - "attached_to": 91, + "index": 85, + "attached_to": 86, "class_list": [ "sound", "usb" @@ -5530,8 +4735,8 @@ "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic01isc02ip00in02" }, { - "index": 93, - "attached_to": 91, + "index": 88, + "attached_to": 86, "class_list": [ "sound", "usb" @@ -5675,37 +4880,12 @@ "model": "Mass storage controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.1/0000:01:00.0", "sysfs_bus_id": "0000:01:00.0", - "sysfs_iommu_group_id": 14, - "resources": [ - { - "type": "irq", - "base": 44, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4236247040, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4236263424, - "range": 256, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 15, "detail": { "function": 0, "command": 1031, "header_type": 0, "secondary_bus": 0, - "irq": 44, "prog_if": 2 }, "driver": "nvme", @@ -5767,37 +4947,12 @@ "model": "AMD Mass storage controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.1", "sysfs_bus_id": "0000:02:00.1", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 62, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4235198464, - "range": 524288, - "enabled": false, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4235722752, - "range": 131072, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 1, "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 62, "prog_if": 1 }, "driver": "ahci", @@ -5816,8 +4971,8 @@ }, "usb": [ { - "index": 70, - "attached_to": 91, + "index": 69, + "attached_to": 86, "class_list": [ "usb", "unknown" @@ -5907,8 +5062,8 @@ "module_alias": "usb:v1038p12C2d0101dc00dsc00dp00ic03isc00ip00in00" }, { - "index": 71, - "attached_to": 91, + "index": 70, + "attached_to": 86, "class_list": [ "usb", "unknown" @@ -5999,8 +5154,8 @@ "module_alias": "usb:v1038p12C4d0003dc00dsc00dp00ic03isc00ip00in05" }, { - "index": 79, - "attached_to": 75, + "index": 77, + "attached_to": 73, "class_list": [ "usb", "unknown" @@ -6090,8 +5245,8 @@ "module_alias": "usb:v046DpC52Bd1211dc00dsc00dp00ic03isc00ip00in02" }, { - "index": 80, - "attached_to": 87, + "index": 78, + "attached_to": 83, "class_list": [ "usb", "unknown" @@ -6181,8 +5336,8 @@ "module_alias": "usb:v048Dp5702d0001dc00dsc00dp00ic03isc00ip00in00" }, { - "index": 83, - "attached_to": 91, + "index": 80, + "attached_to": 86, "class_list": [ "usb", "unknown" @@ -6224,19 +5379,6 @@ "model": "SteelSeries Arctis 9", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb3/3-2/3-2.2/3-2.2:1.1", "sysfs_bus_id": "3-2.2:1.1", - "unix_device_name": "/dev/input/event0", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 64, - "range": 1 - }, - "unix_device_names": [ - "/dev/input/by-id/usb-SteelSeries_SteelSeries_Arctis_9-event-if01", - "/dev/input/by-path/pci-0000:0c:00.3-usb-0:2.2:1.1-event", - "/dev/input/by-path/pci-0000:0c:00.3-usbv2-0:2.2:1.1-event", - "/dev/input/event0" - ], "resources": [ { "type": "baud", @@ -6285,8 +5427,8 @@ "module_alias": "usb:v1038p12C2d0101dc00dsc00dp00ic03isc00ip00in01" }, { - "index": 88, - "attached_to": 75, + "index": 84, + "attached_to": 73, "class_list": [ "usb", "unknown" @@ -6377,91 +5519,7 @@ }, { "index": 90, - "attached_to": 87, - "class_list": [ - "usb", - "unknown" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0000", - "name": "Unclassified device", - "value": 0 - }, - "sub_class": { - "hex": "0000", - "name": "Unclassified device", - "value": 0 - }, - "vendor": { - "hex": "2104", - "name": "Tobii AB", - "value": 8452 - }, - "device": { - "hex": "0313", - "name": "EyeChip", - "value": 787 - }, - "revision": { - "hex": "0000", - "name": "1.00", - "value": 0 - }, - "serial": "IS5FF-100212740213", - "model": "Tobii EyeChip", - "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8:1.0", - "sysfs_bus_id": "1-8:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "00ef", - "name": "miscellaneous", - "value": 239 - }, - "device_subclass": { - "hex": "0002", - "name": "comm", - "value": 2 - }, - "device_protocol": 1, - "interface_class": { - "hex": "00ff", - "name": "vendor_spec", - "value": 255 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "module_alias": "usb:v2104p0313d0100dcEFdsc02dp01icFFisc00ip00in00" - }, - { - "index": 95, - "attached_to": 91, + "attached_to": 86, "class_list": [ "usb", "unknown" @@ -6602,29 +5660,12 @@ "model": "AMD USB Controller", "sysfs_id": "/devices/pci0000:00/0000:00:01.2/0000:02:00.0", "sysfs_bus_id": "0000:02:00.0", - "sysfs_iommu_group_id": 15, - "resources": [ - { - "type": "irq", - "base": 35, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4235853824, - "range": 32768, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 16, "detail": { "function": 0, "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 35, "prog_if": 48 }, "driver": "xhci_hcd", @@ -6687,29 +5728,12 @@ "model": "AMD USB Controller", "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:0c:00.3", "sysfs_bus_id": "0000:0c:00.3", - "sysfs_iommu_group_id": 20, - "resources": [ - { - "type": "irq", - "base": 71, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4229955584, - "range": 1048576, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], + "sysfs_iommu_group_id": 21, "detail": { "function": 3, "command": 1031, "header_type": 0, "secondary_bus": 0, - "irq": 71, "prog_if": 48 }, "driver": "xhci_hcd", @@ -6893,38 +5917,40 @@ ] } ], - "chassis": { - "handle": 3, - "manufacturer": "Default string", - "version": "Default string", - "chassis_type": { - "hex": "0003", - "name": "Desktop", - "value": 3 - }, - "lock_present": false, - "bootup_state": { - "hex": "0003", - "name": "Safe", - "value": 3 - }, - "power_state": { - "hex": "0003", - "name": "Safe", - "value": 3 - }, - "thermal_state": { - "hex": "0003", - "name": "Safe", - "value": 3 - }, - "security_state": { - "hex": "0003", - "name": "None", - "value": 3 - }, - "oem": "0x0" - }, + "chassis": [ + { + "handle": 3, + "manufacturer": "Default string", + "version": "Default string", + "chassis_type": { + "hex": "0003", + "name": "Desktop", + "value": 3 + }, + "lock_present": false, + "bootup_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "power_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "security_state": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "oem": "0x0" + } + ], "config": { "handle": 6, "options": [ @@ -6971,7 +5997,7 @@ "name": "None", "value": 3 }, - "max_size": 134217728, + "max_size": "0x8000000", "error_handle": 10, "slots": 4 } @@ -6980,15 +6006,15 @@ { "handle": 12, "array_handle": 11, - "start_address": 0, - "end_address": 3221225472, + "start_address": "0x0", + "end_address": "0xc0000000", "part_width": 2 }, { "handle": 13, "array_handle": 11, - "start_address": 4294967296, - "end_address": 35433480192, + "start_address": "0x100000000", + "end_address": "0x840000000", "part_width": 2 } ], @@ -7107,8 +6133,8 @@ "handle": 22, "memory_device_handle": 21, "array_map_handle": 13, - "start_address": 0, - "end_address": 34359738368, + "start_address": "0x0", + "end_address": "0x800000000", "row_position": 255, "interleave_position": 255, "interleave_depth": 255 @@ -7117,8 +6143,8 @@ "handle": 27, "memory_device_handle": 26, "array_map_handle": 13, - "start_address": 0, - "end_address": 34359738368, + "start_address": "0x0", + "end_address": "0x800000000", "row_position": 255, "interleave_position": 255, "interleave_depth": 255 @@ -7143,8 +6169,8 @@ "value": 2 }, "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, + "array_address": "0x80000000", + "device_address": "0x80000000", "range": 2147483648 }, { @@ -7165,8 +6191,8 @@ "value": 2 }, "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, + "array_address": "0x80000000", + "device_address": "0x80000000", "range": 2147483648 }, { @@ -7187,8 +6213,8 @@ "value": 2 }, "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, + "array_address": "0x80000000", + "device_address": "0x80000000", "range": 2147483648 }, { @@ -7209,8 +6235,8 @@ "value": 2 }, "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, + "array_address": "0x80000000", + "device_address": "0x80000000", "range": 2147483648 }, { @@ -7231,8 +6257,8 @@ "value": 2 }, "syndrome": 0, - "array_address": 2147483648, - "device_address": 2147483648, + "array_address": "0x80000000", + "device_address": "0x80000000", "range": 2147483648 } ], @@ -7654,9 +6680,9 @@ "product": "B550 AORUS ELITE V2", "version": "Default string", "wake_up": { - "hex": "0006", - "name": "Power Switch", - "value": 6 + "hex": "0007", + "name": "PCI PME#", + "value": 7 } } } diff --git a/templates/home/default.nix b/templates/home/default.nix index c7717c0..adec372 100644 --- a/templates/home/default.nix +++ b/templates/home/default.nix @@ -9,6 +9,7 @@ let name = config.snowfallorg.user.name; home = config.snowfallorg.user.home.directory; in { + imports = lib.snowfall.fs.get-non-default-nix-files ./.; home = { packages = with pkgs; [ librewolf diff --git a/templates/overlay/default.nix b/templates/overlay/default.nix index 8ccc207..bc482bb 100644 --- a/templates/overlay/default.nix +++ b/templates/overlay/default.nix @@ -1,3 +1,15 @@ -channels: (final: prev: { - package = prev.package.override {}; -}) +{ + # Channels are named after NixPkgs instances in your flake inputs. For example, + # with the input `nixpkgs` there will be a channel available at `channels.nixpkgs`. + # These channels are system-specific instances of NixPkgs that can be used to quickly + # pull packages into your overlay. + channels, + namespace, + inputs, + ... +}: final: prev: { + # For example, to pull a package from unstable NixPkgs + inherit (channels.unstable) chromium; + + my-package = inputs.my-input.packages.${prev.system}.my-package; +} diff --git a/templates/system/default.nix b/templates/system/default.nix index e60108a..148689e 100644 --- a/templates/system/default.nix +++ b/templates/system/default.nix @@ -11,27 +11,7 @@ config, ... }: { - imports = [./hardware-configuration.nix]; - - # Enable Bootloader (EFI or BIOS) - #system.boot.efi.enable = true; - #system.boot.bios.enable = true; - - # Better battery life on laptops - # system.battery.enable = true; - - # suites.desktop.enable = true; - # suites.development.enable = true; - - # suites.server.enable = true; - - # Nvidia Drivers - # hardware.nvidia.enable = true; - - # Add packages (custom for ones in these dotfiles) - # environment.systemPackages = with pkgs; [ - # ${namespace}.package - # ]; + facter.reportPath = ./facter.json; # ======================== DO NOT CHANGE THIS ======================== system.stateVersion = "25.05";