completely refactor and modularize flake

This commit is contained in:
willifan 2024-12-26 23:10:52 +01:00
parent 3b1ed7e281
commit b7210fcf8e
141 changed files with 884 additions and 2605 deletions

View file

@ -0,0 +1,37 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
services.udev.extraRules = ''
# Disable mouse as gamepad
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
'';
services.ratbagd = {
enable = true;
package = pkgs.libratbag.overrideAttrs (previousAttrs: {
postInstall = ''
# Ensure the target directory exists
mkdir -p $out/share/libratbag/
# cat the custom configuration file
cat << EOF > $out/share/libratbag/asus-rog-pugio-II.device
[Device]
Name=ASUS ROG Pugio II
DeviceMatch=usb:0b05:1906;usb:0b05:1908
Driver=asus
[Driver/asus]
Profiles=3
Buttons=10
Leds=3
Dpis=4
Wireless=1
DpiRange=100:16000@100
ButtonMapping=f0;f1;f2;e4;e5;e6;0;e8;e9;e1;e2
EOF
'';
});
};
}

View file

@ -0,0 +1,16 @@
{ ... }:
{
imports = [
./ROG_Pugio_II_fixes.nix
./mangohud.nix
./minecraft.nix
./moonlight.nix
./steam.nix
./tetrio.nix
./yuzu.nix
];
}

View file

@ -0,0 +1,6 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
environment.systemPackages = with pkgs; [
mangohud
];
}

View file

@ -0,0 +1,6 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
environment.systemPackages = with pkgs; [
prismlauncher
];
}

View file

@ -0,0 +1,8 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
environment.systemPackages = [
pkgs.moonlight-qt
];
}

View file

@ -0,0 +1,16 @@
{ lib, config, ... }:
lib.mkIf config.desktop.enable {
programs.steam = {
enable = true;
gamescopeSession = {
enable = true;
};
};
hardware.steam-hardware.enable = true;
services.udev.extraRules = ''
SUBSYSTEM=="tty", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2102", MODE="0660", TAG+="uaccess"
'';
}

View file

@ -0,0 +1,8 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
environment.systemPackages = [
pkgs.tetrio-desktop
];
}

View file

@ -0,0 +1,6 @@
{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
environment.systemPackages = with pkgs; [
yuzu
];
}