0685822

Branches > main > 0685822 > files

Plover things from the LLM

Grahp, 2026-10-25

Commit: 0685822b9637e304fd43627e9d3b05d1b9f1151a
Parent: 74c2f33

4 changed files:

nixos/flake.lock modified (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"-      }-    },

Show all 128 lines

nixos/machines/pc/configuration.nix modified (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 modified (view file)

@@ -142,5 +142,7 @@      # Lord forgive me, again     emacs++    (callPackage ../../pkgs/plover.nix {})   ]; }

nixos/pkgs/plover.nix added (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+  '';+}