Files
gotta-scroll-fast/flake.nix
T
thomas af9f3e3567
Tests / test_core_function (push) Failing after 12s
export gsf package and hardware.gsf nixos module
2026-03-25 13:02:21 +00:00

86 lines
2.0 KiB
Nix

{
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
{
nixosModules.default = import ./nix/module.nix;
}
// eachSystem (system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = false;
};
gsfTools = pkgs.callPackage ./nix/package.nix {
src = self;
};
in {
packages.default = gsfTools;
packages.gsf-tools = gsfTools;
apps.gsf = flake-utils.lib.mkApp {
drv = gsfTools;
name = "gsf";
};
apps.gsfd = flake-utils.lib.mkApp {
drv = gsfTools;
name = "gsfd";
};
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
'';
};
});
}