From 07f84bb581e369ff79100f0417e9d277f3c1fb61 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Wed, 12 Feb 2025 08:19:04 +0100 Subject: alot of stuff --- configuration/core/default.nix | 10 - configuration/core/packages.nix | 21 - configuration/core/services.nix | 10 - configuration/core/settings.nix | 8 - configuration/core/tailscale.nix | 6 - configuration/core/users.nix | 44 - configuration/home-manager/ansible.nix | 7 - configuration/home-manager/core/default.nix | 74 - configuration/home-manager/core/helix.nix | 42 - configuration/home-manager/core/shell.nix | 69 - configuration/home-manager/frontend-dev.nix | 20 - configuration/home-manager/hostnet.nix | 55 - configuration/home-manager/hyprland.nix | 297 -- configuration/home-manager/php.nix | 13 - configuration/home-manager/python.nix | 29 - configuration/home-manager/tarrel.nix | 38 - configuration/hyprland.nix | 63 - configuration/snorlax/default.nix | 34 - configuration/snorlax/disk-config.nix | 58 - configuration/snorlax/facter.json | 3833 ----------------------- configuration/snorlax/git.nix | 71 - configuration/snorlax/nginx.nix | 21 - configuration/snorlax/samba.nix | 37 - configuration/tarrel/default.nix | 51 - configuration/tarrel/hardware-configuration.nix | 40 - configuration/tarrel/home-manager.nix | 42 - configuration/work/default.nix | 43 - configuration/work/hardware-configuration.nix | 41 - configuration/work/home-manager.nix | 81 - configuration/work/networking.nix | 87 - configuration/work/secrets.nix | 13 - flake.lock | Bin 24358 -> 26332 bytes flake.nix | 36 +- modules/core/default.nix | 10 + modules/core/packages.nix | 21 + modules/core/services.nix | 10 + modules/core/settings.nix | 8 + modules/core/tailscale.nix | 6 + modules/core/users.nix | 44 + modules/home-manager/ansible.nix | 7 + modules/home-manager/core/default.nix | 74 + modules/home-manager/core/helix.nix | 42 + modules/home-manager/frontend-dev.nix | 20 + modules/home-manager/hostnet.nix | 55 + modules/home-manager/hyprland.nix | 297 ++ modules/home-manager/php.nix | 13 + modules/home-manager/python.nix | 29 + modules/home-manager/tarrel.nix | 38 + modules/hyprland.nix | 63 + modules/snorlax/default.nix | 36 + modules/snorlax/disk-config.nix | 58 + modules/snorlax/facter.json | 3833 +++++++++++++++++++++++ modules/snorlax/git.nix | 71 + modules/snorlax/networking.nix | 28 + modules/snorlax/nginx.nix | 21 + modules/snorlax/samba.nix | 37 + modules/snorlax/uvm.nix | 6 + modules/tarrel/default.nix | 51 + modules/tarrel/hardware-configuration.nix | 40 + modules/tarrel/home-manager.nix | 42 + modules/work/default.nix | 43 + modules/work/hardware-configuration.nix | 41 + modules/work/home-manager.nix | 81 + modules/work/networking.nix | 87 + modules/work/secrets.nix | 13 + 65 files changed, 5244 insertions(+), 5275 deletions(-) delete mode 100644 configuration/core/default.nix delete mode 100644 configuration/core/packages.nix delete mode 100644 configuration/core/services.nix delete mode 100644 configuration/core/settings.nix delete mode 100644 configuration/core/tailscale.nix delete mode 100644 configuration/core/users.nix delete mode 100644 configuration/home-manager/ansible.nix delete mode 100644 configuration/home-manager/core/default.nix delete mode 100644 configuration/home-manager/core/helix.nix delete mode 100644 configuration/home-manager/core/shell.nix delete mode 100644 configuration/home-manager/frontend-dev.nix delete mode 100644 configuration/home-manager/hostnet.nix delete mode 100644 configuration/home-manager/hyprland.nix delete mode 100644 configuration/home-manager/php.nix delete mode 100644 configuration/home-manager/python.nix delete mode 100644 configuration/home-manager/tarrel.nix delete mode 100644 configuration/hyprland.nix delete mode 100644 configuration/snorlax/default.nix delete mode 100644 configuration/snorlax/disk-config.nix delete mode 100644 configuration/snorlax/facter.json delete mode 100644 configuration/snorlax/git.nix delete mode 100644 configuration/snorlax/nginx.nix delete mode 100644 configuration/snorlax/samba.nix delete mode 100644 configuration/tarrel/default.nix delete mode 100644 configuration/tarrel/hardware-configuration.nix delete mode 100644 configuration/tarrel/home-manager.nix delete mode 100644 configuration/work/default.nix delete mode 100644 configuration/work/hardware-configuration.nix delete mode 100644 configuration/work/home-manager.nix delete mode 100644 configuration/work/networking.nix delete mode 100644 configuration/work/secrets.nix create mode 100644 modules/core/default.nix create mode 100644 modules/core/packages.nix create mode 100644 modules/core/services.nix create mode 100644 modules/core/settings.nix create mode 100644 modules/core/tailscale.nix create mode 100644 modules/core/users.nix create mode 100644 modules/home-manager/ansible.nix create mode 100644 modules/home-manager/core/default.nix create mode 100644 modules/home-manager/core/helix.nix create mode 100644 modules/home-manager/frontend-dev.nix create mode 100644 modules/home-manager/hostnet.nix create mode 100644 modules/home-manager/hyprland.nix create mode 100644 modules/home-manager/php.nix create mode 100644 modules/home-manager/python.nix create mode 100644 modules/home-manager/tarrel.nix create mode 100644 modules/hyprland.nix create mode 100644 modules/snorlax/default.nix create mode 100644 modules/snorlax/disk-config.nix create mode 100644 modules/snorlax/facter.json create mode 100644 modules/snorlax/git.nix create mode 100644 modules/snorlax/networking.nix create mode 100644 modules/snorlax/nginx.nix create mode 100644 modules/snorlax/samba.nix create mode 100644 modules/snorlax/uvm.nix create mode 100644 modules/tarrel/default.nix create mode 100644 modules/tarrel/hardware-configuration.nix create mode 100644 modules/tarrel/home-manager.nix create mode 100644 modules/work/default.nix create mode 100644 modules/work/hardware-configuration.nix create mode 100644 modules/work/home-manager.nix create mode 100644 modules/work/networking.nix create mode 100644 modules/work/secrets.nix diff --git a/configuration/core/default.nix b/configuration/core/default.nix deleted file mode 100644 index 7ec63e4..0000000 --- a/configuration/core/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ ... }: -{ - imports = [ - ./users.nix - ./services.nix - ./settings.nix - ./packages.nix - ./tailscale.nix - ]; -} diff --git a/configuration/core/packages.nix b/configuration/core/packages.nix deleted file mode 100644 index 37d1562..0000000 --- a/configuration/core/packages.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = with pkgs; [ - git - git-crypt - helix - devenv - - busybox - usbutils - dig - file - gcc - jq - netcat - tcpdump - wget - iftop - htop - ]; -} diff --git a/configuration/core/services.nix b/configuration/core/services.nix deleted file mode 100644 index f3d1d24..0000000 --- a/configuration/core/services.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ lib, ... }: -{ - services = { - openssh = { - enable = true; - openFirewall = lib.mkDefault false; - settings.AllowUsers = [ "jras" ]; - }; - }; -} diff --git a/configuration/core/settings.nix b/configuration/core/settings.nix deleted file mode 100644 index e7a7b2e..0000000 --- a/configuration/core/settings.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - nixpkgs.config.allowUnfree = true; - nix.settings = { - experimental-features = [ "nix-command" "flakes" ]; - trusted-users = [ "root" "jras" ]; - }; -} diff --git a/configuration/core/tailscale.nix b/configuration/core/tailscale.nix deleted file mode 100644 index 0d7c456..0000000 --- a/configuration/core/tailscale.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - services.tailscale = { - enable = true; - }; -} diff --git a/configuration/core/users.nix b/configuration/core/users.nix deleted file mode 100644 index b1a30ed..0000000 --- a/configuration/core/users.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ lib, pkgs, inputs, ... }: -{ - programs.zsh.enable = true; - - security.sudo.execWheelOnly = lib.mkDefault true; - security.sudo.wheelNeedsPassword = lib.mkDefault false; - - users.users.jras = { - createHome = true; - isNormalUser = true; - extraGroups = [ "wheel" ]; - shell = pkgs.zsh; - packages = with pkgs; [ git helix curl ]; - openssh.authorizedKeys.keyFiles = [ ../../keys/id_tarrel.pub ../../keys/id_work.pub ]; - }; - - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; - - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.jras = { - imports = [ ../home-manager/core ]; - - home.username = "jras"; - home.homeDirectory = "/home/jras"; - - programs.git = { - userName = lib.mkDefault "Jasper Ras"; - userEmail = lib.mkDefault "jaspert.ras@gmail.com"; - }; - }; -} diff --git a/configuration/home-manager/ansible.nix b/configuration/home-manager/ansible.nix deleted file mode 100644 index 67aff1c..0000000 --- a/configuration/home-manager/ansible.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - ansible-language-server - ansible-lint - ]; -} diff --git a/configuration/home-manager/core/default.nix b/configuration/home-manager/core/default.nix deleted file mode 100644 index 9c33f66..0000000 --- a/configuration/home-manager/core/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ pkgs, inputs, ... }: -{ - - imports = [ - ./helix.nix - ./shell.nix - ]; - - home.packages = [ - pkgs.gnumake - pkgs.git-crypt - pkgs.bitwarden-cli - - pkgs.fd - pkgs.glow - pkgs.eza - - pkgs.nixfmt-rfc-style - inputs.nil.packages."${pkgs.system}".nil - ]; - - programs.ripgrep.enable = true; - programs.btop.enable = true; - - programs.zoxide = { - enable = true; - options = [ "--cmd cd" ]; - }; - programs.fzf.enable = true; - - programs.direnv = { - enable = true; - nix-direnv.enable = true; - }; - - programs.git = { - enable = true; - aliases = { - b = "branch"; - f = "fetch"; - p = "pull"; - s = "status"; - co = "checkout"; - pu = "push"; - nb = "checkout -b"; - db = "branch -D"; - lg = - "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; - praise = "blame"; - bump = "!git bump"; - ae = "!git add -A && git commit --amend"; - ad = "commit --amend"; - ac = "!git add -A && git commit"; - rmbs = - "!git branch | grep -wv master | grep -wv main | xargs git branch -D"; - }; - extraConfig = { - pull.rebase = false; - init.defaultBranch = "main"; - }; - }; - - services.ssh-agent.enable = true; - programs.ssh = { - enable = true; - package = "${pkgs.openssh}"; - addKeysToAgent = "yes"; - }; - - programs.taskwarrior = { - enable = true; - package = "${pkgs.taskwarrior3}"; - }; -} diff --git a/configuration/home-manager/core/helix.nix b/configuration/home-manager/core/helix.nix deleted file mode 100644 index 42861ce..0000000 --- a/configuration/home-manager/core/helix.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ pkgs, inputs, ... }: -{ - home.sessionVariables = { EDITOR = "hx"; }; - home.file = { - helix-ferra = { - source = ../../../assets/helix-wavez.toml; - target = ".config/helix/themes/wavez.toml"; - }; - }; - - programs.helix = { - enable = true; - package = inputs.helix.packages."${pkgs.system}".helix; - defaultEditor = true; - settings = { - theme = "wavez"; - keys.normal = { - space.F = "file_picker_in_current_buffer_directory"; - }; - editor = { - end-of-line-diagnostics = "hint"; - line-number = "relative"; - bufferline = "always"; - auto-save = false; - - inline-diagnostics = { - cursor-line = "error"; - }; - - lsp = { - enable = true; - display-messages = true; - }; - - indent-guides = { - render = true; - skip-levels = 1; - }; - }; - }; - }; -} diff --git a/configuration/home-manager/core/shell.nix b/configuration/home-manager/core/shell.nix deleted file mode 100644 index 183b9ae..0000000 --- a/configuration/home-manager/core/shell.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ pkgs, lib, ... }: -{ - programs.zsh = { - enable = true; - defaultKeymap = "emacs"; - initExtra = '' - # https://github.com/jeffreytse/zsh-vi-mode - source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh - ''; - shellAliases = { - g = "git"; - }; - }; - - programs.starship = { - enable = true; - settings = { - directory.style = "blue"; - - format = lib.concatStrings [ - "$username" - "$hostname" - "$directory" - "$git_branch" - "$git_state" - "$git_status" - "$cmd_duration" - "$line_break" - "$python" - "$openstack" - "$character" - ]; - - character = { - success_symbol = "[❯](purple)"; - error_symbol = "[❯](red)"; - vimcmd_symbol = "[❮](green)"; - }; - - git_branch = { - format = "[$branch]($style)"; - style = "bright-black"; - }; - - git_status = { - format = - "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)"; - style = "cyan"; - conflicted = "​"; - untracked = "​"; - modified = "​"; - staged = "​"; - renamed = "​"; - deleted = "​"; - stashed = "≡"; - }; - - git_state = { - format = "'([$state( $progress_current/$progress_total)]($style))' "; - style = "bright-black"; - }; - - cmd_duration = { - format = "[$duration]($style) "; - style = "yellow"; - }; - }; - }; -} diff --git a/configuration/home-manager/frontend-dev.nix b/configuration/home-manager/frontend-dev.nix deleted file mode 100644 index 3a957cd..0000000 --- a/configuration/home-manager/frontend-dev.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - dart-sass - tailwindcss - tailwindcss-language-server - vscode-langservers-extracted - ]; - - programs.helix.languages.language = [ - { - name = "html"; - language-servers = [ "vscode-html-language-server" "tailwindcss-language-server" ]; - } - { - name = "css"; - language-servers = [ "vscode-css-language-server" "tailwindcss-language-server" ]; - } - ]; -} diff --git a/configuration/home-manager/hostnet.nix b/configuration/home-manager/hostnet.nix deleted file mode 100644 index b8f6418..0000000 --- a/configuration/home-manager/hostnet.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ config, pkgs, ... }: -let - nodePkgs = pkgs.nodePackages; - homeDir = "${config.home.homeDirectory}"; - llamaDir = "${homeDir}/.llama"; - apache2Dir = "${homeDir}/.apache2"; - httpd = "${pkgs.apacheHttpd}/bin/httpd"; -in { - home.packages = [ - pkgs.pre-commit - nodePkgs.webpack - nodePkgs.webpack-cli - - (pkgs.writeShellScriptBin "use-toolbox" '' - source ${config.home.homeDirectory}/projects/toolbox/var/bootstrap.zsh - '') - ]; - - programs = { - rbenv = { - enable = true; - enableZshIntegration = true; - plugins = [{ - name = "ruby-build"; - src = pkgs.fetchFromGitHub { - owner = "rbenv"; - repo = "ruby-build"; - rev = "v20230717"; - hash = "sha256-kvdANiz9R5pQMTBRHvxC5bfBewIhXc+sgRbe7V2rVU8="; - }; - }]; - }; - }; - - systemd.user.services.llama = { - Unit.Description = "Hostnet Apache LLama"; - Service = { - ExecStartPre = "${llamaDir}/se-vhosts.sh"; - ExecStart = "${httpd} -f ${llamaDir}/apache2.conf -DFOREGROUND"; - RestartSec = "2"; - Restart = "always"; - Environment = [ - "APACHE_RUN_DIR=${apache2Dir}" - "APACHE_CONFDIR=${llamaDir}" - "APACHE_RUN_USER=${config.home.username}" - "APACHE_RUN_GROUP=${config.home.username}" - "APACHE_PID_FILE=${homeDir}/.apache2.pid" - "APACHE_RUN_FILE=${apache2Dir}/run" - "APACHE_LOCK_FILE=${apache2Dir}/lock" - "APACHE_LOG_FILE=${apache2Dir}/log" - ]; - }; - Install.WantedBy = [ "default.target" ]; - }; -} diff --git a/configuration/home-manager/hyprland.nix b/configuration/home-manager/hyprland.nix deleted file mode 100644 index 77bb675..0000000 --- a/configuration/home-manager/hyprland.nix +++ /dev/null @@ -1,297 +0,0 @@ -{ pkgs, inputs, ... }: -let - wallpaper = ../../assets/wallpaper.jpg; -in -{ - home.packages = with pkgs; [ - rofi-wayland-unwrapped - rofi-rbw-wayland - grimblast - hyprpicker - wl-clipboard - ]; - - # Required for hyprpicker's cursor but also seems to fix some icons for astal - home.pointerCursor = { - gtk.enable = true; - package = pkgs.adwaita-icon-theme; - name = "Adwaita"; - size = 16; - }; - - services.wlsunset.enable = true; - services.wlsunset.sunrise = "06:00"; - services.wlsunset.sunset = "17:00"; - - wayland.windowManager.hyprland.enable = true; - wayland.windowManager.hyprland.systemd.enable = true; - wayland.windowManager.hyprland.plugins = [ - inputs.hy3.packages.x86_64-linux.hy3 - ]; - - wayland.windowManager.hyprland.settings = { - "$terminal" = "alacritty"; - "$mod" = "SUPER"; - - exec-once = [ ]; - - debug = { - "disable_logs" = false; - }; - - general = { - "layout" = "hy3"; - "border_size" = 2; - "col.active_border" = "rgba(fe8423ee) rgba(e11701ee) 45deg"; - "col.inactive_border" = "rgba(595959aa)"; - }; - - monitor = [ - "Unknown-1, disable" - ",preferred,auto,auto" - ]; - - xwayland = { - force_zero_scaling = true; - }; - - animations = { - bezier = [ - "easeOutQuint,0.23,1,0.32,1" - "easeInOutCubic,0.65,0.05,0.36,1" - "linear,0,0,1,1" - "almostLinear,0.5,0.5,0.75,1.0" - "quick,0.15,0,0.1,1" - ]; - animation = [ - "global, 1, 10, default" - "border, 1, 5.39, easeOutQuint" - "windows, 1, 4.79, easeOutQuint" - "windowsIn, 1, 4.1, easeOutQuint, popin 87%" - "windowsOut, 1, 1.49, linear, popin 87%" - "fadeIn, 1, 1.73, almostLinear" - "fadeOut, 1, 1.46, almostLinear" - "fade, 1, 3.03, quick" - "layers, 1, 3.81, easeOutQuint" - "layersIn, 1, 4, easeOutQuint, fade" - "layersOut, 1, 1.5, linear, fade" - "fadeLayersIn, 1, 1.79, almostLinear" - "fadeLayersOut, 1, 1.39, almostLinear" - "workspaces, 1, 1.94, almostLinear, fade" - ]; - }; - - decoration = { - "rounding" = 5; - "inactive_opacity" = 0.8; - }; - - bind = - [ - "$mod, Return, exec, alacritty" - "$mod, Semicolon, hy3:makegroup, h" - "$mod, D, exec, ${pkgs.rofi-wayland-unwrapped}/bin/rofi -show drun" - "$mod, F, fullscreen, 1" - "$mod, H, hy3:movefocus, l" - "$mod, J, hy3:movefocus, d" - "$mod, K, hy3:movefocus, u" - "$mod, L, hy3:movefocus, r" - "$mod, P, exec, ${pkgs.grimblast}/bin/grimblast copy area" - "$mod, Q, exec, ${pkgs.hyprlock}/bin/hyprlock" - "$mod, V, hy3:makegroup, v" - "$mod, W, hy3:changegroup, toggletab" - "$mod, X, movecurrentworkspacetomonitor, +1" - - "$mod SHIFT, C, exec, ${pkgs.hyprpicker}/bin/hyprpicker -a -f hex" - "$mod SHIFT, D, exec, ${pkgs.rofi-rbw-wayland}/bin/rofi-rbw" - "$mod SHIFT, H, hy3:movewindow, l" - "$mod SHIFT, J, hy3:movewindow, d" - "$mod SHIFT, K, hy3:movewindow, u" - "$mod SHIFT, L, hy3:movewindow, r" - "$mod SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast copy screen" - "$mod SHIFT, Q, hy3:killactive" - ] - ++ ( - builtins.concatLists (builtins.genList (i: - let ws = i + 1; - in [ - "$mod, code:1${toString i}, workspace, ${toString ws}" - "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" - ] - ) - 9) - ); - - plugin = { - hy3 = { - tabs = { - "col.active" = "0xFFFE8423"; - "col.inactive" = "0xFF103543"; - "col.text.inactive" = "0xFFFECDB2"; - }; - }; - }; - }; - - services.hyprpaper.enable = true; - services.hyprpaper.settings = { - preload = [ "${wallpaper}" ]; - wallpaper = [ ",${wallpaper}" ]; - }; - services.hypridle.enable = true; - services.hypridle.settings = { - general = { - lock_cmd = "pidof hyprlock || hyprlock"; - }; - - listener = [ - { - timeout = 120; - on-timeout = "brightnessctl -s set 10"; - on-resume = "brightnessctl -r"; - } - { - timeout = 300; - on-timeout = "pidof hyprlock || hyprlock"; - } - { - timeout = 600; - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - ]; - }; - - programs.hyprlock.enable = true; - programs.hyprlock.settings = { - background = [ - { path = "${wallpaper}"; - blur_passes = 2; - monitor = ""; - } - ]; - - general = { - no_fade_in = true; - no_fade_out = true; - hide_cursor = false; - disable_loading_bar = true; - grace = 0; - }; - - input-field = [ - { - monitor = ""; - size = "250, 60"; - outline_thickness = 2; - dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.35; # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = true; - outer_color = "rgba(0, 0, 0, 0)"; - inner_color = "rgba(0, 0, 0, 0.2)"; - font_color = "$foreground"; - fade_on_empty = false; - rounding = -1; - check_color = "rgb(204, 136, 34)"; - placeholder_text = "Input Password..."; - hide_input = false; - position = "0, -200"; - halign = "center"; - valign = "center"; - } - ]; - }; - - programs.alacritty = { - enable = true; - settings = { - window = { - padding = { x = 5; y = 2; }; - }; - env = { TERM = "alacritty-direct"; }; - terminal.shell = { - program = "${pkgs.zsh}/bin/zsh"; - args = [ "-l" ]; - }; - } // builtins.fromJSON (builtins.readFile ../../assets/alacritty-wavez.json); - }; - - xdg.mimeApps = { - enable = true; - defaultApplications = { - "x-scheme-handler/http" = "firefox.desktop"; - "x-scheme-handler/https" = "firefox.desktop"; - "x-scheme-handler/chrome" = "firefox.desktop"; - "text/html" = "firefox.desktop"; - "application/x-extension-htm" = "firefox.desktop"; - "application/x-extension-html" = "firefox.desktop"; - "application/x-extension-shtml" = "firefox.desktop"; - "application/xhtml+xml" = "firefox.desktop"; - "application/x-extension-xhtml" = "firefox.desktop"; - "application/x-extension-xht" = "firefox.desktop"; - }; - associations.added = { - "x-scheme-handler/http" = "firefox.desktop"; - "x-scheme-handler/https" = "firefox.desktop"; - "x-scheme-handler/chrome" = "firefox.desktop"; - "text/html" = "firefox.desktop"; - "application/x-extension-htm" = "firefox.desktop"; - "application/x-extension-html" = "firefox.desktop"; - "application/x-extension-shtml" = "firefox.desktop"; - "application/xhtml+xml" = "firefox.desktop"; - "application/x-extension-xhtml" = "firefox.desktop"; - "application/x-extension-xht" = "firefox.desktop"; - }; - }; - - programs.rbw.enable = true; - programs.rbw.settings = { - email = "jaspert.ras@gmail.com"; - pinentry = pkgs.pinentry-gnome3; - }; - - systemd.user.services.hypr-events = { - Unit = { - Description = "Listens on Hypr's socket2 for events and handles them"; - After = [ "graphical-session-pre.target" ]; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - - Service = { - Type = "exec"; - ExecStart = pkgs.writeShellScript "hyprevents" '' - reload_astal() { - systemctl --user restart astal - } - - handle() { - case $1 in - monitoradded*) reload_astal ;; - monitorremoved*) reload_astal ;; - esac - } - - ${pkgs.socat}/bin/socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -r line; do handle "$line"; done - ''; - }; - }; - - systemd.user.services.astal = { - Unit = { - Description = "Runs the astal bar instance"; - After = [ "graphical-session-pre.target" ]; - }; - - Service = { - Type = "exec"; - ExecStart = "${inputs.astal-bar.packages.x86_64-linux.default}/bin/astal-bar"; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - }; -} diff --git a/configuration/home-manager/php.nix b/configuration/home-manager/php.nix deleted file mode 100644 index ab56f44..0000000 --- a/configuration/home-manager/php.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - programs.helix.languages.language-server.intelephense = with pkgs.nodePackages; { - command = "${intelephense}/bin/intelephense"; - }; - - programs.git.ignores = [ - ".phpactor.json" - ".phpcomplete_extended/" - ".phpunit.result.cache" - ".phpcs.xml" - ]; -} diff --git a/configuration/home-manager/python.nix b/configuration/home-manager/python.nix deleted file mode 100644 index 464fc39..0000000 --- a/configuration/home-manager/python.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ - pkgs.pyright - pkgs.black - pkgs.ruff - ]; - - programs.helix.languages = { - language = [ - { - name = "python"; - language-servers = [ "pyright" "ruff" ]; - formatter = { command = "black"; args = ["--line-length" "88" "--quiet" "-"]; }; - auto-format = true; - } - ]; - language-server.pyright.config.python.analysis = { typeCheckingMode = "basic"; }; - language-server.ruff = { command = "ruff"; }; - language-server.ruff.config.setting = { args = ["--ignore" "E501" ]; }; - }; - - programs.starship.settings = { - python = { - format = "[$virtualenv]($style) "; - style = "bright-black"; - }; - }; -} diff --git a/configuration/home-manager/tarrel.nix b/configuration/home-manager/tarrel.nix deleted file mode 100644 index a8ddb9f..0000000 --- a/configuration/home-manager/tarrel.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ../home-manager/core - ../home-manager/hyprland.nix - ]; - - home.username = "jras"; - home.homeDirectory = "/home/jras"; - home.stateVersion = "23.11"; - - programs.git = { - userName = "Jasper Ras"; - userEmail = "jaspert.ras@gmail.com"; - }; - - home.file = { - gamestream-start = { - text = '' - #!${pkgs.zsh}/bin/zsh - ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,1920x1080@59.94,auto,2 - ''; - target = "bin/gamestream-start"; - executable = true; - }; - gamestream-end = { - text = '' - #!${pkgs.zsh}/bin/zsh - ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,preferred,auto,1 - ''; - target = "bin/gamestream-end"; - executable = true; - }; - }; - - programs.zsh.envExtra = "export PATH=$HOME/bin:$PATH"; - }; -} diff --git a/configuration/hyprland.nix b/configuration/hyprland.nix deleted file mode 100644 index 92d5ee2..0000000 --- a/configuration/hyprland.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ inputs, pkgs, ... }: -{ - # find a better home: - environment.systemPackages = with pkgs; [ - kitty - alacritty - firefox - whatsapp-for-linux - obsidian - ]; - - nix.settings = { - substituters = ["https://hyprland.cachix.org"]; - trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; - }; - - programs.hyprland = { - enable = true; - xwayland.enable = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - }; - - # Some of these do not belong here - services = { - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - keyd = { - enable = true; - keyboards = { - default = { - ids = [ "*" ]; - settings.main.capslock = "overload(meta, esc)"; - }; - }; - }; - greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.hyprland}/bin/Hyprland"; - user = "jras"; - }; - }; - }; - gnome.gnome-keyring.enable = true; - }; - systemd.user.services.kanshi = { - description = "kanshi daemon"; - environment = { - WAYLAND_DISPLAY="wayland-1"; - DISPLAY=":0"; - }; - serviceConfig = { - Type = "simple"; - ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; - }; - }; -} diff --git a/configuration/snorlax/default.nix b/configuration/snorlax/default.nix deleted file mode 100644 index 5771eb0..0000000 --- a/configuration/snorlax/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, ... }: -{ - imports = [ - ./disk-config.nix - ./git.nix - ./samba.nix - ./nginx.nix - - ../core - ]; - - system.stateVersion = "24.11"; - - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "snorlax"; - networking.hostId = "1d1ebf34"; - - time.timeZone = "Europe/Amsterdam"; - - programs.mtr.enable = true; - services.openssh = { - enable = true; - allowSFTP = false; - settings = { - PermitRootLogin = "no"; - AllowUsers = [ "jras" ]; - }; - openFirewall = lib.mkForce true; - }; - - home-manager.users.jras = { home.stateVersion = "24.11"; }; -} diff --git a/configuration/snorlax/disk-config.nix b/configuration/snorlax/disk-config.nix deleted file mode 100644 index 9bac5f0..0000000 --- a/configuration/snorlax/disk-config.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - disko.devices = { - disk = { - sda = { - device = "/dev/sda"; - type = "disk"; - content = { - type = "gpt"; - partitions = { - ESP = { - type = "EF00"; - size = "64M"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ "umask=0077" ]; - }; - }; - zfs = { - size = "100%"; - content = { - type = "zfs"; - pool = "zroot"; - }; - }; - }; - }; - }; - }; - - zpool = { - zroot = { - type = "zpool"; - rootFsOptions = { - compression = "zstd"; - "com.sun:auto-snapshot" = "false"; - }; - mountpoint = "/"; - postCreateHook = "zfs list -t snap -H -o name | grep -E '^zroot@blank$' || zfs snapshot zroot@blank"; - - datasets = { - git = { - type = "zfs_fs"; - mountpoint = "/var/lib/git"; - options."com.sun:auto-snapshot" = "true"; - }; - - samba = { - type = "zfs_fs"; - mountpoint = "/srv/samba"; - options."com.sun:auto-snapshot" = "true"; - }; - }; - }; - }; - }; -} diff --git a/configuration/snorlax/facter.json b/configuration/snorlax/facter.json deleted file mode 100644 index 572dc4c..0000000 --- a/configuration/snorlax/facter.json +++ /dev/null @@ -1,3833 +0,0 @@ -{ - "version": 1, - "system": "x86_64-linux", - "virtualisation": "none", - "hardware": { - "bios": { - "apm_info": { - "supported": false, - "enabled": false, - "version": 0, - "sub_version": 0, - "bios_flags": 0 - }, - "vbe_info": { - "version": 0, - "video_memory": 0 - }, - "pnp": true, - "pnp_id": 0, - "lba_support": false, - "low_memory_size": 645120, - "smbios_version": 519 - }, - "bridge": [ - { - "index": 9, - "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 31 - }, - "base_class": { - "hex": "0006", - "name": "Bridge", - "value": 6 - }, - "sub_class": { - "hex": "0001", - "name": "ISA bridge", - "value": 1 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e47", - "value": 7751 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel ISA bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", - "sysfs_bus_id": "0000:00:1f.0", - "detail": { - "function": 0, - "command": 7, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "driver": "lpc_ich", - "driver_module": "lpc_ich", - "drivers": [ - "lpc_ich" - ], - "driver_modules": [ - "lpc_ich" - ], - "module_alias": "pci:v00008086d00001E47sv00001028sd00000577bc06sc01i00" - }, - { - "index": 14, - "attached_to": 0, - "class_list": [ - "pci", - "bridge" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0006", - "name": "Bridge", - "value": 6 - }, - "sub_class": { - "hex": "0000", - "name": "Host bridge", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "0150", - "value": 336 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0009", - "value": 9 - }, - "model": "Intel Host bridge", - "sysfs_id": "/devices/pci0000:00/0000:00:00.0", - "sysfs_bus_id": "0000:00:00.0", - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "irq": 0, - "prog_if": 0 - }, - "driver": "ivb_uncore", - "driver_module": "intel_uncore", - "drivers": [ - "ivb_uncore" - ], - "driver_modules": [ - "intel_uncore" - ], - "module_alias": "pci:v00008086d00000150sv00001028sd00000577bc06sc00i00" - } - ], - "cdrom": [ - { - "index": 22, - "attached_to": 8, - "class_list": [ - "cdrom", - "scsi", - "block_device" - ], - "bus_type": { - "hex": "0084", - "name": "SCSI", - "value": 132 - }, - "slot": { - "bus": 1, - "number": 0 - }, - "base_class": { - "hex": "0106", - "name": "Mass Storage Device", - "value": 262 - }, - "sub_class": { - "hex": "0002", - "name": "CD-ROM", - "value": 2 - }, - "pci_interface": { - "hex": "0003", - "name": "DVD", - "value": 3 - }, - "vendor": { - "hex": "0000", - "name": "TSSTcorp", - "value": 0 - }, - "device": { - "hex": "0000", - "name": "DVD-ROM SN-108BB", - "value": 0 - }, - "revision": { - "hex": "0000", - "name": "D200", - "value": 0 - }, - "model": "TSSTcorp DVD-ROM SN-108BB", - "sysfs_id": "/class/block/sr0", - "sysfs_bus_id": "1:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0", - "unix_device_name": "/dev/sr0", - "unix_device_number": { - "type": 98, - "major": 11, - "minor": 0, - "range": 1 - }, - "unix_device_names": [ - "/dev/cdrom", - "/dev/disk/by-diskseq/11", - "/dev/disk/by-id/ata-TSSTcorp_DVD-ROM_SN-108BB_R8N96GKD100791", - "/dev/disk/by-path/pci-0000:00:1f.2-ata-2", - "/dev/disk/by-path/pci-0000:00:1f.2-ata-2.0", - "/dev/sr0" - ], - "unix_device_name2": "/dev/sg1", - "unix_device_number2": { - "type": 99, - "major": 21, - "minor": 1, - "range": 1 - }, - "driver": "ahci", - "driver_module": "ahci", - "drivers": [ - "ahci", - "sr" - ], - "driver_modules": [ - "ahci", - "sr_mod" - ] - } - ], - "cpu": [ - { - "architecture": "x86_64", - "vendor_name": "GenuineIntel", - "family": 6, - "model": 58, - "stepping": 9, - "features": [ - "fpu", - "vme", - "de", - "pse", - "tsc", - "msr", - "pae", - "mce", - "cx8", - "apic", - "sep", - "mtrr", - "pge", - "mca", - "cmov", - "pat", - "pse36", - "clflush", - "dts", - "acpi", - "mmx", - "fxsr", - "sse", - "sse2", - "ss", - "ht", - "tm", - "pbe", - "syscall", - "nx", - "rdtscp", - "lm", - "constant_tsc", - "arch_perfmon", - "pebs", - "bts", - "rep_good", - "nopl", - "xtopology", - "nonstop_tsc", - "cpuid", - "aperfmperf", - "pni", - "pclmulqdq", - "dtes64", - "monitor", - "ds_cpl", - "vmx", - "smx", - "est", - "tm2", - "ssse3", - "cx16", - "xtpr", - "pdcm", - "pcid", - "sse4_1", - "sse4_2", - "x2apic", - "popcnt", - "tsc_deadline_timer", - "aes", - "xsave", - "avx", - "f16c", - "rdrand", - "lahf_lm", - "cpuid_fault", - "epb", - "pti", - "tpr_shadow", - "flexpriority", - "ept", - "vpid", - "fsgsbase", - "smep", - "erms", - "xsaveopt", - "dtherm", - "ida", - "arat", - "pln", - "pts", - "vnmi" - ], - "bugs": [ - "cpu_meltdown", - "spectre_v1", - "spectre_v2", - "spec_store_bypass", - "l1tf", - "mds", - "swapgs", - "itlb_multihit", - "srbds", - "mmio_unknown" - ], - "bogo": 6185.66, - "cache": 6144, - "units": 16, - "physical_id": 0, - "siblings": 4, - "cores": 4, - "fpu": true, - "fpu_exception": true, - "cpuid_level": 13, - "write_protect": false, - "clflush_size": 64, - "cache_alignment": 64, - "address_sizes": { - "physical": 36, - "virtual": 48 - } - } - ], - "disk": [ - { - "index": 21, - "attached_to": 18, - "class_list": [ - "disk", - "usb", - "scsi", - "block_device" - ], - "bus_type": { - "hex": "0084", - "name": "SCSI", - "value": 132 - }, - "slot": { - "bus": 6, - "number": 0 - }, - "base_class": { - "hex": "0106", - "name": "Mass Storage Device", - "value": 262 - }, - "sub_class": { - "hex": "0000", - "name": "Disk", - "value": 0 - }, - "vendor": { - "hex": "058f", - "name": "Multiple", - "value": 1423 - }, - "device": { - "hex": "6366", - "name": "Card Reader", - "value": 25446 - }, - "revision": { - "hex": "0000", - "name": "1.00", - "value": 0 - }, - "serial": "058F63666438", - "model": "Multiple Card Reader", - "sysfs_id": "/class/block/sdb", - "sysfs_bus_id": "6:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/host6/target6:0:0/6: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/12", - "/dev/disk/by-id/usb-Multiple_Card_Reader_058F63666438-0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0", - "/dev/disk/by-path/pci-0000:00:14.0-usbv2-0:2:1.0-scsi-0:0:0:0", - "/dev/sdb" - ], - "unix_device_name2": "/dev/sg2", - "unix_device_number2": { - "type": 99, - "major": 21, - "minor": 2, - "range": 1 - }, - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - }, - { - "type": "disk_geo", - "cylinders": 1016, - "heads": 124, - "sectors": 62, - "size": 0, - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 7815168, - "value_2": 512 - } - ], - "driver": "usb-storage", - "driver_module": "usb_storage", - "drivers": [ - "sd", - "usb-storage" - ], - "driver_modules": [ - "sd_mod", - "usb_storage" - ], - "module_alias": "usb:v058Fp6366d0100dc00dsc00dp00ic08isc06ip50in00" - }, - { - "index": 23, - "attached_to": 8, - "class_list": [ - "disk", - "ide", - "block_device" - ], - "bus_type": { - "hex": "0085", - "name": "IDE", - "value": 133 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0106", - "name": "Mass Storage Device", - "value": 262 - }, - "sub_class": { - "hex": "0000", - "name": "Disk", - "value": 0 - }, - "device": { - "hex": "0000", - "name": "ST500LX003-1AC15", - "value": 0 - }, - "revision": { - "hex": "0000", - "name": "DEM4", - "value": 0 - }, - "serial": "W200Q36M", - "model": "ST500LX003-1AC15", - "sysfs_id": "/class/block/sda", - "sysfs_bus_id": "0:0:0:0", - "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0", - "unix_device_name": "/dev/sda", - "unix_device_number": { - "type": 98, - "major": 8, - "minor": 0, - "range": 16 - }, - "unix_device_names": [ - "/dev/disk/by-diskseq/9", - "/dev/disk/by-id/ata-ST500LX003-1AC15G_W200Q36M", - "/dev/disk/by-id/wwn-0x5000c5005e35781a", - "/dev/disk/by-path/pci-0000:00:1f.2-ata-1", - "/dev/disk/by-path/pci-0000:00:1f.2-ata-1.0", - "/dev/sda" - ], - "resources": [ - { - "type": "disk_geo", - "cylinders": 60801, - "heads": 255, - "sectors": 63, - "size": 0, - "geo_type": "logical" - }, - { - "type": "size", - "unit": "sectors", - "value_1": 976773168, - "value_2": 512 - } - ], - "driver": "ahci", - "driver_module": "ahci", - "drivers": [ - "ahci", - "sd" - ], - "driver_modules": [ - "ahci", - "sd_mod" - ] - } - ], - "graphics_card": [ - { - "index": 17, - "attached_to": 0, - "class_list": [ - "graphics_card", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 2 - }, - "base_class": { - "hex": "0003", - "name": "Display controller", - "value": 3 - }, - "sub_class": { - "hex": "0000", - "name": "VGA compatible controller", - "value": 0 - }, - "pci_interface": { - "hex": "0000", - "name": "VGA", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "0152", - "value": 338 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0009", - "value": 9 - }, - "model": "Intel VGA compatible controller", - "sysfs_id": "/devices/pci0000:00/0000:00:02.0", - "sysfs_bus_id": "0000:00:02.0", - "resources": [ - { - "type": "io", - "base": 61440, - "range": 64, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 32, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 3758096384, - "range": 268435456, - "enabled": true, - "access": "read_only", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4152360960, - "range": 4194304, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 786432, - "range": 131072, - "enabled": false, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 32, - "prog_if": 0 - }, - "driver": "i915", - "driver_module": "i915", - "drivers": [ - "i915" - ], - "driver_modules": [ - "i915" - ], - "module_alias": "pci:v00008086d00000152sv00001028sd00000577bc03sc00i00", - "label": "Onboard IGD" - } - ], - "hub": [ - { - "index": 24, - "attached_to": 27, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "1a40", - "value": 6720 - }, - "device": { - "hex": "0101", - "name": "USB 2.0 Hub", - "value": 257 - }, - "revision": { - "hex": "0000", - "name": "1.11", - "value": 0 - }, - "model": "USB 2.0 Hub", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0", - "sysfs_bus_id": "3-3:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v1A40p0101d0111dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 26, - "attached_to": 38, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "8087", - "value": 32903 - }, - "device": { - "hex": "0024", - "value": 36 - }, - "model": "Hub", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0", - "sysfs_bus_id": "2-1:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v8087p0024d0000dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 27, - "attached_to": 18, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "1d6b", - "name": "Linux 6.12.11 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "xHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.12.11 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0", - "sysfs_bus_id": "3-0:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 30, - "attached_to": 18, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "1d6b", - "name": "Linux 6.12.11 xhci-hcd", - "value": 7531 - }, - "device": { - "hex": "0003", - "name": "xHCI Host Controller", - "value": 3 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:14.0", - "model": "Linux 6.12.11 xhci-hcd xHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0", - "sysfs_bus_id": "4-0:1.0", - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 3, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" - }, - { - "index": 33, - "attached_to": 15, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "1d6b", - "name": "Linux 6.12.11 ehci_hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "EHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:1a.0", - "model": "Linux 6.12.11 ehci_hcd EHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1a.0/usb1/1-0:1.0", - "sysfs_bus_id": "1-0:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp00ic09isc00ip00in00" - }, - { - "index": 37, - "attached_to": 33, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "8087", - "value": 32903 - }, - "device": { - "hex": "0024", - "value": 36 - }, - "model": "Hub", - "sysfs_id": "/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0", - "sysfs_bus_id": "1-1:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 1, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v8087p0024d0000dc09dsc00dp01ic09isc00ip00in00" - }, - { - "index": 38, - "attached_to": 16, - "class_list": [ - "usb", - "hub" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "010a", - "name": "Hub", - "value": 266 - }, - "vendor": { - "hex": "1d6b", - "name": "Linux 6.12.11 ehci_hcd", - "value": 7531 - }, - "device": { - "hex": "0002", - "name": "EHCI Host Controller", - "value": 2 - }, - "revision": { - "hex": "0000", - "name": "6.12", - "value": 0 - }, - "serial": "0000:00:1d.0", - "model": "Linux 6.12.11 ehci_hcd EHCI Host Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0", - "sysfs_bus_id": "2-0:1.0", - "resources": [ - { - "type": "baud", - "speed": 480000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0009", - "name": "hub", - "value": 9 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "hub", - "drivers": [ - "hub" - ], - "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp00ic09isc00ip00in00" - } - ], - "keyboard": [ - { - "index": 36, - "attached_to": 24, - "class_list": [ - "keyboard", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0108", - "name": "Keyboard", - "value": 264 - }, - "sub_class": { - "hex": "0000", - "name": "Keyboard", - "value": 0 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c52b", - "name": "USB Receiver", - "value": 50475 - }, - "revision": { - "hex": "0000", - "name": "24.11", - "value": 0 - }, - "model": "Logitech USB Receiver", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.0", - "sysfs_bus_id": "3-3.4:1.0", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 1, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "keyboard", - "xkb_rules": "xfree86", - "xkb_model": "pc104" - }, - "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc01ip01in00" - } - ], - "memory": [ - { - "index": 7, - "attached_to": 0, - "class_list": [ - "memory" - ], - "base_class": { - "hex": "0101", - "name": "Internally Used Class", - "value": 257 - }, - "sub_class": { - "hex": "0002", - "name": "Main Memory", - "value": 2 - }, - "model": "Main Memory", - "resources": [ - { - "type": "mem", - "base": 0, - "range": 3991175168, - "enabled": true, - "access": "read_write", - "prefetch": "unknown" - }, - { - "type": "phys_mem", - "range": 4026531840 - } - ] - } - ], - "monitor": [ - { - "index": 19, - "attached_to": 17, - "class_list": [ - "monitor" - ], - "base_class": { - "hex": "0100", - "name": "Monitor", - "value": 256 - }, - "sub_class": { - "hex": "0002", - "name": "LCD Monitor", - "value": 2 - }, - "vendor": { - "hex": "0469", - "value": 1129 - }, - "device": { - "hex": "3433", - "name": "ROG PG348Q", - "value": 13363 - }, - "serial": "#ASMyP5gZbYPd", - "model": "ROG PG348Q", - "resources": [ - { - "type": "monitor", - "width": 1024, - "height": 768, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 3440, - "height": 1440, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 640, - "height": 480, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "monitor", - "width": 800, - "height": 600, - "vertical_frequency": 60, - "interlaced": false - }, - { - "type": "size", - "unit": "mm", - "value_1": 798, - "value_2": 335 - } - ], - "detail": { - "manufacture_year": 2016, - "manufacture_week": 26, - "vertical_sync": { - "min": 30, - "max": 100 - }, - "horizontal_sync": { - "min": 73, - "max": 151 - }, - "horizontal_sync_timings": { - "disp": 3440, - "sync_start": 3488, - "sync_end": 3520, - "total": 3600 - }, - "vertical_sync_timings": { - "disp": 1440, - "sync_start": 1443, - "sync_end": 1453, - "total": 1481 - }, - "clock": 319750, - "width": 3440, - "height": 1440, - "width_millimetres": 798, - "height_millimetres": 335, - "horizontal_flag": 45, - "vertical_flag": 43, - "vendor": "", - "name": "ROG PG348Q" - }, - "driver_info": { - "type": "display", - "width": 3440, - "height": 1440, - "vertical_sync": { - "min": 30, - "max": 100 - }, - "horizontal_sync": { - "min": 73, - "max": 151 - }, - "bandwidth": 0, - "horizontal_sync_timings": { - "disp": 3440, - "sync_start": 3488, - "sync_end": 3520, - "total": 3600 - }, - "vertical_sync_timings": { - "disp": 1440, - "sync_start": 1443, - "sync_end": 1453, - "total": 1481 - }, - "horizontal_flag": 45, - "vertical_flag": 43 - } - } - ], - "mouse": [ - { - "index": 28, - "attached_to": 24, - "class_list": [ - "mouse", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0105", - "name": "Mouse", - "value": 261 - }, - "sub_class": { - "hex": "0003", - "name": "USB Mouse", - "value": 3 - }, - "vendor": { - "hex": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c52b", - "name": "USB Receiver", - "value": 50475 - }, - "revision": { - "hex": "0000", - "name": "24.11", - "value": 0 - }, - "compat_vendor": "Unknown", - "compat_device": "Generic USB Mouse", - "model": "Logitech USB Receiver", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.1", - "sysfs_bus_id": "3-3.4:1.1", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0001", - "name": "audio", - "value": 1 - }, - "interface_protocol": 2, - "interface_number": 1, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], - "xf86": "explorerps/2", - "gpm": "exps2", - "buttons": -1, - "wheels": -1 - }, - "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc01ip02in01" - }, - { - "index": 31, - "attached_to": 24, - "class_list": [ - "mouse", - "usb" - ], - "bus_type": { - "hex": "0086", - "name": "USB", - "value": 134 - }, - "slot": { - "bus": 0, - "number": 0 - }, - "base_class": { - "hex": "0105", - "name": "Mouse", - "value": 261 - }, - "sub_class": { - "hex": "0003", - "name": "USB Mouse", - "value": 3 - }, - "vendor": { - "hex": "3233", - "name": "Ducky", - "value": 12851 - }, - "device": { - "hex": "5311", - "name": "Ducky One 3 SF RGB", - "value": 21265 - }, - "serial": "DK-V1.11-220819", - "compat_vendor": "Unknown", - "compat_device": "Generic USB Mouse", - "model": "Ducky One 3 SF RGB", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2", - "sysfs_bus_id": "3-3.3:1.2", - "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", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 2, - "interface_number": 2, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "driver_info": { - "type": "mouse", - "db_entry_0": [ - "explorerps/2", - "exps2" - ], - "xf86": "explorerps/2", - "gpm": "exps2", - "buttons": -1, - "wheels": -1 - }, - "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip02in02" - } - ], - "network_controller": [ - { - "index": 12, - "attached_to": 0, - "class_list": [ - "network_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 25 - }, - "base_class": { - "hex": "0002", - "name": "Network controller", - "value": 2 - }, - "sub_class": { - "hex": "0000", - "name": "Ethernet controller", - "value": 0 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1502", - "value": 5378 - }, - "sub_device": { - "hex": "052c", - "value": 1324 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel Ethernet controller", - "sysfs_id": "/devices/pci0000:00/0000:00:19.0", - "sysfs_bus_id": "0000:00:19.0", - "unix_device_name": "eno1", - "unix_device_names": [ - "eno1" - ], - "resources": [ - { - "type": "hwaddr", - "address": 57 - }, - { - "type": "io", - "base": 61568, - "range": 32, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 31, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156555264, - "range": 131072, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "mem", - "base": 4156788736, - "range": 4096, - "enabled": true, - "access": "read_write", - "prefetch": "no" - }, - { - "type": "phwaddr", - "address": 57 - } - ], - "detail": { - "function": 0, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 31, - "prog_if": 0 - }, - "driver": "e1000e", - "driver_module": "e1000e", - "drivers": [ - "e1000e" - ], - "driver_modules": [ - "e1000e" - ], - "module_alias": "pci:v00008086d00001502sv00001028sd0000052Cbc02sc00i00", - "label": "Onboard LAN" - } - ], - "network_interface": [ - { - "index": 40, - "attached_to": 12, - "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/eno1", - "sysfs_device_link": "/devices/pci0000:00/0000:00:19.0", - "unix_device_name": "eno1", - "unix_device_names": [ - "eno1" - ], - "resources": [ - { - "type": "hwaddr", - "address": 57 - }, - { - "type": "phwaddr", - "address": 57 - } - ], - "driver": "e1000e", - "driver_module": "e1000e", - "drivers": [ - "e1000e" - ], - "driver_modules": [ - "e1000e" - ] - }, - { - "index": 41, - "attached_to": 0, - "class_list": [ - "network_interface" - ], - "base_class": { - "hex": "0107", - "name": "Network Interface", - "value": 263 - }, - "sub_class": { - "hex": "0000", - "name": "Loopback", - "value": 0 - }, - "model": "Loopback network interface", - "sysfs_id": "/class/net/lo", - "unix_device_name": "lo", - "unix_device_names": [ - "lo" - ] - } - ], - "pci": [ - { - "index": 10, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 22 - }, - "base_class": { - "hex": "0007", - "name": "Communication controller", - "value": 7 - }, - "sub_class": { - "hex": "0080", - "name": "Communication controller", - "value": 128 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e3a", - "value": 7738 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel Communication controller", - "sysfs_id": "/devices/pci0000:00/0000:00:16.0", - "sysfs_bus_id": "0000:00:16.0", - "resources": [ - { - "type": "irq", - "base": 30, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156801024, - "range": 16, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 30, - "prog_if": 0 - }, - "driver": "mei_me", - "driver_module": "mei_me", - "drivers": [ - "mei_me" - ], - "driver_modules": [ - "mei_me" - ], - "module_alias": "pci:v00008086d00001E3Asv00001028sd00000577bc07sc80i00" - }, - { - "index": 13, - "attached_to": 0, - "class_list": [ - "pci", - "unknown" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 31 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0005", - "name": "SMBus", - "value": 5 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e22", - "value": 7714 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel SMBus", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", - "sysfs_bus_id": "0000:00:1f.3", - "resources": [ - { - "type": "io", - "base": 61504, - "range": 32, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 18, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156772352, - "range": 256, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 3, - "command": 3, - "header_type": 0, - "secondary_bus": 0, - "irq": 18, - "prog_if": 0 - }, - "driver": "i801_smbus", - "driver_module": "i2c_i801", - "drivers": [ - "i801_smbus" - ], - "driver_modules": [ - "i2c_i801" - ], - "module_alias": "pci:v00008086d00001E22sv00001028sd00000577bc0Csc05i00" - } - ], - "sound": [ - { - "index": 11, - "attached_to": 0, - "class_list": [ - "sound", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 27 - }, - "base_class": { - "hex": "0004", - "name": "Multimedia controller", - "value": 4 - }, - "sub_class": { - "hex": "0003", - "value": 3 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e20", - "value": 7712 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel Multimedia controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1b.0", - "sysfs_bus_id": "0000:00:1b.0", - "resources": [ - { - "type": "irq", - "base": 33, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156751872, - "range": 16384, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 33, - "prog_if": 0 - }, - "driver": "snd_hda_intel", - "driver_module": "snd_hda_intel", - "drivers": [ - "snd_hda_intel" - ], - "driver_modules": [ - "snd_hda_intel" - ], - "module_alias": "pci:v00008086d00001E20sv00001028sd00000577bc04sc03i00" - } - ], - "storage_controller": [ - { - "index": 8, - "attached_to": 0, - "class_list": [ - "storage_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 31 - }, - "base_class": { - "hex": "0001", - "name": "Mass storage controller", - "value": 1 - }, - "sub_class": { - "hex": "0006", - "value": 6 - }, - "pci_interface": { - "hex": "0001", - "value": 1 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e02", - "value": 7682 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel Mass storage controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1f.2", - "sysfs_bus_id": "0000:00:1f.2", - "resources": [ - { - "type": "io", - "base": 61536, - "range": 32, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 61600, - "range": 4, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 61616, - "range": 8, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 61632, - "range": 4, - "enabled": true, - "access": "read_write" - }, - { - "type": "io", - "base": 61648, - "range": 8, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 29, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156776448, - "range": 2048, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 2, - "command": 1031, - "header_type": 0, - "secondary_bus": 0, - "irq": 29, - "prog_if": 1 - }, - "driver": "ahci", - "driver_module": "ahci", - "drivers": [ - "ahci" - ], - "driver_modules": [ - "ahci" - ], - "module_alias": "pci:v00008086d00001E02sv00001028sd00000577bc01sc06i01" - } - ], - "system": { - "form_factor": "desktop" - }, - "unknown": [ - { - "index": 20, - "attached_to": 0, - "class_list": [ - "unknown" - ], - "base_class": { - "hex": "0007", - "name": "Communication controller", - "value": 7 - }, - "sub_class": { - "hex": "0000", - "name": "Serial controller", - "value": 0 - }, - "pci_interface": { - "hex": "0002", - "name": "16550", - "value": 2 - }, - "device": { - "hex": "0000", - "name": "16550A", - "value": 0 - }, - "model": "16550A", - "unix_device_name": "/dev/ttyS0", - "unix_device_names": [ - "/dev/ttyS0" - ], - "resources": [ - { - "type": "io", - "base": 1016, - "range": 0, - "enabled": true, - "access": "read_write" - }, - { - "type": "irq", - "base": 4, - "triggered": 0, - "enabled": true - } - ] - } - ], - "usb": [ - { - "index": 25, - "attached_to": 24, - "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": "3233", - "name": "Ducky", - "value": 12851 - }, - "device": { - "hex": "5311", - "name": "Ducky One 3 SF RGB", - "value": 21265 - }, - "serial": "DK-V1.11-220819", - "model": "Ducky One 3 SF RGB", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1", - "sysfs_bus_id": "3-3.3:1.1", - "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-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-if01-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.1-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.1-event-kbd", - "/dev/input/event1" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 1, - "interface_number": 1, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip01in01" - }, - { - "index": 29, - "attached_to": 24, - "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": "3233", - "name": "Ducky", - "value": 12851 - }, - "device": { - "hex": "5311", - "name": "Ducky One 3 SF RGB", - "value": 21265 - }, - "serial": "DK-V1.11-220819", - "model": "Ducky One 3 SF RGB", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.4", - "sysfs_bus_id": "3-3.3:1.4", - "unix_device_name": "/dev/input/event4", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 68, - "range": 1 - }, - "unix_device_names": [ - "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-event-if04", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.4-event", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.4-event", - "/dev/input/event4" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 4, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip00in04" - }, - { - "index": 32, - "attached_to": 24, - "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": "3233", - "name": "Ducky", - "value": 12851 - }, - "device": { - "hex": "5311", - "name": "Ducky One 3 SF RGB", - "value": 21265 - }, - "serial": "DK-V1.11-220819", - "model": "Ducky One 3 SF RGB", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0", - "sysfs_bus_id": "3-3.3:1.0", - "unix_device_name": "/dev/input/js0", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 0, - "range": 1 - }, - "unix_device_names": [ - "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-joystick", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.0-joystick", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.0-joystick", - "/dev/input/js0" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 0, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip00in00" - }, - { - "index": 35, - "attached_to": 24, - "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": "046d", - "name": "Logitech Inc.", - "value": 1133 - }, - "device": { - "hex": "c52b", - "name": "USB Receiver", - "value": 50475 - }, - "revision": { - "hex": "0000", - "name": "24.11", - "value": 0 - }, - "model": "Logitech USB Receiver", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2", - "sysfs_bus_id": "3-3.4:1.2", - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 0, - "interface_number": 2, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc00ip00in02" - }, - { - "index": 39, - "attached_to": 24, - "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": "3233", - "name": "Ducky", - "value": 12851 - }, - "device": { - "hex": "5311", - "name": "Ducky One 3 SF RGB", - "value": 21265 - }, - "serial": "DK-V1.11-220819", - "model": "Ducky One 3 SF RGB", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.3", - "sysfs_bus_id": "3-3.3:1.3", - "unix_device_name": "/dev/input/event3", - "unix_device_number": { - "type": 99, - "major": 13, - "minor": 67, - "range": 1 - }, - "unix_device_names": [ - "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-if03-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.3-event-kbd", - "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.3-event-kbd", - "/dev/input/event3" - ], - "resources": [ - { - "type": "baud", - "speed": 12000000, - "bits": 0, - "stop_bits": 0, - "parity": 0, - "handshake": 0 - } - ], - "detail": { - "device_class": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "device_protocol": 0, - "interface_class": { - "hex": "0003", - "name": "hid", - "value": 3 - }, - "interface_subclass": { - "hex": "0000", - "name": "per_interface", - "value": 0 - }, - "interface_protocol": 1, - "interface_number": 3, - "interface_alternate_setting": 0 - }, - "hotplug": "usb", - "driver": "usbhid", - "driver_module": "usbhid", - "drivers": [ - "usbhid" - ], - "driver_modules": [ - "usbhid" - ], - "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip01in03" - } - ], - "usb_controller": [ - { - "index": 15, - "attached_to": 0, - "class_list": [ - "usb_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 26 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0003", - "name": "USB Controller", - "value": 3 - }, - "pci_interface": { - "hex": "0020", - "name": "EHCI", - "value": 32 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e2d", - "value": 7725 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1a.0", - "sysfs_bus_id": "0000:00:1a.0", - "resources": [ - { - "type": "irq", - "base": 16, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156784640, - "range": 1024, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "irq": 16, - "prog_if": 32 - }, - "driver": "ehci-pci", - "driver_module": "ehci_pci", - "drivers": [ - "ehci-pci" - ], - "driver_modules": [ - "ehci_pci" - ], - "driver_info": { - "type": "module", - "db_entry_0": [ - "ehci-hcd" - ], - "active": true, - "modprobe": true, - "names": [ - "ehci-hcd" - ], - "module_args": [ - "" - ], - "conf": "" - }, - "module_alias": "pci:v00008086d00001E2Dsv00001028sd00000577bc0Csc03i20" - }, - { - "index": 16, - "attached_to": 0, - "class_list": [ - "usb_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 29 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0003", - "name": "USB Controller", - "value": 3 - }, - "pci_interface": { - "hex": "0020", - "name": "EHCI", - "value": 32 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e26", - "value": 7718 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", - "sysfs_bus_id": "0000:00:1d.0", - "resources": [ - { - "type": "irq", - "base": 23, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156780544, - "range": 1024, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 6, - "header_type": 0, - "secondary_bus": 0, - "irq": 23, - "prog_if": 32 - }, - "driver": "ehci-pci", - "driver_module": "ehci_pci", - "drivers": [ - "ehci-pci" - ], - "driver_modules": [ - "ehci_pci" - ], - "driver_info": { - "type": "module", - "db_entry_0": [ - "ehci-hcd" - ], - "active": true, - "modprobe": true, - "names": [ - "ehci-hcd" - ], - "module_args": [ - "" - ], - "conf": "" - }, - "module_alias": "pci:v00008086d00001E26sv00001028sd00000577bc0Csc03i20" - }, - { - "index": 18, - "attached_to": 0, - "class_list": [ - "usb_controller", - "pci" - ], - "bus_type": { - "hex": "0004", - "name": "PCI", - "value": 4 - }, - "slot": { - "bus": 0, - "number": 20 - }, - "base_class": { - "hex": "000c", - "name": "Serial bus controller", - "value": 12 - }, - "sub_class": { - "hex": "0003", - "name": "USB Controller", - "value": 3 - }, - "pci_interface": { - "hex": "0030", - "value": 48 - }, - "vendor": { - "hex": "8086", - "name": "Intel Corporation", - "value": 32902 - }, - "sub_vendor": { - "hex": "1028", - "value": 4136 - }, - "device": { - "hex": "1e31", - "value": 7729 - }, - "sub_device": { - "hex": "0577", - "value": 1399 - }, - "revision": { - "hex": "0004", - "value": 4 - }, - "model": "Intel USB Controller", - "sysfs_id": "/devices/pci0000:00/0000:00:14.0", - "sysfs_bus_id": "0000:00:14.0", - "resources": [ - { - "type": "irq", - "base": 24, - "triggered": 0, - "enabled": true - }, - { - "type": "mem", - "base": 4156686336, - "range": 65536, - "enabled": true, - "access": "read_write", - "prefetch": "no" - } - ], - "detail": { - "function": 0, - "command": 1030, - "header_type": 0, - "secondary_bus": 0, - "irq": 24, - "prog_if": 48 - }, - "driver": "xhci_hcd", - "driver_module": "xhci_pci", - "drivers": [ - "xhci_hcd" - ], - "driver_modules": [ - "xhci_pci" - ], - "module_alias": "pci:v00008086d00001E31sv00001028sd00000577bc0Csc03i30" - } - ] - }, - "smbios": { - "bios": { - "handle": 0, - "vendor": "Dell Inc.", - "version": "A12", - "date": "01/10/2013", - "features": [ - "PCI supported", - "PnP supported", - "BIOS flashable", - "BIOS shadowing allowed", - "CD boot supported", - "Selectable boot supported", - "EDD spec supported", - "1.2MB Floppy supported", - "720kB Floppy supported", - "2.88MB Floppy supported", - "Print Screen supported", - "8042 Keyboard Services supported", - "Serial Services supported", - "Printer Services supported", - "ACPI supported", - "USB Legacy supported", - "BIOS Boot Spec supported", - "F12 Network boot supported" - ], - "start_address": "0xf0000", - "rom_size": 12582912 - }, - "board": { - "handle": 2, - "manufacturer": "Dell Inc.", - "product": "0V8WGR", - "version": "A02", - "board_type": { - "hex": "000a", - "name": "Motherboard", - "value": 10 - }, - "features": [ - "Hosting Board", - "Replaceable" - ], - "location": "", - "chassis": 3 - }, - "cache": [ - { - "handle": 56, - "socket": "CPU Internal L1", - "size_max": 256, - "size_current": 256, - "speed": 0, - "mode": { - "hex": "0000", - "name": "Write Through", - "value": 0 - }, - "enabled": true, - "location": { - "hex": "0000", - "name": "Internal", - "value": 0 - }, - "socketed": false, - "level": 0, - "ecc": { - "hex": "0004", - "name": "Parity", - "value": 4 - }, - "cache_type": { - "hex": "0004", - "name": "Data", - "value": 4 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": [ - "Unknown" - ], - "sram_type_supported": [ - "Unknown" - ] - }, - { - "handle": 57, - "socket": "CPU Internal L2", - "size_max": 1024, - "size_current": 1024, - "speed": 0, - "mode": { - "hex": "0000", - "name": "Write Through", - "value": 0 - }, - "enabled": true, - "location": { - "hex": "0000", - "name": "Internal", - "value": 0 - }, - "socketed": false, - "level": 1, - "ecc": { - "hex": "0006", - "name": "Multi-bit", - "value": 6 - }, - "cache_type": { - "hex": "0005", - "name": "Unified", - "value": 5 - }, - "associativity": { - "hex": "0007", - "name": "8-way Set-Associative", - "value": 7 - }, - "sram_type_current": [ - "Unknown" - ], - "sram_type_supported": [ - "Unknown" - ] - }, - { - "handle": 58, - "socket": "CPU Internal L3", - "size_max": 6144, - "size_current": 6144, - "speed": 0, - "mode": { - "hex": "0001", - "name": "Write Back", - "value": 1 - }, - "enabled": true, - "location": { - "hex": "0000", - "name": "Internal", - "value": 0 - }, - "socketed": false, - "level": 2, - "ecc": { - "hex": "0006", - "name": "Multi-bit", - "value": 6 - }, - "cache_type": { - "hex": "0005", - "name": "Unified", - "value": 5 - }, - "associativity": { - "hex": "0009", - "name": "Other", - "value": 9 - }, - "sram_type_current": [ - "Unknown" - ], - "sram_type_supported": [ - "Unknown" - ] - } - ], - "chassis": { - "handle": 3, - "manufacturer": "Dell Inc.", - "version": "", - "chassis_type": { - "hex": "0010", - "name": "Lunch Box", - "value": 16 - }, - "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": 41, - "options": [ - "To Be Filled By O.E.M." - ] - }, - "language": [ - { - "handle": 57167, - "languages": [ - "en|US|iso8859-1" - ] - } - ], - "memory_array": [ - { - "handle": 59, - "location": { - "hex": "0003", - "name": "Motherboard", - "value": 3 - }, - "usage": { - "hex": "0003", - "name": "System memory", - "value": 3 - }, - "ecc": { - "hex": "0003", - "name": "None", - "value": 3 - }, - "max_size": 16777216, - "error_handle": 65534, - "slots": 2 - } - ], - "memory_array_mapped_address": [ - { - "handle": 63, - "array_handle": 59, - "start_address": 0, - "end_address": 4294967296, - "part_width": 2 - } - ], - "memory_device": [ - { - "handle": 60, - "location": "ChannelA-DIMM0", - "bank_location": "BANK 0", - "manufacturer": "Hynix/Hyundai", - "part_number": "HMT351U6CFR8C-PB", - "array_handle": 59, - "error_handle": 65534, - "width": 64, - "ecc_bits": 0, - "size": 4194304, - "form_factor": { - "hex": "0009", - "name": "DIMM", - "value": 9 - }, - "set": 0, - "memory_type": { - "hex": "0018", - "name": "Other", - "value": 24 - }, - "memory_type_details": [ - "Synchronous" - ], - "speed": 1600 - }, - { - "handle": 62, - "location": "ChannelB-DIMM0", - "bank_location": "BANK 2", - "manufacturer": "[Empty]", - "part_number": "[Empty]", - "array_handle": 59, - "error_handle": 65534, - "width": 0, - "ecc_bits": 0, - "size": 0, - "form_factor": { - "hex": "0009", - "name": "DIMM", - "value": 9 - }, - "set": 0, - "memory_type": { - "hex": "0002", - "name": "Unknown", - "value": 2 - }, - "memory_type_details": null, - "speed": 0 - } - ], - "memory_device_mapped_address": [ - { - "handle": 61, - "memory_device_handle": 60, - "array_map_handle": 63, - "start_address": 0, - "end_address": 4294967296, - "row_position": 1, - "interleave_position": 1, - "interleave_depth": 1 - } - ], - "onboard": [ - { - "handle": 39, - "devices": [ - { - "name": "\"Intel HD Graphics\"", - "type": { - "hex": "0003", - "name": "Video", - "value": 3 - }, - "enabled": true - }, - { - "name": "NETWORK_NAME_STRING", - "type": { - "hex": "0005", - "name": "Ethernet", - "value": 5 - }, - "enabled": true - } - ] - } - ], - "port_connector": [ - { - "handle": 6, - "port_type": { - "hex": "0009", - "name": "Serial Port 16550A Compatible", - "value": 9 - }, - "internal_reference_designator": "J6A2A", - "external_connector_type": { - "hex": "0008", - "name": "DB-9 pin male", - "value": 8 - }, - "external_reference_designator": "COM A" - }, - { - "handle": 7, - "port_type": { - "hex": "001c", - "name": "Video Port", - "value": 28 - }, - "internal_reference_designator": "J6A2B", - "external_connector_type": { - "hex": "0007", - "name": "DB-15 pin female", - "value": 7 - }, - "external_reference_designator": "Video" - }, - { - "handle": 8, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J2A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB1" - }, - { - "handle": 9, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J2A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB2" - }, - { - "handle": 10, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J5A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB3" - }, - { - "handle": 11, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J5A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB4" - }, - { - "handle": 12, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J5A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB5" - }, - { - "handle": 13, - "port_type": { - "hex": "0010", - "name": "USB", - "value": 16 - }, - "internal_reference_designator": "J5A1", - "external_connector_type": { - "hex": "0012", - "name": "Access Bus [USB]", - "value": 18 - }, - "external_reference_designator": "USB6" - }, - { - "handle": 18, - "port_type": { - "hex": "001f", - "name": "Network Port", - "value": 31 - }, - "internal_reference_designator": "J2A1", - "external_connector_type": { - "hex": "000b", - "name": "RJ-45", - "value": 11 - }, - "external_reference_designator": "LAN" - }, - { - "handle": 19, - "port_type": { - "hex": "001c", - "name": "Video Port", - "value": 28 - }, - "internal_reference_designator": "J2A1", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "Display Port1" - }, - { - "handle": 20, - "port_type": { - "hex": "001c", - "name": "Video Port", - "value": 28 - }, - "internal_reference_designator": "J3A1", - "external_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "external_reference_designator": "Display Port2" - }, - { - "handle": 21, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "J7A1", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "MIC-IN" - }, - { - "handle": 22, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "J7A1", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "HP-OUT" - }, - { - "handle": 23, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "J7A1", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "LINE-OUT" - }, - { - "handle": 24, - "port_type": { - "hex": "001d", - "name": "Audio Port", - "value": 29 - }, - "internal_reference_designator": "J7A1", - "external_connector_type": { - "hex": "001f", - "name": "Mini-jack [headphones]", - "value": 31 - }, - "external_reference_designator": "LINE-IN" - }, - { - "handle": 25, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J7J3 - SATA PORT1" - }, - { - "handle": 26, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J8J1 - SATA PORT0" - }, - { - "handle": 27, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J2B3 - CPU FAN" - }, - { - "handle": 30, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J1D1 - INTRUDER" - }, - { - "handle": 33, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J2B3 - SYSTEM_FAN" - }, - { - "handle": 34, - "port_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_connector_type": { - "hex": "00ff", - "name": "Other", - "value": 255 - }, - "internal_reference_designator": "J9E5 - INT_SPKR" - } - ], - "power_controls": [ - { - "handle": 43, - "month": 0, - "day": 0, - "hour": 0, - "minute": 0, - "second": 0 - } - ], - "processor": [ - { - "handle": 92, - "socket": "CPU 1", - "socket_type": { - "hex": "0024", - "name": "Other", - "value": 36 - }, - "socket_populated": true, - "manufacturer": "Intel(R) Corporation", - "version": "Intel(R) Core(TM) i5-3570S CPU @ 3.10GHz", - "part": "Fill By OEM", - "processor_type": { - "hex": "0003", - "name": "CPU", - "value": 3 - }, - "processor_family": { - "hex": "00cd", - "name": "Other", - "value": 205 - }, - "processor_status": { - "hex": "0001", - "name": "Enabled", - "value": 1 - }, - "clock_ext": 100, - "clock_max": 3800, - "cache_handle_l1": 56, - "cache_handle_l2": 57, - "cache_handle_l3": 58 - } - ], - "system": { - "handle": 1, - "manufacturer": "Dell Inc.", - "product": "OptiPlex 7010", - "version": "01", - "wake_up": { - "hex": "0006", - "name": "Power Switch", - "value": 6 - } - } - } -} diff --git a/configuration/snorlax/git.nix b/configuration/snorlax/git.nix deleted file mode 100644 index a24c26a..0000000 --- a/configuration/snorlax/git.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ lib, pkgs, ... }: -let - home = "/var/lib/git"; - repos = { - nixos = { - path = "${home}/nixos.git"; - desc = "My NixOS Configurations"; - owner = "jras"; - }; - - notes = { - path = "${home}/notes.git"; - desc = "My notes"; - owner = "jras"; - }; - - obsidian-wavez-theme = { - path = "${home}/obsidian-wavez-theme.git"; - desc = "The bordeaux theme for Obsidian"; - owner = "jras"; - }; - - astal-bar = { - path = "${home}/astal-bar.git"; - desc = "A wayland bar in jsx"; - owner = "jras"; - }; - }; - - startScript = pkgs.writeShellScript "init-git-repos" '' - ${lib.concatMapStrings ({ path, ... }: "${pkgs.git}/bin/git init --bare --shared ${path} && cd ${path} && ${pkgs.git}/bin/git branch -m main \n") (builtins.attrValues repos)} - ''; -in -{ - networking.firewall.allowedTCPPorts = [ 80 ]; - - services.cgit.snorlax = { - enable = true; - group = "git"; - repos = repos; - }; - - systemd.services.init-repos = { - description = "Initialize git repositories"; - wantedBy = [ "multi-user.target" ]; - restartTriggers = [ startScript ]; - - serviceConfig = { - Type = "oneshot"; - User = "git"; - Group = "git"; - ExecStart = startScript; - }; - }; - - users.groups.git = {}; - users.users.git = { - isNormalUser = true; - home = "${home}"; - homeMode = "0750"; - createHome = true; - shell = pkgs.zsh; - group = "git"; - openssh.authorizedKeys.keyFiles = [ - ../../keys/id_tarrel.pub - ../../keys/id_work.pub - ]; - packages = with pkgs; [ git ]; - }; - services.openssh.settings.AllowUsers = [ "git" ]; -} diff --git a/configuration/snorlax/nginx.nix b/configuration/snorlax/nginx.nix deleted file mode 100644 index cc38496..0000000 --- a/configuration/snorlax/nginx.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ ... }: -{ - networking.firewall.allowedTCPPorts = [ 443 ]; - - services.nginx = { - enable = true; - recommendedTlsSettings = true; - - virtualHosts = { - "jras.nl" = { - onlySSL = true; - kTLS = true; - enableACME = true; - root = "/srv/www/jras.nl"; - }; - }; - }; - - security.acme.defaults.email = "jaspert.ras@gmail.com"; - security.acme.acceptTerms = true; -} diff --git a/configuration/snorlax/samba.nix b/configuration/snorlax/samba.nix deleted file mode 100644 index 44a4be9..0000000 --- a/configuration/snorlax/samba.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ ... }: -{ - services.samba = { - enable = true; - securityType = "user"; - openFirewall = true; - settings = { - global = { - "workgroup" = "WORKGROUP"; - "server string" = "smbnix"; - "netbios name" = "smbnix"; - "security" = "user"; - "hosts allow" = "192.168.50. 127.0.0.1 localhost"; - "hosts deny" = "0.0.0.0/0"; - "guest account" = "nobody"; - "map to guest" = "bad user"; - }; - - photos = { - "path" = "/srv/samba/photos"; - "browseable" = "yes"; - "read only" = "no"; - "guest ok" = "yes"; - "create mask" = "0644"; - "directory mask" = "0755"; - "force user" = "nobody"; - "force group" = "nogroup"; - }; - }; - }; - - # Used to advertise to Windows hosts - services.samba-wsdd = { - enable = true; - openFirewall = true; - }; -} diff --git a/configuration/tarrel/default.nix b/configuration/tarrel/default.nix deleted file mode 100644 index 9741d28..0000000 --- a/configuration/tarrel/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ config, ... }: -{ - imports = [ - ./hardware-configuration.nix - ./home-manager.nix - - ../core - ../hyprland.nix - ]; - - system.stateVersion = "24.05"; - - networking.hostName = "tarrel"; - networking.networkmanager.enable = true; - - time.timeZone = "Europe/Amsterdam"; - - users.users.jras.extraGroups = [ "networkmanager" ]; - - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - hardware.graphics.enable = true; - services.xserver.videoDrivers = ["nvidia"]; - hardware.nvidia = { - modesetting.enable = true; - nvidiaSettings = true; - nvidiaPersistenced = true; - open = true; - - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - - security.rtkit.enable = true; - - environment.sessionVariables = { - TERMINAL = "alacritty"; - EDITOR = "helix"; - }; - - environment.pathsToLink = [ "/libexec" ]; - - services.sunshine = { - enable = true; - autoStart = true; - capSysAdmin = true; - openFirewall = true; - }; - - programs.steam.enable = true; -} diff --git a/configuration/tarrel/hardware-configuration.nix b/configuration/tarrel/hardware-configuration.nix deleted file mode 100644 index 4604fcd..0000000 --- a/configuration/tarrel/hardware-configuration.nix +++ /dev/null @@ -1,40 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "uas" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/b73c41ec-fe01-4fa5-b50a-fd871e8c2710"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/BBB8-1AF8"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp0s20f0u9.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/configuration/tarrel/home-manager.nix b/configuration/tarrel/home-manager.nix deleted file mode 100644 index 9709129..0000000 --- a/configuration/tarrel/home-manager.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ pkgs, inputs, ... }: -{ - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.jras = { - imports = [ - ../home-manager/core - ../home-manager/hyprland.nix - ]; - - home.username = "jras"; - home.homeDirectory = "/home/jras"; - home.stateVersion = "23.11"; - - programs.git = { - userName = "Jasper Ras"; - userEmail = "jaspert.ras@gmail.com"; - }; - - home.file = { - gamestream-start = { - text = '' - #!${pkgs.zsh}/bin/zsh - ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,1920x1080@59.94,auto,2 - ''; - target = "bin/gamestream-start"; - executable = true; - }; - gamestream-end = { - text = '' - #!${pkgs.zsh}/bin/zsh - ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,preferred,auto,1 - ''; - target = "bin/gamestream-end"; - executable = true; - }; - }; - - programs.zsh.envExtra = "export PATH=$HOME/bin:$PATH"; - }; -} diff --git a/configuration/work/default.nix b/configuration/work/default.nix deleted file mode 100644 index 2073ea5..0000000 --- a/configuration/work/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib, pkgs, ... }: -{ - imports = [ - ../core - ../hyprland.nix - - ./hardware-configuration.nix - ./home-manager.nix - ./networking.nix - ./secrets.nix - ./tailscale.nix - ]; - - system.stateVersion = "24.05"; # Do NOT change before reading configuration.nix - - users.users.jras.extraGroups = [ "networkmanager" "docker" ]; - security.sudo.wheelNeedsPassword = lib.mkForce true; - - time.timeZone = "Europe/Amsterdam"; - - virtualisation.docker = { - enable = true; - enableOnBoot = true; - }; - - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - services.libinput.mouse.accelProfile = "flat"; - services.libinput.mouse.accelSpeed = "-5"; - services.upower.enable = true; - - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - programs.gnupg.agent.enable = true; - programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3; -} diff --git a/configuration/work/hardware-configuration.nix b/configuration/work/hardware-configuration.nix deleted file mode 100644 index 9c8c4b1..0000000 --- a/configuration/work/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/df469cf1-1acc-4bf4-86e1-ec368e5a96a1"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."luks-0f6e3603-084c-4438-9749-36b31b6f226a".device = "/dev/disk/by-uuid/0f6e3603-084c-4438-9749-36b31b6f226a"; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/F0E6-4DF3"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0f0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/configuration/work/home-manager.nix b/configuration/work/home-manager.nix deleted file mode 100644 index c3ee4d9..0000000 --- a/configuration/work/home-manager.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ lib, pkgs, inputs, ... }: -{ - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.jras = { - imports = [ - ../home-manager/core - - ../home-manager/hyprland.nix - ../home-manager/hostnet.nix - ../home-manager/php.nix - ../home-manager/ansible.nix - ../home-manager/python.nix - ]; - - home.username = "jras"; - home.homeDirectory = "/home/jras"; - home.stateVersion = "22.11"; - home.sessionPath = [ "$HOME/.local/bin" ]; - - home.packages = with pkgs; [ - slack - moonlight-qt - brightnessctl - google-chrome - ]; - - programs.git = { - userName = "Jasper Ras"; - userEmail = lib.mkForce "jras@hostnet.nl"; - extraConfig = { gitreview.username = "jrasper"; }; - ignores = [ - ".direnv" - ".envrc" - ".project" - ".settings/" - ".buildpath" - "tags" - ".hhconfig" - ".DS_Store" - ".idea/" - ".vagrant/" - "*.swp" - "clover.xml" - "yarn-error.log" - "gsuite-auth.json" - "venv/" - "shell.nix" - - ".devenv*" - "devenv*" - ".pre-commit-config.yaml" - ]; - }; - - programs.zsh.initExtra = '' - eval "$(dircolors)" - ''; - programs.zsh.shellAliases = { - ssh = "TERM=xterm-256color ssh"; - }; - - programs.pyenv.enable = true; - programs.pyenv.enableZshIntegration = true; - programs.ssh = { - controlMaster = "auto"; - controlPersist = "12h"; - serverAliveInterval = 11; - matchBlocks = { - "*.g1i.one".user = "jasras"; - "*.os1.openstack.group.one".user = "jasras"; - "*.one.com".user = "jasras"; - "91.184.16.185".port = 12345; - "*.compute.prv.vps1-testpod-cph3.one.com".forwardAgent = true; - "access.*.one.com".forwardAgent = true; - "access.*.g1i.one".forwardAgent = true; - }; - }; - }; -} diff --git a/configuration/work/networking.nix b/configuration/work/networking.nix deleted file mode 100644 index 99ba8d7..0000000 --- a/configuration/work/networking.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ pkgs, config, ... }: -{ - environment.systemPackages = with pkgs; [ - networkmanager-openvpn - ]; - - networking.hostName = "work"; - networking.networkmanager.enable = true; - networking.networkmanager.dns = "systemd-resolved"; - networking.nameservers = [ "1.1.1.1" ]; - - services.openvpn.servers = { - ghostnet = { - config = '' - client - remote 185.57.9.6 1194 - cert ${config.age.secrets.ghostnet-cert.path} - key ${config.age.secrets.ghostnet-key.path} - ca ${config.age.secrets.ghostnet-ca.path} - auth-user-pass ${config.age.secrets.ghostnet-auth-user-pass.path} - reneg-sec 0 - cipher AES-256-CBC - comp-lzo adaptive - dev tun - proto udp - remote-cert-tls server - tls-auth ${config.age.secrets.ghostnet-tls-auth.path} 1 - nobind - auth-nocache - script-security 2 - persist-key - persist-tun - user nm-openvpn - group nm-openvpn - ''; - updateResolvConf = false; - autoStart = false; - }; - systems = { - config = '' - client - remote 'vpn-v2.one.com' - cert '${config.age.secrets.systems-cert.path}' - key '${config.age.secrets.systems-key.path}' - ca '${config.age.secrets.systems-ca.path}' - cipher AES-128-CBC - comp-lzo adaptive - dev tun - proto udp - port 1200 - remote-cert-tls server - tls-auth '${config.age.secrets.systems-tls-auth.path}' 1 - nobind - auth-nocache - script-security 2 - persist-key - persist-tun - user nm-openvpn - group nm-openvpn - ''; - updateResolvConf = false; - autoStart = false; - }; - }; - - programs.update-systemd-resolved.servers = { - ghostnet = { - includeAutomatically = true; - settings = { - routeOnlyDomains = [ "hostnetbv.nl." ]; - defaultRoute = false; - multicastDNS = "no"; - dnsOverTLS = "opportunistic"; - dnssec = "no"; - }; - }; - }; - - services.resolved = { - enable = true; - dnssec = "true"; - domains = [ "~." ]; - fallbackDns = [ "1.1.1.1" ]; - dnsovertls = "opportunistic"; - llmnr = "true"; - }; -} diff --git a/configuration/work/secrets.nix b/configuration/work/secrets.nix deleted file mode 100644 index d13599d..0000000 --- a/configuration/work/secrets.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ ... }: -{ - age.secrets.ghostnet-cert.file = ../../secrets/ghostnet-cert.age; - age.secrets.ghostnet-key.file = ../../secrets/ghostnet-key.age; - age.secrets.ghostnet-ca.file = ../../secrets/ghostnet-ca.age; - age.secrets.ghostnet-tls-auth.file = ../../secrets/ghostnet-tls-auth.age; - age.secrets.ghostnet-auth-user-pass.file = ../../secrets/ghostnet-auth-user-pass.age; - - age.secrets.systems-cert.file = ../../secrets/systems-cert.age; - age.secrets.systems-key.file = ../../secrets/systems-key.age; - age.secrets.systems-ca.file = ../../secrets/systems-ca.age; - age.secrets.systems-tls-auth.file = ../../secrets/systems-tls-auth.age; -} diff --git a/flake.lock b/flake.lock index 9fc23d4..2d70b96 100644 Binary files a/flake.lock and b/flake.lock differ diff --git a/flake.nix b/flake.nix index c61d9fc..edbd2c3 100644 --- a/flake.nix +++ b/flake.nix @@ -2,40 +2,40 @@ description = "NixOS Flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + agenix.url = "github:ryantm/agenix"; + astal-bar.url = "path:/home/jras/projects/astal-bar"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; - nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; + helix.url = "github:helix-editor/helix/master"; home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - - helix.url = "github:helix-editor/helix/master"; - hyprland.url = "github:hyprwm/Hyprland?submodules=1&ref=v0.45.2-b"; hy3 = { url = "github:outfoxxed/hy3?ref=hl0.45.0"; inputs.hyprland.follows = "hyprland"; }; - agenix.url = "github:ryantm/agenix"; - - update-systemd-resolved.url = "github:jonathanio/update-systemd-resolved"; - update-systemd-resolved.inputs.nixpkgs.follows = "nixpkgs"; + microvm.url = "github:astro/microvm.nix"; + microvm.inputs.nixpkgs.follows = "nixpkgs"; nil.url = "github:oxalica/nil"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; - astal-bar.url = "path:/home/jras/projects/astal-bar"; + update-systemd-resolved.url = "github:jonathanio/update-systemd-resolved"; + update-systemd-resolved.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, - nixpkgs, + agenix, disko, - nixos-facter-modules, home-manager, - agenix, + microvm, + nixpkgs, + nixos-facter-modules, update-systemd-resolved, ... }: @@ -53,7 +53,7 @@ home-manager.nixosModules.home-manager agenix.nixosModules.default - ./configuration/work + ./modules/work ]; }; @@ -69,7 +69,7 @@ home-manager.nixosModules.home-manager agenix.nixosModules.default - ./configuration/tarrel + ./modules/tarrel ]; }; @@ -81,8 +81,10 @@ home-manager.nixosModules.home-manager disko.nixosModules.disko nixos-facter-modules.nixosModules.facter - { config.facter.reportPath = ./configuration/snorlax/facter.json; } - ./configuration/snorlax + microvm.nixosModules.host + + { config.facter.reportPath = ./modules/snorlax/facter.json; } + ./modules/snorlax ]; }; }; diff --git a/modules/core/default.nix b/modules/core/default.nix new file mode 100644 index 0000000..7ec63e4 --- /dev/null +++ b/modules/core/default.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + imports = [ + ./users.nix + ./services.nix + ./settings.nix + ./packages.nix + ./tailscale.nix + ]; +} diff --git a/modules/core/packages.nix b/modules/core/packages.nix new file mode 100644 index 0000000..37d1562 --- /dev/null +++ b/modules/core/packages.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + git + git-crypt + helix + devenv + + busybox + usbutils + dig + file + gcc + jq + netcat + tcpdump + wget + iftop + htop + ]; +} diff --git a/modules/core/services.nix b/modules/core/services.nix new file mode 100644 index 0000000..f3d1d24 --- /dev/null +++ b/modules/core/services.nix @@ -0,0 +1,10 @@ +{ lib, ... }: +{ + services = { + openssh = { + enable = true; + openFirewall = lib.mkDefault false; + settings.AllowUsers = [ "jras" ]; + }; + }; +} diff --git a/modules/core/settings.nix b/modules/core/settings.nix new file mode 100644 index 0000000..e7a7b2e --- /dev/null +++ b/modules/core/settings.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + nixpkgs.config.allowUnfree = true; + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + trusted-users = [ "root" "jras" ]; + }; +} diff --git a/modules/core/tailscale.nix b/modules/core/tailscale.nix new file mode 100644 index 0000000..0d7c456 --- /dev/null +++ b/modules/core/tailscale.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + services.tailscale = { + enable = true; + }; +} diff --git a/modules/core/users.nix b/modules/core/users.nix new file mode 100644 index 0000000..b1a30ed --- /dev/null +++ b/modules/core/users.nix @@ -0,0 +1,44 @@ +{ lib, pkgs, inputs, ... }: +{ + programs.zsh.enable = true; + + security.sudo.execWheelOnly = lib.mkDefault true; + security.sudo.wheelNeedsPassword = lib.mkDefault false; + + users.users.jras = { + createHome = true; + isNormalUser = true; + extraGroups = [ "wheel" ]; + shell = pkgs.zsh; + packages = with pkgs; [ git helix curl ]; + openssh.authorizedKeys.keyFiles = [ ../../keys/id_tarrel.pub ../../keys/id_work.pub ]; + }; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.jras = { + imports = [ ../home-manager/core ]; + + home.username = "jras"; + home.homeDirectory = "/home/jras"; + + programs.git = { + userName = lib.mkDefault "Jasper Ras"; + userEmail = lib.mkDefault "jaspert.ras@gmail.com"; + }; + }; +} diff --git a/modules/home-manager/ansible.nix b/modules/home-manager/ansible.nix new file mode 100644 index 0000000..67aff1c --- /dev/null +++ b/modules/home-manager/ansible.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + ansible-language-server + ansible-lint + ]; +} diff --git a/modules/home-manager/core/default.nix b/modules/home-manager/core/default.nix new file mode 100644 index 0000000..9c33f66 --- /dev/null +++ b/modules/home-manager/core/default.nix @@ -0,0 +1,74 @@ +{ pkgs, inputs, ... }: +{ + + imports = [ + ./helix.nix + ./shell.nix + ]; + + home.packages = [ + pkgs.gnumake + pkgs.git-crypt + pkgs.bitwarden-cli + + pkgs.fd + pkgs.glow + pkgs.eza + + pkgs.nixfmt-rfc-style + inputs.nil.packages."${pkgs.system}".nil + ]; + + programs.ripgrep.enable = true; + programs.btop.enable = true; + + programs.zoxide = { + enable = true; + options = [ "--cmd cd" ]; + }; + programs.fzf.enable = true; + + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; + + programs.git = { + enable = true; + aliases = { + b = "branch"; + f = "fetch"; + p = "pull"; + s = "status"; + co = "checkout"; + pu = "push"; + nb = "checkout -b"; + db = "branch -D"; + lg = + "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; + praise = "blame"; + bump = "!git bump"; + ae = "!git add -A && git commit --amend"; + ad = "commit --amend"; + ac = "!git add -A && git commit"; + rmbs = + "!git branch | grep -wv master | grep -wv main | xargs git branch -D"; + }; + extraConfig = { + pull.rebase = false; + init.defaultBranch = "main"; + }; + }; + + services.ssh-agent.enable = true; + programs.ssh = { + enable = true; + package = "${pkgs.openssh}"; + addKeysToAgent = "yes"; + }; + + programs.taskwarrior = { + enable = true; + package = "${pkgs.taskwarrior3}"; + }; +} diff --git a/modules/home-manager/core/helix.nix b/modules/home-manager/core/helix.nix new file mode 100644 index 0000000..42861ce --- /dev/null +++ b/modules/home-manager/core/helix.nix @@ -0,0 +1,42 @@ +{ pkgs, inputs, ... }: +{ + home.sessionVariables = { EDITOR = "hx"; }; + home.file = { + helix-ferra = { + source = ../../../assets/helix-wavez.toml; + target = ".config/helix/themes/wavez.toml"; + }; + }; + + programs.helix = { + enable = true; + package = inputs.helix.packages."${pkgs.system}".helix; + defaultEditor = true; + settings = { + theme = "wavez"; + keys.normal = { + space.F = "file_picker_in_current_buffer_directory"; + }; + editor = { + end-of-line-diagnostics = "hint"; + line-number = "relative"; + bufferline = "always"; + auto-save = false; + + inline-diagnostics = { + cursor-line = "error"; + }; + + lsp = { + enable = true; + display-messages = true; + }; + + indent-guides = { + render = true; + skip-levels = 1; + }; + }; + }; + }; +} diff --git a/modules/home-manager/frontend-dev.nix b/modules/home-manager/frontend-dev.nix new file mode 100644 index 0000000..3a957cd --- /dev/null +++ b/modules/home-manager/frontend-dev.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + dart-sass + tailwindcss + tailwindcss-language-server + vscode-langservers-extracted + ]; + + programs.helix.languages.language = [ + { + name = "html"; + language-servers = [ "vscode-html-language-server" "tailwindcss-language-server" ]; + } + { + name = "css"; + language-servers = [ "vscode-css-language-server" "tailwindcss-language-server" ]; + } + ]; +} diff --git a/modules/home-manager/hostnet.nix b/modules/home-manager/hostnet.nix new file mode 100644 index 0000000..b8f6418 --- /dev/null +++ b/modules/home-manager/hostnet.nix @@ -0,0 +1,55 @@ +{ config, pkgs, ... }: +let + nodePkgs = pkgs.nodePackages; + homeDir = "${config.home.homeDirectory}"; + llamaDir = "${homeDir}/.llama"; + apache2Dir = "${homeDir}/.apache2"; + httpd = "${pkgs.apacheHttpd}/bin/httpd"; +in { + home.packages = [ + pkgs.pre-commit + nodePkgs.webpack + nodePkgs.webpack-cli + + (pkgs.writeShellScriptBin "use-toolbox" '' + source ${config.home.homeDirectory}/projects/toolbox/var/bootstrap.zsh + '') + ]; + + programs = { + rbenv = { + enable = true; + enableZshIntegration = true; + plugins = [{ + name = "ruby-build"; + src = pkgs.fetchFromGitHub { + owner = "rbenv"; + repo = "ruby-build"; + rev = "v20230717"; + hash = "sha256-kvdANiz9R5pQMTBRHvxC5bfBewIhXc+sgRbe7V2rVU8="; + }; + }]; + }; + }; + + systemd.user.services.llama = { + Unit.Description = "Hostnet Apache LLama"; + Service = { + ExecStartPre = "${llamaDir}/se-vhosts.sh"; + ExecStart = "${httpd} -f ${llamaDir}/apache2.conf -DFOREGROUND"; + RestartSec = "2"; + Restart = "always"; + Environment = [ + "APACHE_RUN_DIR=${apache2Dir}" + "APACHE_CONFDIR=${llamaDir}" + "APACHE_RUN_USER=${config.home.username}" + "APACHE_RUN_GROUP=${config.home.username}" + "APACHE_PID_FILE=${homeDir}/.apache2.pid" + "APACHE_RUN_FILE=${apache2Dir}/run" + "APACHE_LOCK_FILE=${apache2Dir}/lock" + "APACHE_LOG_FILE=${apache2Dir}/log" + ]; + }; + Install.WantedBy = [ "default.target" ]; + }; +} diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix new file mode 100644 index 0000000..77bb675 --- /dev/null +++ b/modules/home-manager/hyprland.nix @@ -0,0 +1,297 @@ +{ pkgs, inputs, ... }: +let + wallpaper = ../../assets/wallpaper.jpg; +in +{ + home.packages = with pkgs; [ + rofi-wayland-unwrapped + rofi-rbw-wayland + grimblast + hyprpicker + wl-clipboard + ]; + + # Required for hyprpicker's cursor but also seems to fix some icons for astal + home.pointerCursor = { + gtk.enable = true; + package = pkgs.adwaita-icon-theme; + name = "Adwaita"; + size = 16; + }; + + services.wlsunset.enable = true; + services.wlsunset.sunrise = "06:00"; + services.wlsunset.sunset = "17:00"; + + wayland.windowManager.hyprland.enable = true; + wayland.windowManager.hyprland.systemd.enable = true; + wayland.windowManager.hyprland.plugins = [ + inputs.hy3.packages.x86_64-linux.hy3 + ]; + + wayland.windowManager.hyprland.settings = { + "$terminal" = "alacritty"; + "$mod" = "SUPER"; + + exec-once = [ ]; + + debug = { + "disable_logs" = false; + }; + + general = { + "layout" = "hy3"; + "border_size" = 2; + "col.active_border" = "rgba(fe8423ee) rgba(e11701ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + }; + + monitor = [ + "Unknown-1, disable" + ",preferred,auto,auto" + ]; + + xwayland = { + force_zero_scaling = true; + }; + + animations = { + bezier = [ + "easeOutQuint,0.23,1,0.32,1" + "easeInOutCubic,0.65,0.05,0.36,1" + "linear,0,0,1,1" + "almostLinear,0.5,0.5,0.75,1.0" + "quick,0.15,0,0.1,1" + ]; + animation = [ + "global, 1, 10, default" + "border, 1, 5.39, easeOutQuint" + "windows, 1, 4.79, easeOutQuint" + "windowsIn, 1, 4.1, easeOutQuint, popin 87%" + "windowsOut, 1, 1.49, linear, popin 87%" + "fadeIn, 1, 1.73, almostLinear" + "fadeOut, 1, 1.46, almostLinear" + "fade, 1, 3.03, quick" + "layers, 1, 3.81, easeOutQuint" + "layersIn, 1, 4, easeOutQuint, fade" + "layersOut, 1, 1.5, linear, fade" + "fadeLayersIn, 1, 1.79, almostLinear" + "fadeLayersOut, 1, 1.39, almostLinear" + "workspaces, 1, 1.94, almostLinear, fade" + ]; + }; + + decoration = { + "rounding" = 5; + "inactive_opacity" = 0.8; + }; + + bind = + [ + "$mod, Return, exec, alacritty" + "$mod, Semicolon, hy3:makegroup, h" + "$mod, D, exec, ${pkgs.rofi-wayland-unwrapped}/bin/rofi -show drun" + "$mod, F, fullscreen, 1" + "$mod, H, hy3:movefocus, l" + "$mod, J, hy3:movefocus, d" + "$mod, K, hy3:movefocus, u" + "$mod, L, hy3:movefocus, r" + "$mod, P, exec, ${pkgs.grimblast}/bin/grimblast copy area" + "$mod, Q, exec, ${pkgs.hyprlock}/bin/hyprlock" + "$mod, V, hy3:makegroup, v" + "$mod, W, hy3:changegroup, toggletab" + "$mod, X, movecurrentworkspacetomonitor, +1" + + "$mod SHIFT, C, exec, ${pkgs.hyprpicker}/bin/hyprpicker -a -f hex" + "$mod SHIFT, D, exec, ${pkgs.rofi-rbw-wayland}/bin/rofi-rbw" + "$mod SHIFT, H, hy3:movewindow, l" + "$mod SHIFT, J, hy3:movewindow, d" + "$mod SHIFT, K, hy3:movewindow, u" + "$mod SHIFT, L, hy3:movewindow, r" + "$mod SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast copy screen" + "$mod SHIFT, Q, hy3:killactive" + ] + ++ ( + builtins.concatLists (builtins.genList (i: + let ws = i + 1; + in [ + "$mod, code:1${toString i}, workspace, ${toString ws}" + "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" + ] + ) + 9) + ); + + plugin = { + hy3 = { + tabs = { + "col.active" = "0xFFFE8423"; + "col.inactive" = "0xFF103543"; + "col.text.inactive" = "0xFFFECDB2"; + }; + }; + }; + }; + + services.hyprpaper.enable = true; + services.hyprpaper.settings = { + preload = [ "${wallpaper}" ]; + wallpaper = [ ",${wallpaper}" ]; + }; + services.hypridle.enable = true; + services.hypridle.settings = { + general = { + lock_cmd = "pidof hyprlock || hyprlock"; + }; + + listener = [ + { + timeout = 120; + on-timeout = "brightnessctl -s set 10"; + on-resume = "brightnessctl -r"; + } + { + timeout = 300; + on-timeout = "pidof hyprlock || hyprlock"; + } + { + timeout = 600; + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + ]; + }; + + programs.hyprlock.enable = true; + programs.hyprlock.settings = { + background = [ + { path = "${wallpaper}"; + blur_passes = 2; + monitor = ""; + } + ]; + + general = { + no_fade_in = true; + no_fade_out = true; + hide_cursor = false; + disable_loading_bar = true; + grace = 0; + }; + + input-field = [ + { + monitor = ""; + size = "250, 60"; + outline_thickness = 2; + dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.35; # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true; + outer_color = "rgba(0, 0, 0, 0)"; + inner_color = "rgba(0, 0, 0, 0.2)"; + font_color = "$foreground"; + fade_on_empty = false; + rounding = -1; + check_color = "rgb(204, 136, 34)"; + placeholder_text = "Input Password..."; + hide_input = false; + position = "0, -200"; + halign = "center"; + valign = "center"; + } + ]; + }; + + programs.alacritty = { + enable = true; + settings = { + window = { + padding = { x = 5; y = 2; }; + }; + env = { TERM = "alacritty-direct"; }; + terminal.shell = { + program = "${pkgs.zsh}/bin/zsh"; + args = [ "-l" ]; + }; + } // builtins.fromJSON (builtins.readFile ../../assets/alacritty-wavez.json); + }; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "x-scheme-handler/http" = "firefox.desktop"; + "x-scheme-handler/https" = "firefox.desktop"; + "x-scheme-handler/chrome" = "firefox.desktop"; + "text/html" = "firefox.desktop"; + "application/x-extension-htm" = "firefox.desktop"; + "application/x-extension-html" = "firefox.desktop"; + "application/x-extension-shtml" = "firefox.desktop"; + "application/xhtml+xml" = "firefox.desktop"; + "application/x-extension-xhtml" = "firefox.desktop"; + "application/x-extension-xht" = "firefox.desktop"; + }; + associations.added = { + "x-scheme-handler/http" = "firefox.desktop"; + "x-scheme-handler/https" = "firefox.desktop"; + "x-scheme-handler/chrome" = "firefox.desktop"; + "text/html" = "firefox.desktop"; + "application/x-extension-htm" = "firefox.desktop"; + "application/x-extension-html" = "firefox.desktop"; + "application/x-extension-shtml" = "firefox.desktop"; + "application/xhtml+xml" = "firefox.desktop"; + "application/x-extension-xhtml" = "firefox.desktop"; + "application/x-extension-xht" = "firefox.desktop"; + }; + }; + + programs.rbw.enable = true; + programs.rbw.settings = { + email = "jaspert.ras@gmail.com"; + pinentry = pkgs.pinentry-gnome3; + }; + + systemd.user.services.hypr-events = { + Unit = { + Description = "Listens on Hypr's socket2 for events and handles them"; + After = [ "graphical-session-pre.target" ]; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + + Service = { + Type = "exec"; + ExecStart = pkgs.writeShellScript "hyprevents" '' + reload_astal() { + systemctl --user restart astal + } + + handle() { + case $1 in + monitoradded*) reload_astal ;; + monitorremoved*) reload_astal ;; + esac + } + + ${pkgs.socat}/bin/socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -r line; do handle "$line"; done + ''; + }; + }; + + systemd.user.services.astal = { + Unit = { + Description = "Runs the astal bar instance"; + After = [ "graphical-session-pre.target" ]; + }; + + Service = { + Type = "exec"; + ExecStart = "${inputs.astal-bar.packages.x86_64-linux.default}/bin/astal-bar"; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; +} diff --git a/modules/home-manager/php.nix b/modules/home-manager/php.nix new file mode 100644 index 0000000..ab56f44 --- /dev/null +++ b/modules/home-manager/php.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + programs.helix.languages.language-server.intelephense = with pkgs.nodePackages; { + command = "${intelephense}/bin/intelephense"; + }; + + programs.git.ignores = [ + ".phpactor.json" + ".phpcomplete_extended/" + ".phpunit.result.cache" + ".phpcs.xml" + ]; +} diff --git a/modules/home-manager/python.nix b/modules/home-manager/python.nix new file mode 100644 index 0000000..464fc39 --- /dev/null +++ b/modules/home-manager/python.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.pyright + pkgs.black + pkgs.ruff + ]; + + programs.helix.languages = { + language = [ + { + name = "python"; + language-servers = [ "pyright" "ruff" ]; + formatter = { command = "black"; args = ["--line-length" "88" "--quiet" "-"]; }; + auto-format = true; + } + ]; + language-server.pyright.config.python.analysis = { typeCheckingMode = "basic"; }; + language-server.ruff = { command = "ruff"; }; + language-server.ruff.config.setting = { args = ["--ignore" "E501" ]; }; + }; + + programs.starship.settings = { + python = { + format = "[$virtualenv]($style) "; + style = "bright-black"; + }; + }; +} diff --git a/modules/home-manager/tarrel.nix b/modules/home-manager/tarrel.nix new file mode 100644 index 0000000..a8ddb9f --- /dev/null +++ b/modules/home-manager/tarrel.nix @@ -0,0 +1,38 @@ +{ pkgs, ... }: +{ + imports = [ + ../home-manager/core + ../home-manager/hyprland.nix + ]; + + home.username = "jras"; + home.homeDirectory = "/home/jras"; + home.stateVersion = "23.11"; + + programs.git = { + userName = "Jasper Ras"; + userEmail = "jaspert.ras@gmail.com"; + }; + + home.file = { + gamestream-start = { + text = '' + #!${pkgs.zsh}/bin/zsh + ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,1920x1080@59.94,auto,2 + ''; + target = "bin/gamestream-start"; + executable = true; + }; + gamestream-end = { + text = '' + #!${pkgs.zsh}/bin/zsh + ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,preferred,auto,1 + ''; + target = "bin/gamestream-end"; + executable = true; + }; + }; + + programs.zsh.envExtra = "export PATH=$HOME/bin:$PATH"; + }; +} diff --git a/modules/hyprland.nix b/modules/hyprland.nix new file mode 100644 index 0000000..92d5ee2 --- /dev/null +++ b/modules/hyprland.nix @@ -0,0 +1,63 @@ +{ inputs, pkgs, ... }: +{ + # find a better home: + environment.systemPackages = with pkgs; [ + kitty + alacritty + firefox + whatsapp-for-linux + obsidian + ]; + + nix.settings = { + substituters = ["https://hyprland.cachix.org"]; + trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + }; + + programs.hyprland = { + enable = true; + xwayland.enable = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + + # Some of these do not belong here + services = { + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + keyd = { + enable = true; + keyboards = { + default = { + ids = [ "*" ]; + settings.main.capslock = "overload(meta, esc)"; + }; + }; + }; + greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.hyprland}/bin/Hyprland"; + user = "jras"; + }; + }; + }; + gnome.gnome-keyring.enable = true; + }; + systemd.user.services.kanshi = { + description = "kanshi daemon"; + environment = { + WAYLAND_DISPLAY="wayland-1"; + DISPLAY=":0"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; + }; + }; +} diff --git a/modules/snorlax/default.nix b/modules/snorlax/default.nix new file mode 100644 index 0000000..11deb13 --- /dev/null +++ b/modules/snorlax/default.nix @@ -0,0 +1,36 @@ +{ lib, ... }: +{ + imports = [ + ./disk-config.nix + ./git.nix + ./samba.nix + ./nginx.nix + ./uvm.nix + ./networking.nix + + ../core + ]; + + system.stateVersion = "24.11"; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "snorlax"; + networking.hostId = "1d1ebf34"; + + time.timeZone = "Europe/Amsterdam"; + + programs.mtr.enable = true; + services.openssh = { + enable = true; + allowSFTP = false; + settings = { + PermitRootLogin = "no"; + AllowUsers = [ "jras" ]; + }; + openFirewall = lib.mkForce true; + }; + + home-manager.users.jras = { home.stateVersion = "24.11"; }; +} diff --git a/modules/snorlax/disk-config.nix b/modules/snorlax/disk-config.nix new file mode 100644 index 0000000..9bac5f0 --- /dev/null +++ b/modules/snorlax/disk-config.nix @@ -0,0 +1,58 @@ +{ + disko.devices = { + disk = { + sda = { + device = "/dev/sda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + ESP = { + type = "EF00"; + size = "64M"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + zfs = { + size = "100%"; + content = { + type = "zfs"; + pool = "zroot"; + }; + }; + }; + }; + }; + }; + + zpool = { + zroot = { + type = "zpool"; + rootFsOptions = { + compression = "zstd"; + "com.sun:auto-snapshot" = "false"; + }; + mountpoint = "/"; + postCreateHook = "zfs list -t snap -H -o name | grep -E '^zroot@blank$' || zfs snapshot zroot@blank"; + + datasets = { + git = { + type = "zfs_fs"; + mountpoint = "/var/lib/git"; + options."com.sun:auto-snapshot" = "true"; + }; + + samba = { + type = "zfs_fs"; + mountpoint = "/srv/samba"; + options."com.sun:auto-snapshot" = "true"; + }; + }; + }; + }; + }; +} diff --git a/modules/snorlax/facter.json b/modules/snorlax/facter.json new file mode 100644 index 0000000..572dc4c --- /dev/null +++ b/modules/snorlax/facter.json @@ -0,0 +1,3833 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "none", + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": true, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 645120, + "smbios_version": 519 + }, + "bridge": [ + { + "index": 9, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e47", + "value": 7751 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "detail": { + "function": 0, + "command": 7, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "lpc_ich", + "driver_module": "lpc_ich", + "drivers": [ + "lpc_ich" + ], + "driver_modules": [ + "lpc_ich" + ], + "module_alias": "pci:v00008086d00001E47sv00001028sd00000577bc06sc01i00" + }, + { + "index": 14, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "0150", + "value": 336 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0009", + "value": 9 + }, + "model": "Intel Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "ivb_uncore", + "driver_module": "intel_uncore", + "drivers": [ + "ivb_uncore" + ], + "driver_modules": [ + "intel_uncore" + ], + "module_alias": "pci:v00008086d00000150sv00001028sd00000577bc06sc00i00" + } + ], + "cdrom": [ + { + "index": 22, + "attached_to": 8, + "class_list": [ + "cdrom", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0002", + "name": "CD-ROM", + "value": 2 + }, + "pci_interface": { + "hex": "0003", + "name": "DVD", + "value": 3 + }, + "vendor": { + "hex": "0000", + "name": "TSSTcorp", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "DVD-ROM SN-108BB", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "D200", + "value": 0 + }, + "model": "TSSTcorp DVD-ROM SN-108BB", + "sysfs_id": "/class/block/sr0", + "sysfs_bus_id": "1:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0", + "unix_device_name": "/dev/sr0", + "unix_device_number": { + "type": 98, + "major": 11, + "minor": 0, + "range": 1 + }, + "unix_device_names": [ + "/dev/cdrom", + "/dev/disk/by-diskseq/11", + "/dev/disk/by-id/ata-TSSTcorp_DVD-ROM_SN-108BB_R8N96GKD100791", + "/dev/disk/by-path/pci-0000:00:1f.2-ata-2", + "/dev/disk/by-path/pci-0000:00:1f.2-ata-2.0", + "/dev/sr0" + ], + "unix_device_name2": "/dev/sg1", + "unix_device_number2": { + "type": 99, + "major": 21, + "minor": 1, + "range": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci", + "sr" + ], + "driver_modules": [ + "ahci", + "sr_mod" + ] + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "family": 6, + "model": 58, + "stepping": 9, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "dts", + "acpi", + "mmx", + "fxsr", + "sse", + "sse2", + "ss", + "ht", + "tm", + "pbe", + "syscall", + "nx", + "rdtscp", + "lm", + "constant_tsc", + "arch_perfmon", + "pebs", + "bts", + "rep_good", + "nopl", + "xtopology", + "nonstop_tsc", + "cpuid", + "aperfmperf", + "pni", + "pclmulqdq", + "dtes64", + "monitor", + "ds_cpl", + "vmx", + "smx", + "est", + "tm2", + "ssse3", + "cx16", + "xtpr", + "pdcm", + "pcid", + "sse4_1", + "sse4_2", + "x2apic", + "popcnt", + "tsc_deadline_timer", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "cpuid_fault", + "epb", + "pti", + "tpr_shadow", + "flexpriority", + "ept", + "vpid", + "fsgsbase", + "smep", + "erms", + "xsaveopt", + "dtherm", + "ida", + "arat", + "pln", + "pts", + "vnmi" + ], + "bugs": [ + "cpu_meltdown", + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "l1tf", + "mds", + "swapgs", + "itlb_multihit", + "srbds", + "mmio_unknown" + ], + "bogo": 6185.66, + "cache": 6144, + "units": 16, + "physical_id": 0, + "siblings": 4, + "cores": 4, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 13, + "write_protect": false, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": 36, + "virtual": 48 + } + } + ], + "disk": [ + { + "index": 21, + "attached_to": 18, + "class_list": [ + "disk", + "usb", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 6, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "058f", + "name": "Multiple", + "value": 1423 + }, + "device": { + "hex": "6366", + "name": "Card Reader", + "value": 25446 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "058F63666438", + "model": "Multiple Card Reader", + "sysfs_id": "/class/block/sdb", + "sysfs_bus_id": "6:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/host6/target6:0:0/6: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/12", + "/dev/disk/by-id/usb-Multiple_Card_Reader_058F63666438-0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usbv2-0:2:1.0-scsi-0:0:0:0", + "/dev/sdb" + ], + "unix_device_name2": "/dev/sg2", + "unix_device_number2": { + "type": 99, + "major": 21, + "minor": 2, + "range": 1 + }, + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + }, + { + "type": "disk_geo", + "cylinders": 1016, + "heads": 124, + "sectors": 62, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 7815168, + "value_2": 512 + } + ], + "driver": "usb-storage", + "driver_module": "usb_storage", + "drivers": [ + "sd", + "usb-storage" + ], + "driver_modules": [ + "sd_mod", + "usb_storage" + ], + "module_alias": "usb:v058Fp6366d0100dc00dsc00dp00ic08isc06ip50in00" + }, + { + "index": 23, + "attached_to": 8, + "class_list": [ + "disk", + "ide", + "block_device" + ], + "bus_type": { + "hex": "0085", + "name": "IDE", + "value": 133 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "ST500LX003-1AC15", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "DEM4", + "value": 0 + }, + "serial": "W200Q36M", + "model": "ST500LX003-1AC15", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "0:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0", + "unix_device_name": "/dev/sda", + "unix_device_number": { + "type": 98, + "major": 8, + "minor": 0, + "range": 16 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/9", + "/dev/disk/by-id/ata-ST500LX003-1AC15G_W200Q36M", + "/dev/disk/by-id/wwn-0x5000c5005e35781a", + "/dev/disk/by-path/pci-0000:00:1f.2-ata-1", + "/dev/disk/by-path/pci-0000:00:1f.2-ata-1.0", + "/dev/sda" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 60801, + "heads": 255, + "sectors": 63, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 976773168, + "value_2": 512 + } + ], + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci", + "sd" + ], + "driver_modules": [ + "ahci", + "sd_mod" + ] + } + ], + "graphics_card": [ + { + "index": 17, + "attached_to": 0, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0003", + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "hex": "0000", + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "VGA", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "0152", + "value": 338 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0009", + "value": 9 + }, + "model": "Intel VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "resources": [ + { + "type": "io", + "base": 61440, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 32, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3758096384, + "range": 268435456, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4152360960, + "range": 4194304, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 786432, + "range": 131072, + "enabled": false, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 32, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": [ + "i915" + ], + "driver_modules": [ + "i915" + ], + "module_alias": "pci:v00008086d00000152sv00001028sd00000577bc03sc00i00", + "label": "Onboard IGD" + } + ], + "hub": [ + { + "index": 24, + "attached_to": 27, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1a40", + "value": 6720 + }, + "device": { + "hex": "0101", + "name": "USB 2.0 Hub", + "value": 257 + }, + "revision": { + "hex": "0000", + "name": "1.11", + "value": 0 + }, + "model": "USB 2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0", + "sysfs_bus_id": "3-3:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1A40p0101d0111dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 26, + "attached_to": 38, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0024", + "value": 36 + }, + "model": "Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0", + "sysfs_bus_id": "2-1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v8087p0024d0000dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 27, + "attached_to": 18, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.12.11 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.12.11 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 30, + "attached_to": 18, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.12.11 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.12.11 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0612dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 33, + "attached_to": 15, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.12.11 ehci_hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "EHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:1a.0", + "model": "Linux 6.12.11 ehci_hcd EHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1a.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp00ic09isc00ip00in00" + }, + { + "index": 37, + "attached_to": 33, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0024", + "value": 36 + }, + "model": "Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0", + "sysfs_bus_id": "1-1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v8087p0024d0000dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 38, + "attached_to": 16, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.12.11 ehci_hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "EHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.12", + "value": 0 + }, + "serial": "0000:00:1d.0", + "model": "Linux 6.12.11 ehci_hcd EHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0612dc09dsc00dp00ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 36, + "attached_to": 24, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "24.11", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.0", + "sysfs_bus_id": "3-3.4:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86", + "xkb_model": "pc104" + }, + "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 7, + "attached_to": 0, + "class_list": [ + "memory" + ], + "base_class": { + "hex": "0101", + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "hex": "0002", + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "mem", + "base": 0, + "range": 3991175168, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 4026531840 + } + ] + } + ], + "monitor": [ + { + "index": 19, + "attached_to": 17, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "0469", + "value": 1129 + }, + "device": { + "hex": "3433", + "name": "ROG PG348Q", + "value": 13363 + }, + "serial": "#ASMyP5gZbYPd", + "model": "ROG PG348Q", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 3440, + "height": 1440, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 798, + "value_2": 335 + } + ], + "detail": { + "manufacture_year": 2016, + "manufacture_week": 26, + "vertical_sync": { + "min": 30, + "max": 100 + }, + "horizontal_sync": { + "min": 73, + "max": 151 + }, + "horizontal_sync_timings": { + "disp": 3440, + "sync_start": 3488, + "sync_end": 3520, + "total": 3600 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1453, + "total": 1481 + }, + "clock": 319750, + "width": 3440, + "height": 1440, + "width_millimetres": 798, + "height_millimetres": 335, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "ROG PG348Q" + }, + "driver_info": { + "type": "display", + "width": 3440, + "height": 1440, + "vertical_sync": { + "min": 30, + "max": 100 + }, + "horizontal_sync": { + "min": 73, + "max": 151 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 3440, + "sync_start": 3488, + "sync_end": 3520, + "total": 3600 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1453, + "total": 1481 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 28, + "attached_to": 24, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "24.11", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.1", + "sysfs_bus_id": "3-3.4:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 2, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc01ip02in01" + }, + { + "index": 31, + "attached_to": 24, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "3233", + "name": "Ducky", + "value": 12851 + }, + "device": { + "hex": "5311", + "name": "Ducky One 3 SF RGB", + "value": 21265 + }, + "serial": "DK-V1.11-220819", + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Ducky One 3 SF RGB", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2", + "sysfs_bus_id": "3-3.3:1.2", + "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", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip02in02" + } + ], + "network_controller": [ + { + "index": 12, + "attached_to": 0, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 25 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1502", + "value": 5378 + }, + "sub_device": { + "hex": "052c", + "value": 1324 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:19.0", + "sysfs_bus_id": "0000:00:19.0", + "unix_device_name": "eno1", + "unix_device_names": [ + "eno1" + ], + "resources": [ + { + "type": "hwaddr", + "address": 57 + }, + { + "type": "io", + "base": 61568, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 31, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156555264, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4156788736, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 57 + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 31, + "prog_if": 0 + }, + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": [ + "e1000e" + ], + "driver_modules": [ + "e1000e" + ], + "module_alias": "pci:v00008086d00001502sv00001028sd0000052Cbc02sc00i00", + "label": "Onboard LAN" + } + ], + "network_interface": [ + { + "index": 40, + "attached_to": 12, + "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/eno1", + "sysfs_device_link": "/devices/pci0000:00/0000:00:19.0", + "unix_device_name": "eno1", + "unix_device_names": [ + "eno1" + ], + "resources": [ + { + "type": "hwaddr", + "address": 57 + }, + { + "type": "phwaddr", + "address": 57 + } + ], + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": [ + "e1000e" + ], + "driver_modules": [ + "e1000e" + ] + }, + { + "index": 41, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_name": "lo", + "unix_device_names": [ + "lo" + ] + } + ], + "pci": [ + { + "index": 10, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 22 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0080", + "name": "Communication controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e3a", + "value": 7738 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:16.0", + "sysfs_bus_id": "0000:00:16.0", + "resources": [ + { + "type": "irq", + "base": 30, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156801024, + "range": 16, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 30, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": [ + "mei_me" + ], + "driver_modules": [ + "mei_me" + ], + "module_alias": "pci:v00008086d00001E3Asv00001028sd00000577bc07sc80i00" + }, + { + "index": 13, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0005", + "name": "SMBus", + "value": 5 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e22", + "value": 7714 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "resources": [ + { + "type": "io", + "base": 61504, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 18, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156772352, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 3, + "header_type": 0, + "secondary_bus": 0, + "irq": 18, + "prog_if": 0 + }, + "driver": "i801_smbus", + "driver_module": "i2c_i801", + "drivers": [ + "i801_smbus" + ], + "driver_modules": [ + "i2c_i801" + ], + "module_alias": "pci:v00008086d00001E22sv00001028sd00000577bc0Csc05i00" + } + ], + "sound": [ + { + "index": 11, + "attached_to": 0, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 27 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0003", + "value": 3 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e20", + "value": 7712 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1b.0", + "sysfs_bus_id": "0000:00:1b.0", + "resources": [ + { + "type": "irq", + "base": 33, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156751872, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 33, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00008086d00001E20sv00001028sd00000577bc04sc03i00" + } + ], + "storage_controller": [ + { + "index": 8, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "pci_interface": { + "hex": "0001", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e02", + "value": 7682 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.2", + "sysfs_bus_id": "0000:00:1f.2", + "resources": [ + { + "type": "io", + "base": 61536, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 61600, + "range": 4, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 61616, + "range": 8, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 61632, + "range": 4, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 61648, + "range": 8, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 29, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156776448, + "range": 2048, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 29, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00008086d00001E02sv00001028sd00000577bc01sc06i01" + } + ], + "system": { + "form_factor": "desktop" + }, + "unknown": [ + { + "index": 20, + "attached_to": 0, + "class_list": [ + "unknown" + ], + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0000", + "name": "Serial controller", + "value": 0 + }, + "pci_interface": { + "hex": "0002", + "name": "16550", + "value": 2 + }, + "device": { + "hex": "0000", + "name": "16550A", + "value": 0 + }, + "model": "16550A", + "unix_device_name": "/dev/ttyS0", + "unix_device_names": [ + "/dev/ttyS0" + ], + "resources": [ + { + "type": "io", + "base": 1016, + "range": 0, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 4, + "triggered": 0, + "enabled": true + } + ] + } + ], + "usb": [ + { + "index": 25, + "attached_to": 24, + "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": "3233", + "name": "Ducky", + "value": 12851 + }, + "device": { + "hex": "5311", + "name": "Ducky One 3 SF RGB", + "value": 21265 + }, + "serial": "DK-V1.11-220819", + "model": "Ducky One 3 SF RGB", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1", + "sysfs_bus_id": "3-3.3:1.1", + "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-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-if01-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.1-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.1-event-kbd", + "/dev/input/event1" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip01in01" + }, + { + "index": 29, + "attached_to": 24, + "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": "3233", + "name": "Ducky", + "value": 12851 + }, + "device": { + "hex": "5311", + "name": "Ducky One 3 SF RGB", + "value": 21265 + }, + "serial": "DK-V1.11-220819", + "model": "Ducky One 3 SF RGB", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.4", + "sysfs_bus_id": "3-3.3:1.4", + "unix_device_name": "/dev/input/event4", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 68, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-event-if04", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.4-event", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.4-event", + "/dev/input/event4" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 4, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip00in04" + }, + { + "index": 32, + "attached_to": 24, + "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": "3233", + "name": "Ducky", + "value": 12851 + }, + "device": { + "hex": "5311", + "name": "Ducky One 3 SF RGB", + "value": 21265 + }, + "serial": "DK-V1.11-220819", + "model": "Ducky One 3 SF RGB", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0", + "sysfs_bus_id": "3-3.3:1.0", + "unix_device_name": "/dev/input/js0", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 0, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-joystick", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.0-joystick", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.0-joystick", + "/dev/input/js0" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip00in00" + }, + { + "index": 35, + "attached_to": 24, + "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": "046d", + "name": "Logitech Inc.", + "value": 1133 + }, + "device": { + "hex": "c52b", + "name": "USB Receiver", + "value": 50475 + }, + "revision": { + "hex": "0000", + "name": "24.11", + "value": 0 + }, + "model": "Logitech USB Receiver", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2", + "sysfs_bus_id": "3-3.4:1.2", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v046DpC52Bd2411dc00dsc00dp00ic03isc00ip00in02" + }, + { + "index": 39, + "attached_to": 24, + "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": "3233", + "name": "Ducky", + "value": 12851 + }, + "device": { + "hex": "5311", + "name": "Ducky One 3 SF RGB", + "value": 21265 + }, + "serial": "DK-V1.11-220819", + "model": "Ducky One 3 SF RGB", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.3", + "sysfs_bus_id": "3-3.3:1.3", + "unix_device_name": "/dev/input/event3", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 67, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Ducky_Ducky_One_3_SF_RGB_DK-V1.11-220819-if03-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3.3:1.3-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3.3:1.3-event-kbd", + "/dev/input/event3" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 1, + "interface_number": 3, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v3233p5311d0000dc00dsc00dp00ic03isc00ip01in03" + } + ], + "usb_controller": [ + { + "index": 15, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 26 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0020", + "name": "EHCI", + "value": 32 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e2d", + "value": 7725 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1a.0", + "sysfs_bus_id": "0000:00:1a.0", + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156784640, + "range": 1024, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 32 + }, + "driver": "ehci-pci", + "driver_module": "ehci_pci", + "drivers": [ + "ehci-pci" + ], + "driver_modules": [ + "ehci_pci" + ], + "driver_info": { + "type": "module", + "db_entry_0": [ + "ehci-hcd" + ], + "active": true, + "modprobe": true, + "names": [ + "ehci-hcd" + ], + "module_args": [ + "" + ], + "conf": "" + }, + "module_alias": "pci:v00008086d00001E2Dsv00001028sd00000577bc0Csc03i20" + }, + { + "index": 16, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 29 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0020", + "name": "EHCI", + "value": 32 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e26", + "value": 7718 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", + "sysfs_bus_id": "0000:00:1d.0", + "resources": [ + { + "type": "irq", + "base": 23, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156780544, + "range": 1024, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 23, + "prog_if": 32 + }, + "driver": "ehci-pci", + "driver_module": "ehci_pci", + "drivers": [ + "ehci-pci" + ], + "driver_modules": [ + "ehci_pci" + ], + "driver_info": { + "type": "module", + "db_entry_0": [ + "ehci-hcd" + ], + "active": true, + "modprobe": true, + "names": [ + "ehci-hcd" + ], + "module_args": [ + "" + ], + "conf": "" + }, + "module_alias": "pci:v00008086d00001E26sv00001028sd00000577bc0Csc03i20" + }, + { + "index": 18, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1028", + "value": 4136 + }, + "device": { + "hex": "1e31", + "value": 7729 + }, + "sub_device": { + "hex": "0577", + "value": 1399 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "resources": [ + { + "type": "irq", + "base": 24, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4156686336, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 24, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d00001E31sv00001028sd00000577bc0Csc03i30" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "Dell Inc.", + "version": "A12", + "date": "01/10/2013", + "features": [ + "PCI supported", + "PnP supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "EDD spec supported", + "1.2MB Floppy supported", + "720kB Floppy supported", + "2.88MB Floppy supported", + "Print Screen supported", + "8042 Keyboard Services supported", + "Serial Services supported", + "Printer Services supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported", + "F12 Network boot supported" + ], + "start_address": "0xf0000", + "rom_size": 12582912 + }, + "board": { + "handle": 2, + "manufacturer": "Dell Inc.", + "product": "0V8WGR", + "version": "A02", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "", + "chassis": 3 + }, + "cache": [ + { + "handle": 56, + "socket": "CPU Internal L1", + "size_max": 256, + "size_current": 256, + "speed": 0, + "mode": { + "hex": "0000", + "name": "Write Through", + "value": 0 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Unknown" + ], + "sram_type_supported": [ + "Unknown" + ] + }, + { + "handle": 57, + "socket": "CPU Internal L2", + "size_max": 1024, + "size_current": 1024, + "speed": 0, + "mode": { + "hex": "0000", + "name": "Write Through", + "value": 0 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Unknown" + ], + "sram_type_supported": [ + "Unknown" + ] + }, + { + "handle": 58, + "socket": "CPU Internal L3", + "size_max": 6144, + "size_current": 6144, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0009", + "name": "Other", + "value": 9 + }, + "sram_type_current": [ + "Unknown" + ], + "sram_type_supported": [ + "Unknown" + ] + } + ], + "chassis": { + "handle": 3, + "manufacturer": "Dell Inc.", + "version": "", + "chassis_type": { + "hex": "0010", + "name": "Lunch Box", + "value": 16 + }, + "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": 41, + "options": [ + "To Be Filled By O.E.M." + ] + }, + "language": [ + { + "handle": 57167, + "languages": [ + "en|US|iso8859-1" + ] + } + ], + "memory_array": [ + { + "handle": 59, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": 16777216, + "error_handle": 65534, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 63, + "array_handle": 59, + "start_address": 0, + "end_address": 4294967296, + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 60, + "location": "ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "Hynix/Hyundai", + "part_number": "HMT351U6CFR8C-PB", + "array_handle": 59, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 4194304, + "form_factor": { + "hex": "0009", + "name": "DIMM", + "value": 9 + }, + "set": 0, + "memory_type": { + "hex": "0018", + "name": "Other", + "value": 24 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 1600 + }, + { + "handle": 62, + "location": "ChannelB-DIMM0", + "bank_location": "BANK 2", + "manufacturer": "[Empty]", + "part_number": "[Empty]", + "array_handle": 59, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "hex": "0009", + "name": "DIMM", + "value": 9 + }, + "set": 0, + "memory_type": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + } + ], + "memory_device_mapped_address": [ + { + "handle": 61, + "memory_device_handle": 60, + "array_map_handle": 63, + "start_address": 0, + "end_address": 4294967296, + "row_position": 1, + "interleave_position": 1, + "interleave_depth": 1 + } + ], + "onboard": [ + { + "handle": 39, + "devices": [ + { + "name": "\"Intel HD Graphics\"", + "type": { + "hex": "0003", + "name": "Video", + "value": 3 + }, + "enabled": true + }, + { + "name": "NETWORK_NAME_STRING", + "type": { + "hex": "0005", + "name": "Ethernet", + "value": 5 + }, + "enabled": true + } + ] + } + ], + "port_connector": [ + { + "handle": 6, + "port_type": { + "hex": "0009", + "name": "Serial Port 16550A Compatible", + "value": 9 + }, + "internal_reference_designator": "J6A2A", + "external_connector_type": { + "hex": "0008", + "name": "DB-9 pin male", + "value": 8 + }, + "external_reference_designator": "COM A" + }, + { + "handle": 7, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J6A2B", + "external_connector_type": { + "hex": "0007", + "name": "DB-15 pin female", + "value": 7 + }, + "external_reference_designator": "Video" + }, + { + "handle": 8, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J2A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB1" + }, + { + "handle": 9, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J2A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB2" + }, + { + "handle": 10, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J5A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB3" + }, + { + "handle": 11, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J5A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB4" + }, + { + "handle": 12, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J5A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB5" + }, + { + "handle": 13, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J5A1", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB6" + }, + { + "handle": 18, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J2A1", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "LAN" + }, + { + "handle": 19, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J2A1", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "Display Port1" + }, + { + "handle": 20, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J3A1", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "Display Port2" + }, + { + "handle": 21, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J7A1", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "MIC-IN" + }, + { + "handle": 22, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J7A1", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "HP-OUT" + }, + { + "handle": 23, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J7A1", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "LINE-OUT" + }, + { + "handle": 24, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J7A1", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "LINE-IN" + }, + { + "handle": 25, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J7J3 - SATA PORT1" + }, + { + "handle": 26, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J8J1 - SATA PORT0" + }, + { + "handle": 27, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J2B3 - CPU FAN" + }, + { + "handle": 30, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J1D1 - INTRUDER" + }, + { + "handle": 33, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J2B3 - SYSTEM_FAN" + }, + { + "handle": 34, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J9E5 - INT_SPKR" + } + ], + "power_controls": [ + { + "handle": 43, + "month": 0, + "day": 0, + "hour": 0, + "minute": 0, + "second": 0 + } + ], + "processor": [ + { + "handle": 92, + "socket": "CPU 1", + "socket_type": { + "hex": "0024", + "name": "Other", + "value": 36 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "Intel(R) Core(TM) i5-3570S CPU @ 3.10GHz", + "part": "Fill By OEM", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "00cd", + "name": "Other", + "value": 205 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 3800, + "cache_handle_l1": 56, + "cache_handle_l2": 57, + "cache_handle_l3": 58 + } + ], + "system": { + "handle": 1, + "manufacturer": "Dell Inc.", + "product": "OptiPlex 7010", + "version": "01", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/modules/snorlax/git.nix b/modules/snorlax/git.nix new file mode 100644 index 0000000..a24c26a --- /dev/null +++ b/modules/snorlax/git.nix @@ -0,0 +1,71 @@ +{ lib, pkgs, ... }: +let + home = "/var/lib/git"; + repos = { + nixos = { + path = "${home}/nixos.git"; + desc = "My NixOS Configurations"; + owner = "jras"; + }; + + notes = { + path = "${home}/notes.git"; + desc = "My notes"; + owner = "jras"; + }; + + obsidian-wavez-theme = { + path = "${home}/obsidian-wavez-theme.git"; + desc = "The bordeaux theme for Obsidian"; + owner = "jras"; + }; + + astal-bar = { + path = "${home}/astal-bar.git"; + desc = "A wayland bar in jsx"; + owner = "jras"; + }; + }; + + startScript = pkgs.writeShellScript "init-git-repos" '' + ${lib.concatMapStrings ({ path, ... }: "${pkgs.git}/bin/git init --bare --shared ${path} && cd ${path} && ${pkgs.git}/bin/git branch -m main \n") (builtins.attrValues repos)} + ''; +in +{ + networking.firewall.allowedTCPPorts = [ 80 ]; + + services.cgit.snorlax = { + enable = true; + group = "git"; + repos = repos; + }; + + systemd.services.init-repos = { + description = "Initialize git repositories"; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ startScript ]; + + serviceConfig = { + Type = "oneshot"; + User = "git"; + Group = "git"; + ExecStart = startScript; + }; + }; + + users.groups.git = {}; + users.users.git = { + isNormalUser = true; + home = "${home}"; + homeMode = "0750"; + createHome = true; + shell = pkgs.zsh; + group = "git"; + openssh.authorizedKeys.keyFiles = [ + ../../keys/id_tarrel.pub + ../../keys/id_work.pub + ]; + packages = with pkgs; [ git ]; + }; + services.openssh.settings.AllowUsers = [ "git" ]; +} diff --git a/modules/snorlax/networking.nix b/modules/snorlax/networking.nix new file mode 100644 index 0000000..81683a3 --- /dev/null +++ b/modules/snorlax/networking.nix @@ -0,0 +1,28 @@ +{ ... }: +{ + systemd.network.enable = true; + + systemd.network.networks."10-lan" = { + matchConfig.Name = ["eno1" "vm-*"]; + networkConfig = { + Bridge = "br0"; + }; + }; + + systemd.network.netdevs."br0" = { + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + }; + + systemd.network.networks."10-lan-bridge" = { + matchConfig.Name = "br0"; + networkConfig = { + Address = ["192.168.50.7/24" ]; + Gateway = "192.168.50.1"; + DNS = ["192.168.50.1"]; + }; + linkConfig.RequiredForOnline = "routable"; + }; +} diff --git a/modules/snorlax/nginx.nix b/modules/snorlax/nginx.nix new file mode 100644 index 0000000..cc38496 --- /dev/null +++ b/modules/snorlax/nginx.nix @@ -0,0 +1,21 @@ +{ ... }: +{ + networking.firewall.allowedTCPPorts = [ 443 ]; + + services.nginx = { + enable = true; + recommendedTlsSettings = true; + + virtualHosts = { + "jras.nl" = { + onlySSL = true; + kTLS = true; + enableACME = true; + root = "/srv/www/jras.nl"; + }; + }; + }; + + security.acme.defaults.email = "jaspert.ras@gmail.com"; + security.acme.acceptTerms = true; +} diff --git a/modules/snorlax/samba.nix b/modules/snorlax/samba.nix new file mode 100644 index 0000000..44a4be9 --- /dev/null +++ b/modules/snorlax/samba.nix @@ -0,0 +1,37 @@ +{ ... }: +{ + services.samba = { + enable = true; + securityType = "user"; + openFirewall = true; + settings = { + global = { + "workgroup" = "WORKGROUP"; + "server string" = "smbnix"; + "netbios name" = "smbnix"; + "security" = "user"; + "hosts allow" = "192.168.50. 127.0.0.1 localhost"; + "hosts deny" = "0.0.0.0/0"; + "guest account" = "nobody"; + "map to guest" = "bad user"; + }; + + photos = { + "path" = "/srv/samba/photos"; + "browseable" = "yes"; + "read only" = "no"; + "guest ok" = "yes"; + "create mask" = "0644"; + "directory mask" = "0755"; + "force user" = "nobody"; + "force group" = "nogroup"; + }; + }; + }; + + # Used to advertise to Windows hosts + services.samba-wsdd = { + enable = true; + openFirewall = true; + }; +} diff --git a/modules/snorlax/uvm.nix b/modules/snorlax/uvm.nix new file mode 100644 index 0000000..9abd85a --- /dev/null +++ b/modules/snorlax/uvm.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + microvm.autostart = [ + "test1" + ]; +} diff --git a/modules/tarrel/default.nix b/modules/tarrel/default.nix new file mode 100644 index 0000000..9741d28 --- /dev/null +++ b/modules/tarrel/default.nix @@ -0,0 +1,51 @@ +{ config, ... }: +{ + imports = [ + ./hardware-configuration.nix + ./home-manager.nix + + ../core + ../hyprland.nix + ]; + + system.stateVersion = "24.05"; + + networking.hostName = "tarrel"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Amsterdam"; + + users.users.jras.extraGroups = [ "networkmanager" ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + hardware.graphics.enable = true; + services.xserver.videoDrivers = ["nvidia"]; + hardware.nvidia = { + modesetting.enable = true; + nvidiaSettings = true; + nvidiaPersistenced = true; + open = true; + + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + security.rtkit.enable = true; + + environment.sessionVariables = { + TERMINAL = "alacritty"; + EDITOR = "helix"; + }; + + environment.pathsToLink = [ "/libexec" ]; + + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + }; + + programs.steam.enable = true; +} diff --git a/modules/tarrel/hardware-configuration.nix b/modules/tarrel/hardware-configuration.nix new file mode 100644 index 0000000..4604fcd --- /dev/null +++ b/modules/tarrel/hardware-configuration.nix @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "uas" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/b73c41ec-fe01-4fa5-b50a-fd871e8c2710"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/BBB8-1AF8"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f0u9.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/tarrel/home-manager.nix b/modules/tarrel/home-manager.nix new file mode 100644 index 0000000..9709129 --- /dev/null +++ b/modules/tarrel/home-manager.nix @@ -0,0 +1,42 @@ +{ pkgs, inputs, ... }: +{ + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.jras = { + imports = [ + ../home-manager/core + ../home-manager/hyprland.nix + ]; + + home.username = "jras"; + home.homeDirectory = "/home/jras"; + home.stateVersion = "23.11"; + + programs.git = { + userName = "Jasper Ras"; + userEmail = "jaspert.ras@gmail.com"; + }; + + home.file = { + gamestream-start = { + text = '' + #!${pkgs.zsh}/bin/zsh + ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,1920x1080@59.94,auto,2 + ''; + target = "bin/gamestream-start"; + executable = true; + }; + gamestream-end = { + text = '' + #!${pkgs.zsh}/bin/zsh + ${pkgs.hyprland}/bin/hyprctl keyword monitor HDMI-A-1,preferred,auto,1 + ''; + target = "bin/gamestream-end"; + executable = true; + }; + }; + + programs.zsh.envExtra = "export PATH=$HOME/bin:$PATH"; + }; +} diff --git a/modules/work/default.nix b/modules/work/default.nix new file mode 100644 index 0000000..2073ea5 --- /dev/null +++ b/modules/work/default.nix @@ -0,0 +1,43 @@ +{ lib, pkgs, ... }: +{ + imports = [ + ../core + ../hyprland.nix + + ./hardware-configuration.nix + ./home-manager.nix + ./networking.nix + ./secrets.nix + ./tailscale.nix + ]; + + system.stateVersion = "24.05"; # Do NOT change before reading configuration.nix + + users.users.jras.extraGroups = [ "networkmanager" "docker" ]; + security.sudo.wheelNeedsPassword = lib.mkForce true; + + time.timeZone = "Europe/Amsterdam"; + + virtualisation.docker = { + enable = true; + enableOnBoot = true; + }; + + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + services.libinput.mouse.accelProfile = "flat"; + services.libinput.mouse.accelSpeed = "-5"; + services.upower.enable = true; + + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + programs.gnupg.agent.enable = true; + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3; +} diff --git a/modules/work/hardware-configuration.nix b/modules/work/hardware-configuration.nix new file mode 100644 index 0000000..9c8c4b1 --- /dev/null +++ b/modules/work/hardware-configuration.nix @@ -0,0 +1,41 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/df469cf1-1acc-4bf4-86e1-ec368e5a96a1"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-0f6e3603-084c-4438-9749-36b31b6f226a".device = "/dev/disk/by-uuid/0f6e3603-084c-4438-9749-36b31b6f226a"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/F0E6-4DF3"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0f0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/work/home-manager.nix b/modules/work/home-manager.nix new file mode 100644 index 0000000..c3ee4d9 --- /dev/null +++ b/modules/work/home-manager.nix @@ -0,0 +1,81 @@ +{ lib, pkgs, inputs, ... }: +{ + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.jras = { + imports = [ + ../home-manager/core + + ../home-manager/hyprland.nix + ../home-manager/hostnet.nix + ../home-manager/php.nix + ../home-manager/ansible.nix + ../home-manager/python.nix + ]; + + home.username = "jras"; + home.homeDirectory = "/home/jras"; + home.stateVersion = "22.11"; + home.sessionPath = [ "$HOME/.local/bin" ]; + + home.packages = with pkgs; [ + slack + moonlight-qt + brightnessctl + google-chrome + ]; + + programs.git = { + userName = "Jasper Ras"; + userEmail = lib.mkForce "jras@hostnet.nl"; + extraConfig = { gitreview.username = "jrasper"; }; + ignores = [ + ".direnv" + ".envrc" + ".project" + ".settings/" + ".buildpath" + "tags" + ".hhconfig" + ".DS_Store" + ".idea/" + ".vagrant/" + "*.swp" + "clover.xml" + "yarn-error.log" + "gsuite-auth.json" + "venv/" + "shell.nix" + + ".devenv*" + "devenv*" + ".pre-commit-config.yaml" + ]; + }; + + programs.zsh.initExtra = '' + eval "$(dircolors)" + ''; + programs.zsh.shellAliases = { + ssh = "TERM=xterm-256color ssh"; + }; + + programs.pyenv.enable = true; + programs.pyenv.enableZshIntegration = true; + programs.ssh = { + controlMaster = "auto"; + controlPersist = "12h"; + serverAliveInterval = 11; + matchBlocks = { + "*.g1i.one".user = "jasras"; + "*.os1.openstack.group.one".user = "jasras"; + "*.one.com".user = "jasras"; + "91.184.16.185".port = 12345; + "*.compute.prv.vps1-testpod-cph3.one.com".forwardAgent = true; + "access.*.one.com".forwardAgent = true; + "access.*.g1i.one".forwardAgent = true; + }; + }; + }; +} diff --git a/modules/work/networking.nix b/modules/work/networking.nix new file mode 100644 index 0000000..99ba8d7 --- /dev/null +++ b/modules/work/networking.nix @@ -0,0 +1,87 @@ +{ pkgs, config, ... }: +{ + environment.systemPackages = with pkgs; [ + networkmanager-openvpn + ]; + + networking.hostName = "work"; + networking.networkmanager.enable = true; + networking.networkmanager.dns = "systemd-resolved"; + networking.nameservers = [ "1.1.1.1" ]; + + services.openvpn.servers = { + ghostnet = { + config = '' + client + remote 185.57.9.6 1194 + cert ${config.age.secrets.ghostnet-cert.path} + key ${config.age.secrets.ghostnet-key.path} + ca ${config.age.secrets.ghostnet-ca.path} + auth-user-pass ${config.age.secrets.ghostnet-auth-user-pass.path} + reneg-sec 0 + cipher AES-256-CBC + comp-lzo adaptive + dev tun + proto udp + remote-cert-tls server + tls-auth ${config.age.secrets.ghostnet-tls-auth.path} 1 + nobind + auth-nocache + script-security 2 + persist-key + persist-tun + user nm-openvpn + group nm-openvpn + ''; + updateResolvConf = false; + autoStart = false; + }; + systems = { + config = '' + client + remote 'vpn-v2.one.com' + cert '${config.age.secrets.systems-cert.path}' + key '${config.age.secrets.systems-key.path}' + ca '${config.age.secrets.systems-ca.path}' + cipher AES-128-CBC + comp-lzo adaptive + dev tun + proto udp + port 1200 + remote-cert-tls server + tls-auth '${config.age.secrets.systems-tls-auth.path}' 1 + nobind + auth-nocache + script-security 2 + persist-key + persist-tun + user nm-openvpn + group nm-openvpn + ''; + updateResolvConf = false; + autoStart = false; + }; + }; + + programs.update-systemd-resolved.servers = { + ghostnet = { + includeAutomatically = true; + settings = { + routeOnlyDomains = [ "hostnetbv.nl." ]; + defaultRoute = false; + multicastDNS = "no"; + dnsOverTLS = "opportunistic"; + dnssec = "no"; + }; + }; + }; + + services.resolved = { + enable = true; + dnssec = "true"; + domains = [ "~." ]; + fallbackDns = [ "1.1.1.1" ]; + dnsovertls = "opportunistic"; + llmnr = "true"; + }; +} diff --git a/modules/work/secrets.nix b/modules/work/secrets.nix new file mode 100644 index 0000000..d13599d --- /dev/null +++ b/modules/work/secrets.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + age.secrets.ghostnet-cert.file = ../../secrets/ghostnet-cert.age; + age.secrets.ghostnet-key.file = ../../secrets/ghostnet-key.age; + age.secrets.ghostnet-ca.file = ../../secrets/ghostnet-ca.age; + age.secrets.ghostnet-tls-auth.file = ../../secrets/ghostnet-tls-auth.age; + age.secrets.ghostnet-auth-user-pass.file = ../../secrets/ghostnet-auth-user-pass.age; + + age.secrets.systems-cert.file = ../../secrets/systems-cert.age; + age.secrets.systems-key.file = ../../secrets/systems-key.age; + age.secrets.systems-ca.file = ../../secrets/systems-ca.age; + age.secrets.systems-tls-auth.file = ../../secrets/systems-tls-auth.age; +} -- cgit v1.2.3