{ description = "gotta-scroll-fast (gsf) - host-side scroll acceleration toolkit"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: let eachSystem = flake-utils.lib.eachDefaultSystem; in eachSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = false; }; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ rustc cargo rustfmt clippy rust-analyzer rustPlatform.rustLibSrc pkg-config gcc clang gnumake git evtest libinput wev jq ripgrep fd jj ]; shellHook = '' export RUST_SRC_PATH="${pkgs.rustPlatform.rustLibSrc}" echo echo "✅ gsf dev shell ready" echo " Rust: $(rustc --version)" echo " Cargo: $(cargo --version)" echo " JJ: $(jj --version | head -n1)" echo if [ -e /dev/uinput ]; then echo "uinput: present at /dev/uinput" ls -l /dev/uinput else echo "uinput: /dev/uinput not found" echo " enable with: boot.kernelModules = [ \"uinput\" ];" fi echo ''; }; }); }