diff --git a/overlays/ledger-udev-rules.nix b/overlays/ledger-udev-rules.nix new file mode 100644 index 0000000..495e460 --- /dev/null +++ b/overlays/ledger-udev-rules.nix @@ -0,0 +1,18 @@ +self: super: + +{ + ledger-udev-rules = super.writeTextFile { + name = "ledger-udev-rules"; + text = '' + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="2b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="3b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="4b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1807", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1808", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="users" + ''; + destination = "/etc/udev/rules.d/99-ledger.rules"; + }; +} diff --git a/overlays/steamcontroller-udev-rules.nix b/overlays/steamcontroller-udev-rules.nix index 74ff7ba..c2ab68d 100644 --- a/overlays/steamcontroller-udev-rules.nix +++ b/overlays/steamcontroller-udev-rules.nix @@ -1,7 +1,7 @@ self: super: { - steamcontroller-udev-rules = pkgs.writeTextFile { + steamcontroller-udev-rules = super.writeTextFile { name = "steamcontroller-udev-rules"; text = '' # This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation diff --git a/systems/ASUS-G46VW/configuration.nix b/systems/ASUS-G46VW/configuration.nix index 7cb4753..0868f22 100644 --- a/systems/ASUS-G46VW/configuration.nix +++ b/systems/ASUS-G46VW/configuration.nix @@ -14,17 +14,27 @@ (import ../../overlays/sudo.nix) (import ../../overlays/neovim.nix) (import ../../overlays/steam.nix) + (import ../../overlays/steamcontroller-udev-rules.nix) + (import ../../overlays/ledger-udev-rules.nix) ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + boot.plymouth.enable = true; hardware.bumblebee.enable = true; # For Steam hardware.opengl.driSupport32Bit = true; hardware.pulseaudio.support32Bit = true; + hardware.u2f.enable = true; + + services.udev.packages = with pkgs; [ + steamcontroller-udev-rules + ledger-udev-rules + ]; + networking.hostName = "rog-paul"; # Define your hostname. networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant. @@ -43,6 +53,7 @@ nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ gitFull + tig neovim usbutils filezilla @@ -54,6 +65,15 @@ nix-zsh-completions python3Full openvpn + qbittorrent + transmission-remote-gtk + yarn2nix + file + binutils + patchelf + gcc + nix-index + appimage-run gopass xclip @@ -80,6 +100,10 @@ gwenview kcalc spectacle + + gnome-breeze + arc-theme + materia-theme libreoffice gimp @@ -88,9 +112,17 @@ steam_primus sc-controller + steam-run + minecraft - electrum - electron-cash + glxinfo + i7z + lshw + nmap + nox + obs-studio + sassc + telnet ]; programs.tmux.enable = true; @@ -115,18 +147,6 @@ ) ]; - # Ledger udev rules - services.udev.extraRules = '' - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="2b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="3b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="4b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1807", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1808", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="ledger" - ''; - # List services that you want to enable: # Enable the OpenSSH daemon. @@ -162,13 +182,12 @@ users.extraUsers.paul = { isNormalUser = true; uid = 1000; - extraGroups = [ "wheel" "networkmanager" "ledger" "wireshark" ]; + extraGroups = [ "wheel" "networkmanager" "wireshark" ]; }; - users.extraGroups.ledger = { }; users.defaultUserShell = pkgs.zsh; programs.zsh.enable = true; - programs.zsh.enableAutosuggestions = true; + programs.zsh.autosuggestions.enable = true; programs.zsh.enableCompletion = true; programs.zsh.syntaxHighlighting.enable = true; programs.zsh.ohMyZsh.enable = true;