Personal Nix setup

Replace local module for yeetmouse

Changed files
+49 -79
modules
+25 -1
flake.lock
···
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nvim-plugins": "nvim-plugins",
-
"wezterm": "wezterm"
+
"wezterm": "wezterm",
+
"yeetmouse": "yeetmouse"
}
},
"rust-overlay": {
···
"owner": "folke",
"ref": "v1.6.0",
"repo": "which-key.nvim",
+
"type": "github"
+
}
+
},
+
"yeetmouse": {
+
"inputs": {
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"dir": "nix",
+
"lastModified": 1728468997,
+
"narHash": "sha256-SoBdlk/amOe/nob9QPime4rDMAsHkZprhblERp/Yi8E=",
+
"owner": "kitten",
+
"repo": "yeetmouse",
+
"rev": "b38d777f8b64df750c2d01115c0ea51f6fad4fb7",
+
"type": "github"
+
},
+
"original": {
+
"dir": "nix",
+
"owner": "kitten",
+
"ref": "feat/port-maccel-input-handler",
+
"repo": "yeetmouse",
"type": "github"
},
+8
flake.nix
···
flake-utils.follows = "flake-utils";
};
};
+
+
yeetmouse = {
+
url = "github:kitten/yeetmouse/feat/port-maccel-input-handler?dir=nix";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
};
outputs = inputs: let
···
inherit overlays;
system = "x86_64-linux";
hostname = "pepper";
+
modules = [
+
inputs.yeetmouse.nixosModules.default
+
];
};
nixosConfigurations."cola" = mkSystem {
+16 -26
modules/desktop/rawaccel.nix
···
-
{ lib, config, pkgs, ... }:
+
{ lib, config, ... }:
with lib;
let
cfg = config.modules.desktop;
-
yeetmouse = import ../../lib/pkgs/yeetmouse.nix pkgs;
in {
options.modules.desktop.rawaccel = {
enable = mkOption {
···
};
config = mkIf cfg.rawaccel.enable {
-
boot.extraModulePackages = [ yeetmouse ];
-
environment.systemPackages = [ yeetmouse ];
-
services.udev = {
-
packages = [ yeetmouse ];
-
extraRules = let
-
echo = "${pkgs.coreutils}/bin/echo";
-
yeetmouseConfig = pkgs.writeShellScriptBin "yeetmouseConfig" ''
-
${echo} "2.89" > /sys/module/leetmouse/parameters/Acceleration
-
${echo} "4" > /sys/module/leetmouse/parameters/AccelerationMode
-
${echo} "0.4" > /sys/module/leetmouse/parameters/Exponent
-
${echo} "17.2" > /sys/module/leetmouse/parameters/InputCap
-
${echo} "6.54" > /sys/module/leetmouse/parameters/Midpoint
-
${echo} "7.53" > /sys/module/leetmouse/parameters/Offset
-
${echo} "0" > /sys/module/leetmouse/parameters/OutputCap
-
${echo} "0.17" > /sys/module/leetmouse/parameters/PreScale
-
${echo} "0.0514872" > /sys/module/leetmouse/parameters/RotationAngle
-
${echo} "3" > /sys/module/leetmouse/parameters/ScrollsPerTick
-
${echo} "0.56" > /sys/module/leetmouse/parameters/Sensitivity
-
${echo} "1" > /sys/module/leetmouse/parameters/UseSmoothing
-
${echo} "1" > /sys/module/leetmouse/parameters/update
-
'';
-
in ''
-
SUBSYSTEMS=="usb|input|hid", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceNumber}=="00", RUN+="${yeetmouseConfig}/bin/yeetmouseConfig"
-
'';
+
hardware.yeetmouse = {
+
enable = true;
+
parameters = {
+
Sensitivity = 0.56;
+
Acceleration = 3.97;
+
AccelerationMode = "jump";
+
Exponent = 1.0;
+
InputCap = 35.0;
+
Midpoint = 4.4;
+
Offset = 5.38;
+
PreScale = 0.17;
+
RotationAngle = 0.0506145;
+
ScrollsPerTick = 3;
+
UseSmoothing = true;
+
};
};
};
}
-52
modules/desktop/yeetmouse.nix
···
-
{ lib, config, user, pkgs, ... }:
-
-
with lib;
-
let
-
cfg = config.modules.desktop;
-
yeetmouse = import ../../lib/pkgs/yeetmouse.nix pkgs;
-
in {
-
options.modules.desktop.services = {
-
enable = mkOption {
-
default = cfg.enable;
-
example = true;
-
description = "Whether to enable services.";
-
type = types.bool;
-
};
-
};
-
-
config = mkIf cfg.services.enable {
-
users.users."${user}".extraGroups = [ "video" ];
-
-
services = {
-
printing.enable = true;
-
flatpak.enable = true;
-
colord.enable = true;
-
};
-
-
boot.extraModulePackages = [ yeetmouse ];
-
environment.systemPackages = [ yeetmouse ];
-
services.udev = {
-
packages = [ yeetmouse ];
-
extraRules = let
-
echo = "${pkgs.coreutils}/bin/echo";
-
yeetmouseConfig = pkgs.writeShellScriptBin "yeetmouseConfig" ''
-
${echo} "2.89" > /sys/module/leetmouse/parameters/Acceleration
-
${echo} "4" > /sys/module/leetmouse/parameters/AccelerationMode
-
${echo} "0.4" > /sys/module/leetmouse/parameters/Exponent
-
${echo} "17.2" > /sys/module/leetmouse/parameters/InputCap
-
${echo} "6.54" > /sys/module/leetmouse/parameters/Midpoint
-
${echo} "7.53" > /sys/module/leetmouse/parameters/Offset
-
${echo} "0" > /sys/module/leetmouse/parameters/OutputCap
-
${echo} "0.17" > /sys/module/leetmouse/parameters/PreScale
-
${echo} "0.0514872" > /sys/module/leetmouse/parameters/RotationAngle
-
${echo} "3" > /sys/module/leetmouse/parameters/ScrollsPerTick
-
${echo} "0.56" > /sys/module/leetmouse/parameters/Sensitivity
-
${echo} "1" > /sys/module/leetmouse/parameters/UseSmoothing
-
${echo} "1" > /sys/module/leetmouse/parameters/update
-
'';
-
in ''
-
SUBSYSTEMS=="usb|input|hid", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceNumber}=="00", RUN+="${yeetmouseConfig}/bin/yeetmouseConfig"
-
'';
-
};
-
};
-
}