d3246dc

Branches > main > d3246dc > files

Merge remote main

Grahp, 2026-10-25

Commit: d3246dc973adbce66300f42f5beff7382f858223
Parent: 43d88fd
Parent: 23954a1

6 changed files:

ghostty/config modified (view file)

@@ -29,5 +29,6 @@ keybind = alt+v=previous_tab  keybind = super+r=reload_config+keybind = ctrl+enter=unbind  window-save-state = always

nixos/flake.nix modified (view file)

@@ -27,7 +27,11 @@          {            home-manager.useGlobalPkgs = true;            home-manager.useUserPackages = true;-           home-manager.users.grahp = import ./machines/pc/home.nix;+           home-manager.users.grahp = {+             imports = [+               ./machines/pc/home.nix+             ];+           };          }        ];      };@@ -39,7 +43,11 @@          {            home-manager.useGlobalPkgs = true;            home-manager.useUserPackages = true;-           home-manager.users.grahp = import ./machines/chromebook/home.nix;+           home-manager.users.grahp = {+             imports = [+               ./machines/chromebook/home.nix+             ];+           };          }        ];      };

nixos/machines/pc/configuration.nix modified (view file)

@@ -17,6 +17,7 @@    ## Nvidia here   services.xserver.dpi = 300;+  services.xserver.videoDrivers = ["nvidia"];    hardware.nvidia = {     modesetting.enable = true;@@ -27,15 +28,13 @@     package = config.boot.kernelPackages.nvidiaPackages.stable;   }; -  ## More ai smiesmie-  boot.kernelParams = [ "usbcore.autosuspend=-1" ];-   services.usbmuxd = {     enable = true;     package = pkgs.usbmuxd2;   };    hardware.graphics.enable = true;+  hardware.graphics.enable32Bit = true;    ## Disable SSH gui popup thing?   programs.ssh.askPassword = "";@@ -45,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;@@ -53,7 +64,7 @@   users.users.grahp = {     isNormalUser = true;     description = "Grahp";-    extraGroups = ["networkmanager" "wheel" "dialout"];+    extraGroups = ["networkmanager" "wheel" "dialout" "plover"];     shell = pkgs.fish;   }; @@ -76,16 +87,23 @@    hardware.steam-hardware.enable = true; +  ## More ai smiesmie (this may have been failing?)++  # boot.kernelParams = [ "usbcore.autosuspend=-1" ];+  boot.kernelModules = [ "v4l2loopback" "uinput" ];   boot.extraModulePackages = with config.boot.kernelPackages; [     v4l2loopback   ];-  boot.kernelModules = [ "v4l2loopback" ];   boot.extraModprobeConfig = ''-    options v4l2loopback devices=1 video_nr=2 card_label="OBS Virtual Camera" exclusive_caps=1 formats=YUYV,MJPEG-    '';-  security.polkit.enable = true;+    options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1+  ''; -  programs.obs-studio.enableVirtualCamera = true;+  security.polkit.enable = true;+  # boot.extraModprobeConfig = ''+  #   options v4l2loopback devices=1 video_nr=2 card_label="OBS Virtual Camera" exclusive_caps=1 formats=YUYV,MJPEG+  #   '';+  #+  # programs.obs-studio.enableVirtualCamera = true;    ## No touchy says the comment!   system.stateVersion = "24.11";

nixos/machines/pc/home.nix modified (view file)

@@ -134,13 +134,15 @@     zig      protontricks-      freetype+    freetype -      ntfs3g+    ntfs3g +    signal-desktop -    qgis+    # Lord forgive me, again+    emacs -    jetbrains.idea-community+    (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+  '';+}

nvim/lua/lsp.lua modified (view file)

@@ -39,7 +39,7 @@  config({name = "kotlin-language-server",         filetypes = {"kotlin"},-        root_markers = {"build.gradle.kts", "gradlew", ".git"}})+        root_markers = {"build.gradle.kts", "gradlew", ".git", ".project", "gradlew.bat", "gradle"}})  config({name = "lua-language-server",         filetypes = {"lua"},@@ -47,8 +47,13 @@         settings = {Lua = {diagnostics = {globals = {"vim"}}, format = {enable = false}}},         root_markers = {".luarc.json", ".luarc.jsonc", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", "selene.yml", ".git"}}) +local java_home = vim.fn.fnamemodify(vim.fn.resolve(vim.fn.exepath("java")), ":h:h")+ config({name = "jdtls",         filetypes = {"java"},+        settings = {java = {configuration = {runtimes = {{name = "JavaSE-25",+                                                          path = java_home,+                                                          default = true}}}}},         root_markers = {"mvnw",                         "gradlew",                         "settings.gradle",