0685822
Branches > main > 0685822 > files
Plover things from the LLM
Commit: 0685822b9637e304fd43627e9d3b05d1b9f1151a
Parent: 74c2f33
4 changed files:
nixos/flake.lock view file
@@ -1,72 +1,5 @@ { "nodes": {- "doomdir": {- "flake": false,- "locked": {- "path": "./config/doom.d",- "type": "path"- },- "original": {- "path": "./config/doom.d",- "type": "path"- },- "parent": []- },- "doomemacs": {- "flake": false,- "locked": {- "lastModified": 1784700822,- "narHash": "sha256-T4ycvZiNjHSWVKvQPdgDvKt/eQpjXKR9gjJ5pJD6GVM=",- "owner": "doomemacs",- "repo": "core",- "rev": "8a301d98d0d6d1aa7c54a8f8df48de7b2c886b2e",- "type": "github"- },- "original": {- "owner": "doomemacs",- "repo": "core",- "type": "github"- }- },- "doomemacs-modules": {- "flake": false,- "locked": {- "lastModified": 1784700508,- "narHash": "sha256-Z+ngNBXal5ENx3PnAFEj8VSuihL6aZbSuRjFoy6HBKQ=",- "owner": "doomemacs",- "repo": "modules",- "rev": "28f09d8afe81fa47ab83020b072f0dfa2f79dbdb",- "type": "github"- },- "original": {- "owner": "doomemacs",- "repo": "modules",- "type": "github"- }- },- "emacs-overlay": {- "inputs": {- "nixpkgs": [- "nix-doom-emacs-unstraightened"- ],- "nixpkgs-stable": [- "nix-doom-emacs-unstraightened"- ]- },- "locked": {- "lastModified": 1785060064,- "narHash": "sha256-3/hZcScan8WQ9VOkw8A+sgnosAQim446bW0Z2XsBix0=",- "owner": "nix-community",- "repo": "emacs-overlay",- "rev": "aa6933edb40a38be04a826628ac7596094cf8a15",- "type": "github"- },- "original": {- "owner": "nix-community",- "repo": "emacs-overlay",- "type": "github"- }- }, "home-manager": { "inputs": { "nixpkgs": [@@ -87,29 +20,6 @@ "type": "github" } },- "nix-doom-emacs-unstraightened": {- "inputs": {- "doomdir": "doomdir",- "doomemacs": "doomemacs",- "doomemacs-modules": "doomemacs-modules",- "emacs-overlay": "emacs-overlay",- "nixpkgs": [],- "systems": "systems"- },- "locked": {- "lastModified": 1785060853,- "narHash": "sha256-PovQRLBcprAbNEKlC56e9HoRLhapItTzwLi9LBpjoJA=",- "owner": "marienz",- "repo": "nix-doom-emacs-unstraightened",- "rev": "d41ee2ac18158bfa4ccc55bbba40e56520bb0110",- "type": "github"- },- "original": {- "owner": "marienz",- "repo": "nix-doom-emacs-unstraightened",- "type": "github"- }- },nixos/machines/pc/configuration.nix view file
@@ -44,6 +44,18 @@ SUBSYSTEM=="hidraw", ATTRS{idVendor}=="feed", ATTRS{idProduct}=="400d", MODE="0666" ''; + ## Plover's AppRun checks for this exact file, else it tries pkexec+ services.udev.packages = [+ (pkgs.writeTextFile {+ name = "plover-uinput-udev";+ destination = "/etc/udev/rules.d/99-plover-uinput.rules";+ text = ''+ KERNEL=="uinput", GROUP="plover", MODE="0660", OPTIONS+="static_node=uinput"+ '';+ })+ ];+ users.groups.plover = {};+ programs.nix-ld.enable = true; # services.usbmuxd.enable = true; services.printing.enable = true;@@ -52,7 +64,7 @@ users.users.grahp = { isNormalUser = true; description = "Grahp";- extraGroups = ["networkmanager" "wheel" "dialout"];+ extraGroups = ["networkmanager" "wheel" "dialout" "plover"]; shell = pkgs.fish; }; @@ -78,7 +90,7 @@ ## More ai smiesmie (this may have been failing?) # boot.kernelParams = [ "usbcore.autosuspend=-1" ];- boot.kernelModules = [ "v4l2loopback" ];+ boot.kernelModules = [ "v4l2loopback" "uinput" ]; boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];nixos/machines/pc/home.nix view file
@@ -142,5 +142,7 @@ # Lord forgive me, again emacs++ (callPackage ../../pkgs/plover.nix {}) ]; }nixos/pkgs/plover.nix view file
@@ -0,0 +1,39 @@+{ appimageTools, fetchurl, runCommand, git, runtimeShell }:++let+ pname = "plover";+ version = "5.4.2";+ src = fetchurl {+ url = "https://github.com/openstenoproject/plover/releases/download/v${version}/plover-${version}-x86_64.AppImage";+ hash = "sha256-icM3+C1IQSgaghLKm31Xjr5PYNKF06guMJdEvOLSm8c=";+ };+ extracted = appimageTools.extractType2 { inherit pname version src; };+ ## The udev rule and group live in configuration.nix, the FHS sandbox hides both from AppRun+ ## AppRun's LD_LIBRARY_PATH makes nix git load the bundled (old) libssl, so git gets a clean env+ contents = runCommand "${pname}-${version}-patched" {} ''+ cp -r ${extracted} $out+ chmod -R u+w $out+ substituteInPlace $out/AppRun \+ --replace-fail 'if [ ! -f "$UDEV_RULE_FILE" ] || ! grep -q "^plover:" /etc/group || ! groups | grep -qw "plover"; then' 'if false; then'+ cat > $out/usr/bin/git <<WRAPPER+ #!${runtimeShell}+ unset LD_LIBRARY_PATH LDFLAGS+ exec ${git}/bin/git "\$@"+ WRAPPER+ chmod +x $out/usr/bin/git+ '';+in+appimageTools.wrapAppImage {+ inherit pname version;+ src = contents;+ extraPkgs = pkgs: [ pkgs.xcb-util-cursor ];++ extraInstallCommands = ''+ for f in ${contents}/*.desktop; do+ install -Dm444 "$f" $out/share/applications/plover.desktop+ done+ substituteInPlace $out/share/applications/plover.desktop \+ --replace-quiet 'Exec=AppRun' 'Exec=plover'+ cp -r ${contents}/usr/share/icons $out/share/ 2>/dev/null || true+ '';+}