diff options
| author | 2025-03-31 13:18:59 -0400 | |
|---|---|---|
| committer | 2025-03-31 13:18:59 -0400 | |
| commit | 56d74ee6b8ba7ac9572814f556891e86525f7663 (patch) | |
| tree | 3253e4e9b581e1c33b52e54ed09d7c761797bd88 /files | |
| parent | d907076ef8d0fcfcb8f99581aa3cc8052634a654 (diff) | |
| download | dotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.tar.gz dotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.tar.bz2 dotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.zip | |
Experiment with "as needed" packages and cleanup
Diffstat (limited to 'files')
| -rw-r--r-- | files/nixpkgs-patches/274ea258ee704724977160757ac4228ecb6eb31f.diff | 36 | ||||
| -rw-r--r-- | files/nixpkgs-patches/383432.diff | 825 | ||||
| -rw-r--r-- | files/nixpkgs-patches/d3631853bd708955edfe71dca94171efb5749711.diff | 80 | ||||
| -rw-r--r-- | files/nixpkgs-patches/f57f3d99091a105cbd9484c33264558785efc4be.diff | 64 | ||||
| -rw-r--r-- | files/nvim/init.vim | 35 | ||||
| -rw-r--r-- | files/nvim/mini_completion_no_title.diff | 0 | ||||
| -rw-r--r-- | files/nvim/mini_sessions_view.diff | 13 | ||||
| -rw-r--r-- | files/nvim/mini_starter_picture.diff | 41 |
8 files changed, 105 insertions, 989 deletions
diff --git a/files/nixpkgs-patches/274ea258ee704724977160757ac4228ecb6eb31f.diff b/files/nixpkgs-patches/274ea258ee704724977160757ac4228ecb6eb31f.diff deleted file mode 100644 index 780acd3..0000000 --- a/files/nixpkgs-patches/274ea258ee704724977160757ac4228ecb6eb31f.diff +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/pkgs/by-name/or/orca-slicer/package.nix b/pkgs/by-name/or/orca-slicer/package.nix -index faa025a797f0b..96b996e4f38c6 100644 ---- a/pkgs/by-name/or/orca-slicer/package.nix -+++ b/pkgs/by-name/or/orca-slicer/package.nix -@@ -3,6 +3,7 @@ - lib, - binutils, - fetchFromGitHub, -+ fetchpatch, - cmake, - pkg-config, - wrapGAppsHook3, -@@ -126,7 +127,15 @@ stdenv.mkDerivation rec { - patches = [ - # Fix for webkitgtk linking - ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch -+ # Link opencv_core and opencv_imgproc instead of opencv_world - ./patches/dont-link-opencv-world-orca.patch -+ # The changeset from https://github.com/SoftFever/OrcaSlicer/pull/7650, can be removed when that PR gets merged -+ # Allows disabling the update nag screen -+ (fetchpatch { -+ name = "pr-7650-configurable-update-check.patch"; -+ url = "https://github.com/SoftFever/OrcaSlicer/commit/d10a06ae11089cd1f63705e87f558e9392f7a167.patch"; -+ hash = "sha256-t4own5AwPsLYBsGA15id5IH1ngM0NSuWdFsrxMRXmTk="; -+ }) - ]; - - doCheck = true; -@@ -186,6 +195,7 @@ stdenv.mkDerivation rec { - "-DCMAKE_CXX_FLAGS=-DGL_SILENCE_DEPRECATION" - "-DCMAKE_EXE_LINKER_FLAGS=-Wl,--no-as-needed" - "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${mesa.drivers}/lib -Wl,-rpath,${mesa.osmesa}/lib" -+ "-DORCA_VERSION_CHECK_DEFAULT=OFF" - ]; - - preFixup = '' diff --git a/files/nixpkgs-patches/383432.diff b/files/nixpkgs-patches/383432.diff deleted file mode 100644 index 4f21af4..0000000 --- a/files/nixpkgs-patches/383432.diff +++ /dev/null @@ -1,825 +0,0 @@ -diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix -index c47a04e9e42c6..aaa53bb38c575 100644 ---- a/pkgs/applications/emulators/wine/base.nix -+++ b/pkgs/applications/emulators/wine/base.nix -@@ -98,7 +98,7 @@ lib.optionalAttrs (buildScript != null) { builder = buildScript; } - ++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ] - ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ] - ++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ] -- ++ lib.optionals (openglSupport && !stdenv.hostPlatform.isDarwin) [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ] -+ ++ lib.optionals (openglSupport && !stdenv.hostPlatform.isDarwin) [ pkgs.libGLU pkgs.libGL pkgs.libdrm ] - ++ lib.optionals stdenv.hostPlatform.isDarwin darwinFrameworks - ++ lib.optionals (x11Support) (with pkgs.xorg; [ - libX11 libXcomposite libXcursor libXext libXfixes libXi libXrandr libXrender libXxf86vm -diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix -index 9cfcfc6072f4f..3974536067c13 100644 ---- a/pkgs/applications/video/kodi/unwrapped.nix -+++ b/pkgs/applications/video/kodi/unwrapped.nix -@@ -18,7 +18,7 @@ - , libcrossguid, libmicrohttpd - , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1 - , libplist, p11-kit, zlib, flatbuffers, fstrcmp, rapidjson --, lirc, mesa -+, lirc, mesa-gl-headers - , x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp - , dbusSupport ? true, dbus - , joystickSupport ? true, cwiid -@@ -122,7 +122,7 @@ in stdenv.mkDerivation (finalAttrs: { - bluez giflib glib harfbuzz lcms2 libpthreadstubs - ffmpeg flatbuffers fstrcmp rapidjson - lirc -- mesa # uses eglext_angle.h, which is not provided by glvnd -+ mesa-gl-headers - ] - ++ lib.optionals x11Support [ - libX11 xorgproto libXt libXmu libXext.dev libXdmcp -diff --git a/pkgs/by-name/he/hey-mail/package.nix b/pkgs/by-name/he/hey-mail/package.nix -index 52b0add9188ea..b4e3f10b2995b 100644 ---- a/pkgs/by-name/he/hey-mail/package.nix -+++ b/pkgs/by-name/he/hey-mail/package.nix -@@ -21,7 +21,7 @@ - wrapGAppsHook3, - writeScript, - atk, -- mesa, -+ libgbm, - cups, - systemd, - alsa-lib, -@@ -53,7 +53,7 @@ let - libxkbcommon - libGL - atk -- mesa -+ libgbm - cups - systemd - alsa-lib -diff --git a/pkgs/by-name/ma/magpie/package.nix b/pkgs/by-name/ma/magpie/package.nix -index 65ff728acba0c..35036b14319ca 100644 ---- a/pkgs/by-name/ma/magpie/package.nix -+++ b/pkgs/by-name/ma/magpie/package.nix -@@ -25,6 +25,7 @@ - libXtst, - libinput, - libdrm, -+ libgbm, - gsettings-desktop-schemas, - glib, - gtk3, -@@ -32,7 +33,7 @@ - pipewire, - libgudev, - libwacom, -- mesa, -+ mesa-gl-headers, - meson, - nix-update-script, - validatePkgConfig, -@@ -86,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: { - libXtst - libcap_ng - graphene -- mesa # actually uses eglmesaext -+ mesa-gl-headers - ]; - - nativeBuildInputs = [ -@@ -114,6 +115,7 @@ stdenv.mkDerivation (finalAttrs: { - gtk3 - libcanberra - libdrm -+ libgbm - libgudev - libinput - libstartup_notification -diff --git a/pkgs/by-name/mu/muffin/package.nix b/pkgs/by-name/mu/muffin/package.nix -index ad233c8a85aa1..e781647b9ad7e 100644 ---- a/pkgs/by-name/mu/muffin/package.nix -+++ b/pkgs/by-name/mu/muffin/package.nix -@@ -15,6 +15,7 @@ - json-glib, - libcanberra, - libdrm, -+ libgbm, - libgnomekbd, - libgudev, - libinput, -@@ -24,7 +25,7 @@ - libXdamage, - libxkbcommon, - libXtst, -- mesa, -+ mesa-gl-headers, - meson, - ninja, - pipewire, -@@ -84,6 +85,7 @@ stdenv.mkDerivation rec { - gtk3 - libcanberra - libdrm -+ libgbm - libgnomekbd - libgudev - libinput -@@ -104,7 +106,7 @@ stdenv.mkDerivation rec { - json-glib - libXtst - graphene -- mesa # actually uses eglmesaext -+ mesa-gl-headers - ]; - - mesonFlags = [ -diff --git a/pkgs/by-name/mu/mutter/package.nix b/pkgs/by-name/mu/mutter/package.nix -index 8480c9095b947..4e08097370b5e 100644 ---- a/pkgs/by-name/mu/mutter/package.nix -+++ b/pkgs/by-name/mu/mutter/package.nix -@@ -36,6 +36,7 @@ - libXau, - libinput, - libdrm, -+ libgbm, - libei, - libdisplay-info, - gsettings-desktop-schemas, -@@ -50,7 +51,7 @@ - libwacom, - libSM, - xwayland, -- mesa, -+ mesa-gl-headers, - meson, - gnome-settings-daemon, - xorgserver, -@@ -101,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: { - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-mtk - graphene -- mesa # actually uses eglmesaext -+ mesa-gl-headers - ]; - - nativeBuildInputs = [ -@@ -133,6 +134,7 @@ stdenv.mkDerivation (finalAttrs: { - harfbuzz - libcanberra - libdrm -+ libgbm - libei - libdisplay-info - libGL -diff --git a/pkgs/by-name/mu/mutter46/package.nix b/pkgs/by-name/mu/mutter46/package.nix -index 67079c173ab8d..b594ee5c8cf22 100644 ---- a/pkgs/by-name/mu/mutter46/package.nix -+++ b/pkgs/by-name/mu/mutter46/package.nix -@@ -34,6 +34,7 @@ - libXau, - libinput, - libdrm, -+ libgbm, - libei, - libdisplay-info, - gsettings-desktop-schemas, -@@ -48,7 +49,7 @@ - libwacom, - libSM, - xwayland, -- mesa, -+ mesa-gl-headers, - meson, - gnome-settings-daemon, - xorgserver, -@@ -97,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-mtk - graphene -- mesa # actually uses eglmesaext -+ mesa-gl-headers - ]; - - nativeBuildInputs = [ -@@ -128,6 +129,7 @@ stdenv.mkDerivation (finalAttrs: { - harfbuzz - libcanberra - libdrm -+ libgbm - libei - libdisplay-info - libgudev -diff --git a/pkgs/by-name/or/orca-slicer/package.nix b/pkgs/by-name/or/orca-slicer/package.nix -index 96b996e4f38c6..89e03d1d69977 100644 ---- a/pkgs/by-name/or/orca-slicer/package.nix -+++ b/pkgs/by-name/or/orca-slicer/package.nix -@@ -27,7 +27,6 @@ - hicolor-icon-theme, - ilmbase, - libpng, -- mesa, - mpfr, - nlopt, - opencascade-occt_7_6, -@@ -107,9 +106,6 @@ stdenv.mkDerivation rec { - hicolor-icon-theme - ilmbase - libpng -- mesa -- mesa.osmesa -- mesa.drivers - mpfr - nlopt - opencascade-occt_7_6 -@@ -129,6 +125,8 @@ stdenv.mkDerivation rec { - ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch - # Link opencv_core and opencv_imgproc instead of opencv_world - ./patches/dont-link-opencv-world-orca.patch -+ # Don't link osmesa -+ ./patches/no-osmesa.patch - # The changeset from https://github.com/SoftFever/OrcaSlicer/pull/7650, can be removed when that PR gets merged - # Allows disabling the update nag screen - (fetchpatch { -@@ -169,8 +167,6 @@ stdenv.mkDerivation rec { - - NIX_LDFLAGS = toString [ - (lib.optionalString withSystemd "-ludev") -- "-L${mesa.osmesa}/lib" -- "-L${mesa.drivers}/lib" - "-L${boost186}/lib" - "-lboost_log" - "-lboost_log_setup" -@@ -194,7 +190,6 @@ stdenv.mkDerivation rec { - "-DBOOST_LOG_NO_LIB=OFF" - "-DCMAKE_CXX_FLAGS=-DGL_SILENCE_DEPRECATION" - "-DCMAKE_EXE_LINKER_FLAGS=-Wl,--no-as-needed" -- "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${mesa.drivers}/lib -Wl,-rpath,${mesa.osmesa}/lib" - "-DORCA_VERSION_CHECK_DEFAULT=OFF" - ]; - -@@ -202,12 +197,9 @@ stdenv.mkDerivation rec { - gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : "$out/lib:${ - lib.makeLibraryPath [ -- mesa.drivers -- mesa.osmesa - glew - ] - }" -- --prefix LIBGL_DRIVERS_PATH : "${mesa.drivers}/lib/dri" - --set WEBKIT_DISABLE_COMPOSITING_MODE 1 - ) - ''; -diff --git a/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch b/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch -new file mode 100644 -index 0000000000000..09298b3e55b6d ---- /dev/null -+++ b/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch -@@ -0,0 +1,13 @@ -+diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt -+index e695acd48..174e233e6 100644 -+--- a/src/slic3r/CMakeLists.txt -++++ b/src/slic3r/CMakeLists.txt -+@@ -587,7 +587,7 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") -+ FIND_LIBRARY(WAYLAND_EGL_LIBRARIES NAMES wayland-egl) -+ FIND_LIBRARY(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client) -+ find_package(CURL REQUIRED) -+- target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES} OSMesa) -++ target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) -+ target_link_libraries(libslic3r_gui -+ OpenGL::EGL -+ ${WAYLAND_SERVER_LIBRARIES} -diff --git a/pkgs/by-name/qq/qqmusic/package.nix b/pkgs/by-name/qq/qqmusic/package.nix -index 4faa34fd83a42..4e35c80b4a9ac 100644 ---- a/pkgs/by-name/qq/qqmusic/package.nix -+++ b/pkgs/by-name/qq/qqmusic/package.nix -@@ -21,7 +21,6 @@ - libdbusmenu, - libglvnd, - libpulseaudio, -- mesa, - nspr, - nss, - pango, -@@ -62,7 +61,6 @@ stdenv.mkDerivation (finalAttrs: { - libdbusmenu - libglvnd - libpulseaudio -- mesa - nspr - nss - pango -diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix -index 6e7b77e2089d4..fc5853479f467 100644 ---- a/pkgs/desktops/enlightenment/efl/default.nix -+++ b/pkgs/desktops/enlightenment/efl/default.nix -@@ -27,6 +27,7 @@ - jbig2dec, - libGL, - libdrm, -+ libgbm, - libinput, - libjpeg, - libpng, -@@ -40,7 +41,7 @@ - libxkbcommon, - lua, - lz4, -- mesa, -+ mesa-gl-headers, - mint-x-icons, - openjpeg, - openssl, -@@ -91,7 +92,7 @@ stdenv.mkDerivation rec { - libsndfile - libtiff - lz4 -- mesa # actually uses eglmesaext -+ mesa-gl-headers - openssl - systemd - udev -@@ -118,6 +119,7 @@ stdenv.mkDerivation rec { - hicolor-icon-theme # for the icon theme - jbig2dec - libdrm -+ libgbm - libinput - libjpeg - libraw -diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix -index c33e6f4cbfe25..d0259c6016b29 100644 ---- a/pkgs/development/libraries/arrayfire/default.nix -+++ b/pkgs/development/libraries/arrayfire/default.nix -@@ -245,5 +245,6 @@ stdenv.mkDerivation rec { - chessai - twesterhout - ]; -+ broken = true; - }; - } -diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix -index 469a33c8d713e..58164f4454a54 100644 ---- a/pkgs/development/libraries/cogl/default.nix -+++ b/pkgs/development/libraries/cogl/default.nix -@@ -14,7 +14,8 @@ - gobject-introspection, - wayland, - gnome, -- mesa, -+ libgbm, -+ mesa-gl-headers, - automake, - autoconf, - gstreamerSupport ? false, -@@ -86,7 +87,8 @@ stdenv.mkDerivation rec { - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - wayland -- mesa # actually uses eglmesaext -+ libgbm -+ mesa-gl-headers - libGL - xorg.libXrandr - xorg.libXfixes -diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix -index 8439861cf36c8..23e5104ffcf6f 100644 ---- a/pkgs/development/libraries/mesa/common.nix -+++ b/pkgs/development/libraries/mesa/common.nix -@@ -5,14 +5,14 @@ - # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa - rec { - pname = "mesa"; -- version = "24.3.4"; -+ version = "25.0.1"; - - src = fetchFromGitLab { - domain = "gitlab.freedesktop.org"; - owner = "mesa"; - repo = "mesa"; - rev = "mesa-${version}"; -- hash = "sha256-1RUHbTgcCxdDrWjqB0EG4Ny/nwdjQHHpyPauiW/yogU="; -+ hash = "sha256-9D4d7EEdZysvXDRcmpbyt85Lo64sldNRomp6/HUVORo="; - }; - - meta = { -diff --git a/pkgs/development/libraries/mesa/cross_clc.patch b/pkgs/development/libraries/mesa/cross_clc.patch -deleted file mode 100644 -index cb29e57ec3493..0000000000000 ---- a/pkgs/development/libraries/mesa/cross_clc.patch -+++ /dev/null -@@ -1,90 +0,0 @@ --commit f063e9f74b45f34e4ac570a90901253bf8e64efd --Author: Mary Guillemard <mary.guillemard@collabora.com> --Date: 2024-12-02 09:11:35 +0100 -- -- meson: Add mesa-clc and install-mesa-clc options -- -- Due to the cross build issues in current meson, we adds new options to -- allow mesa_clc and vtn_bindgen to be installed or searched on the -- system. -- -- Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com> -- Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> -- Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> -- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32719> -- --diff --git a/meson.build b/meson.build --index de9c9af53a1..e37325ec176 100644 ----- a/meson.build --+++ b/meson.build --@@ -808,7 +808,7 @@ if with_gallium_rusticl or with_nouveau_vk or with_tools.contains('etnaviv') -- endif -- -- with_clover_spirv = with_gallium_clover and get_option('opencl-spirv') ---with_clc = with_microsoft_clc or with_intel_clc or with_gallium_asahi or with_asahi_vk or with_gallium_rusticl or with_clover_spirv --+with_clc = get_option('mesa-clc') != 'auto' or with_microsoft_clc or with_intel_clc or with_gallium_asahi or with_asahi_vk or with_gallium_rusticl -- -- dep_clc = null_dep -- if with_gallium_clover or with_clc --diff --git a/meson_options.txt b/meson_options.txt --index 79ee65e6094..8f22b36e5fb 100644 ----- a/meson_options.txt --+++ b/meson_options.txt --@@ -744,3 +744,20 @@ option( -- 'none', 'dri2' -- ], -- ) --+ --+option( --+ 'mesa-clc', --+ type : 'combo', --+ value : 'auto', --+ choices : [ --+ 'enabled', 'system', 'auto' --+ ], --+ description : 'Build the mesa-clc compiler or use a system version.' --+) --+ --+option( --+ 'install-mesa-clc', --+ type : 'boolean', --+ value : false, --+ description : 'Install the mesa-clc compiler (if needed for cross builds).' --+) --diff --git a/src/compiler/clc/meson.build b/src/compiler/clc/meson.build --index 74767d08de2..4875d71ca21 100644 ----- a/src/compiler/clc/meson.build --+++ b/src/compiler/clc/meson.build --@@ -117,15 +117,20 @@ idep_mesaclc = declare_dependency( -- link_args : _idep_mesaclc_link_args, -- ) -- ---prog_mesa_clc = executable( --- 'mesa_clc', --- ['mesa_clc.c'], --- include_directories : [inc_include, inc_src], --- c_args : [pre_args, no_override_init_args], --- link_args : [ld_args_build_id], --- dependencies : [idep_mesaclc, dep_llvm, dep_spirv_tools, idep_getopt], --- # If we can run host binaries directly, just build mesa_clc for the host. --- # Most commonly this happens when doing a cross compile from an x86_64 build --- # machine to an x86 host --- native : not meson.can_run_host_binaries(), ---) --+if get_option('mesa-clc') == 'system' --+ prog_mesa_clc = find_program('mesa_clc', native : true) --+else --+ prog_mesa_clc = executable( --+ 'mesa_clc', --+ ['mesa_clc.c'], --+ include_directories : [inc_include, inc_src], --+ c_args : [pre_args, no_override_init_args], --+ link_args : [ld_args_build_id], --+ dependencies : [idep_mesaclc, dep_llvm, dep_spirv_tools, idep_getopt], --+ # If we can run host binaries directly, just build mesa_clc for the host. --+ # Most commonly this happens when doing a cross compile from an x86_64 build --+ # machine to an x86 host --+ native : not meson.can_run_host_binaries(), --+ install : get_option('install-mesa-clc'), --+ ) --+endif -diff --git a/pkgs/development/libraries/mesa/darwin.nix b/pkgs/development/libraries/mesa/darwin.nix -index 55392071010a9..1a458523632ec 100644 ---- a/pkgs/development/libraries/mesa/darwin.nix -+++ b/pkgs/development/libraries/mesa/darwin.nix -@@ -27,18 +27,6 @@ stdenv.mkDerivation { - meta - ; - -- # Darwin build fixes. FIXME: remove in 25.1. -- patches = [ -- (fetchpatch { -- url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/e89eba0796b3469f1d2cdbb600309f6231a8169d.patch"; -- hash = "sha256-0EP0JsYy+UTQ+eGd3sMfoLf1R+2e8n1flmQAHq3rCR4="; -- }) -- (fetchpatch { -- url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/568a4ca899762fe96fc9b34d2288d07e6656af87.patch"; -- hash = "sha256-uLxa5vA3/cYAIJT9h7eBQ1EBu4MnMg9R5uGAHzTb5Fc="; -- }) -- ]; -- - outputs = [ - "out" - "dev" -diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix -index 633770b6862c8..3fe641b4476c0 100644 ---- a/pkgs/development/libraries/mesa/default.nix -+++ b/pkgs/development/libraries/mesa/default.nix -@@ -91,6 +91,7 @@ - "intel-nullhw" - ] - , mesa -+, mesa-gl-headers - , makeSetupHook - }: - -@@ -138,9 +139,6 @@ in stdenv.mkDerivation { - - patches = [ - ./opencl.patch -- # cherry-picked from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32719 -- # safe to remove for versions > 24.3.2 -- ./cross_clc.patch - ]; - - postPatch = '' -@@ -154,15 +152,28 @@ in stdenv.mkDerivation { - substituteInPlace src/amd/vulkan/meson.build --replace \ - "get_option('datadir')" "'${placeholder "out"}/share'" - -+ for header in ${toString mesa-gl-headers.headers}; do -+ if ! diff -q $header ${mesa-gl-headers}/$header; then -+ echo "File $header does not match between mesa and mesa-gl-headers, please update mesa-gl-headers first!" -+ exit 42 -+ fi -+ done -+ - ${copyRustDeps} - ''; - - outputs = [ -- "out" "dev" "drivers" "driversdev" "opencl" "teflon" "osmesa" -+ "out" "dev" -+ "drivers" -+ # OpenCL drivers pull in ~1G of extra LLVM stuff, so don't install them -+ # if the user didn't explicitly ask for it -+ "opencl" - # the Dozen drivers depend on libspirv2dxil, but link it statically, and - # libspirv2dxil itself is pretty chonky, so relocate it to its own output in - # case anything wants to use it at some point - "spirv2dxil" -+ # tools for the host platform to be used when cross-compiling -+ "cross_tools" - ]; - - # Keep build-ids so drivers can use them for caching, etc. -@@ -196,8 +207,10 @@ in stdenv.mkDerivation { - # Enable glvnd for dynamic libGL dispatch - (lib.mesonEnable "glvnd" true) - -- (lib.mesonBool "gallium-nine" true) # Direct3D in Wine -- (lib.mesonBool "osmesa" true) # used by wine -+ (lib.mesonBool "gallium-nine" false) # Direct3D9 in Wine, largely supplanted by DXVK -+ (lib.mesonBool "osmesa" false) # deprecated upstream -+ (lib.mesonEnable "gallium-xa" false) # old and mostly dead -+ - (lib.mesonBool "teflon" true) # TensorFlow frontend - - # Enable all freedreno kernel mode drivers. (For example, virtio can be -@@ -206,14 +219,13 @@ in stdenv.mkDerivation { - (lib.mesonOption "freedreno-kmds" "msm,kgsl,virtio,wsl") - - # Enable Intel RT stuff when available -- (lib.mesonBool "install-intel-clc" true) -- (lib.mesonBool "install-mesa-clc" true) - (lib.mesonEnable "intel-rt" stdenv.hostPlatform.isx86_64) -+ -+ # Required for OpenCL - (lib.mesonOption "clang-libdir" "${lib.getLib llvmPackages.clang-unwrapped}/lib") - - # Clover, old OpenCL frontend - (lib.mesonOption "gallium-opencl" "icd") -- (lib.mesonBool "opencl-spirv" true) - - # Rusticl, new OpenCL frontend - (lib.mesonBool "gallium-rusticl" true) -@@ -221,12 +233,18 @@ in stdenv.mkDerivation { - # meson auto_features enables this, but we do not want it - (lib.mesonEnable "android-libbacktrace" false) - (lib.mesonEnable "microsoft-clc" false) # Only relevant on Windows (OpenCL 1.2 API on top of D3D12) -+ -+ # Build and install extra tools for cross -+ (lib.mesonBool "install-mesa-clc" true) -+ (lib.mesonBool "install-precomp-compiler" true) -+ -+ # Disable valgrind on targets where it's not available - (lib.mesonEnable "valgrind" withValgrind) - ] ++ lib.optionals enablePatentEncumberedCodecs [ - (lib.mesonOption "video-codecs" "all") - ] ++ lib.optionals needNativeCLC [ -- (lib.mesonOption "intel-clc" "system") - (lib.mesonOption "mesa-clc" "system") -+ (lib.mesonOption "precomp-compiler" "system") - ]; - - strictDeps = true; -@@ -295,11 +313,11 @@ in stdenv.mkDerivation { - wayland-scanner - ] ++ lib.optionals needNativeCLC [ - # `or null` to not break eval with `attribute missing` on darwin to linux cross -- (buildPackages.mesa.driversdev or null) -+ (buildPackages.mesa.cross_tools or null) - ]; - - disallowedRequisites = lib.optionals needNativeCLC [ -- (buildPackages.mesa.driversdev or null) -+ (buildPackages.mesa.cross_tools or null) - ]; - - propagatedBuildInputs = [ libdrm ]; -@@ -308,13 +326,14 @@ in stdenv.mkDerivation { - - postInstall = '' - # Move driver-related bits to $drivers -+ moveToOutput "lib/gallium-pipe" $drivers - moveToOutput "lib/gbm" $drivers - moveToOutput "lib/lib*_mesa*" $drivers - moveToOutput "lib/libgallium*" $drivers - moveToOutput "lib/libglapi*" $drivers - moveToOutput "lib/libpowervr_rogue*" $drivers - moveToOutput "lib/libvulkan_*" $drivers -- moveToOutput "lib/libxatracker*" $drivers -+ moveToOutput "lib/libteflon.so" $drivers - - # Update search path used by glvnd (it's pointing to $out but drivers are in $drivers) - for js in $drivers/share/glvnd/egl_vendor.d/*.json; do -@@ -337,14 +356,14 @@ in stdenv.mkDerivation { - echo $opencl/lib/libMesaOpenCL.so > $opencl/etc/OpenCL/vendors/mesa.icd - echo $opencl/lib/libRusticlOpenCL.so > $opencl/etc/OpenCL/vendors/rusticl.icd - -- moveToOutput bin/intel_clc $driversdev -- moveToOutput bin/mesa_clc $driversdev -- moveToOutput lib/gallium-pipe $opencl -+ moveToOutput bin/intel_clc $cross_tools -+ moveToOutput bin/mesa_clc $cross_tools -+ moveToOutput bin/vtn_bindgen $cross_tools -+ - moveToOutput "lib/lib*OpenCL*" $opencl -- moveToOutput "lib/libOSMesa*" $osmesa -+ - moveToOutput bin/spirv2dxil $spirv2dxil - moveToOutput "lib/libspirv_to_dxil*" $spirv2dxil -- moveToOutput lib/libteflon.so $teflon - ''; - - postFixup = '' -@@ -356,15 +375,9 @@ in stdenv.mkDerivation { - # remove pkgconfig files for GL/EGL; they are provided by libGL. - rm -f $dev/lib/pkgconfig/{gl,egl}.pc - -- # Move development files for libraries in $drivers to $driversdev -- mkdir -p $driversdev/include -- mv $dev/include/xa_* $dev/include/d3d* -t $driversdev/include || true -- mkdir -p $driversdev/lib/pkgconfig -- for pc in lib/pkgconfig/{xatracker,d3d}.pc; do -- if [ -f "$dev/$pc" ]; then -- substituteInPlace "$dev/$pc" --replace $out $drivers -- mv $dev/$pc $driversdev/$pc -- fi -+ # remove headers moved to mesa-gl-headers -+ for header in ${toString mesa-gl-headers.headers}; do -+ rm -f $dev/$header - done - - # update symlinks pointing to libgallium in $out -@@ -392,7 +405,7 @@ in stdenv.mkDerivation { - - env.NIX_CFLAGS_COMPILE = toString ([ - "-UPIPE_SEARCH_DIR" -- "-DPIPE_SEARCH_DIR=\"${placeholder "opencl"}/lib/gallium-pipe\"" -+ "-DPIPE_SEARCH_DIR=\"${placeholder "drivers"}/lib/gallium-pipe\"" - ]); - - passthru = { -diff --git a/pkgs/development/libraries/mesa/headers.nix b/pkgs/development/libraries/mesa/headers.nix -new file mode 100644 -index 0000000000000..314e1ac5efadd ---- /dev/null -+++ b/pkgs/development/libraries/mesa/headers.nix -@@ -0,0 +1,39 @@ -+{ -+ lib, -+ stdenv, -+ fetchFromGitLab, -+}: -+ -+let -+ common = import ./common.nix { inherit lib fetchFromGitLab; }; -+ headers = [ -+ "include/EGL/eglext_angle.h" -+ "include/EGL/eglmesaext.h" -+ ]; -+in -+stdenv.mkDerivation rec { -+ pname = "mesa-gl-headers"; -+ -+ # These are a bigger rebuild and don't change often, so keep them separate. -+ version = "25.0.1"; -+ -+ src = fetchFromGitLab { -+ domain = "gitlab.freedesktop.org"; -+ owner = "mesa"; -+ repo = "mesa"; -+ rev = "mesa-${version}"; -+ hash = "sha256-9D4d7EEdZysvXDRcmpbyt85Lo64sldNRomp6/HUVORo="; -+ }; -+ -+ dontBuild = true; -+ -+ installPhase = '' -+ for header in ${toString headers}; do -+ install -Dm444 $header $out/$header -+ done -+ ''; -+ -+ passthru = { inherit headers; }; -+ -+ inherit (common) meta; -+} -diff --git a/pkgs/development/python-modules/horizon-eda/default.nix b/pkgs/development/python-modules/horizon-eda/default.nix -index f1b64a71ae32b..e444dc2705ca2 100644 ---- a/pkgs/development/python-modules/horizon-eda/default.nix -+++ b/pkgs/development/python-modules/horizon-eda/default.nix -@@ -1,7 +1,6 @@ - { - buildPythonPackage, - horizon-eda, -- mesa, - pycairo, - python, - pythonOlder, -@@ -24,8 +23,6 @@ buildPythonPackage { - disabled = pythonOlder "3.9"; - - buildInputs = base.buildInputs ++ [ -- mesa -- mesa.osmesa - python - ]; - -diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix -index 2dc81662f4257..754055f229ba5 100644 ---- a/pkgs/servers/x11/xorg/overrides.nix -+++ b/pkgs/servers/x11/xorg/overrides.nix -@@ -604,7 +604,6 @@ self: super: - }); - - xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: { -- buildInputs = attrs.buildInputs ++ [ mesa mesa.driversdev llvm ]; # for libxatracker - env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=address" ]; # gcc12 - meta = attrs.meta // { - platforms = ["i686-linux" "x86_64-linux"]; -diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix -index 7e6572f66a9a5..1beecf73015ec 100644 ---- a/pkgs/tools/X11/primus/lib.nix -+++ b/pkgs/tools/X11/primus/lib.nix -@@ -5,7 +5,6 @@ - fetchpatch, - libX11, - libGL, -- mesa, - nvidia_x11 ? null, - libglvnd, - }: -@@ -48,7 +47,6 @@ stdenv.mkDerivation { - "LIBDIR=$(out)/lib" - "PRIMUS_libGLa=${aPackage}/lib/libGL.so" - "PRIMUS_libGLd=${libGL}/lib/libGL.so" -- "PRIMUS_LOAD_GLOBAL=${mesa}/lib/libglapi.so" - ]; - - installPhase = '' -diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix -index 3feea755f81b5..ae79b42a313c5 100644 ---- a/pkgs/top-level/all-packages.nix -+++ b/pkgs/top-level/all-packages.nix -@@ -9905,6 +9905,7 @@ with pkgs; - mesa_i686 = pkgsi686Linux.mesa; # make it build on Hydra - - libgbm = callPackage ../development/libraries/mesa/gbm.nix {}; -+ mesa-gl-headers = callPackage ../development/libraries/mesa/headers.nix {}; - - ## End libGL/libGLU/Mesa stuff - -diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix -index d781f386f10ba..6a9fc437c31b6 100644 ---- a/pkgs/top-level/python-packages.nix -+++ b/pkgs/top-level/python-packages.nix -@@ -6099,7 +6099,7 @@ self: super: with self; { - hopcroftkarp = callPackage ../development/python-modules/hopcroftkarp { }; - - horizon-eda = callPackage ../development/python-modules/horizon-eda { -- inherit (pkgs) horizon-eda mesa; -+ inherit (pkgs) horizon-eda; - }; - - howdoi = callPackage ../development/python-modules/howdoi { }; diff --git a/files/nixpkgs-patches/d3631853bd708955edfe71dca94171efb5749711.diff b/files/nixpkgs-patches/d3631853bd708955edfe71dca94171efb5749711.diff deleted file mode 100644 index 550506d..0000000 --- a/files/nixpkgs-patches/d3631853bd708955edfe71dca94171efb5749711.diff +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/pkgs/by-name/or/orca-slicer/package.nix b/pkgs/by-name/or/orca-slicer/package.nix -index 96b996e4f38c6..89e03d1d69977 100644 ---- a/pkgs/by-name/or/orca-slicer/package.nix -+++ b/pkgs/by-name/or/orca-slicer/package.nix -@@ -27,7 +27,6 @@ - hicolor-icon-theme, - ilmbase, - libpng, -- mesa, - mpfr, - nlopt, - opencascade-occt_7_6, -@@ -107,9 +106,6 @@ stdenv.mkDerivation rec { - hicolor-icon-theme - ilmbase - libpng -- mesa -- mesa.osmesa -- mesa.drivers - mpfr - nlopt - opencascade-occt_7_6 -@@ -129,6 +125,8 @@ stdenv.mkDerivation rec { - ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch - # Link opencv_core and opencv_imgproc instead of opencv_world - ./patches/dont-link-opencv-world-orca.patch -+ # Don't link osmesa -+ ./patches/no-osmesa.patch - # The changeset from https://github.com/SoftFever/OrcaSlicer/pull/7650, can be removed when that PR gets merged - # Allows disabling the update nag screen - (fetchpatch { -@@ -169,8 +167,6 @@ stdenv.mkDerivation rec { - - NIX_LDFLAGS = toString [ - (lib.optionalString withSystemd "-ludev") -- "-L${mesa.osmesa}/lib" -- "-L${mesa.drivers}/lib" - "-L${boost186}/lib" - "-lboost_log" - "-lboost_log_setup" -@@ -194,7 +190,6 @@ stdenv.mkDerivation rec { - "-DBOOST_LOG_NO_LIB=OFF" - "-DCMAKE_CXX_FLAGS=-DGL_SILENCE_DEPRECATION" - "-DCMAKE_EXE_LINKER_FLAGS=-Wl,--no-as-needed" -- "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${mesa.drivers}/lib -Wl,-rpath,${mesa.osmesa}/lib" - "-DORCA_VERSION_CHECK_DEFAULT=OFF" - ]; - -@@ -202,12 +197,9 @@ stdenv.mkDerivation rec { - gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : "$out/lib:${ - lib.makeLibraryPath [ -- mesa.drivers -- mesa.osmesa - glew - ] - }" -- --prefix LIBGL_DRIVERS_PATH : "${mesa.drivers}/lib/dri" - --set WEBKIT_DISABLE_COMPOSITING_MODE 1 - ) - ''; -diff --git a/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch b/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch -new file mode 100644 -index 0000000000000..09298b3e55b6d ---- /dev/null -+++ b/pkgs/by-name/or/orca-slicer/patches/no-osmesa.patch -@@ -0,0 +1,13 @@ -+diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt -+index e695acd48..174e233e6 100644 -+--- a/src/slic3r/CMakeLists.txt -++++ b/src/slic3r/CMakeLists.txt -+@@ -587,7 +587,7 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") -+ FIND_LIBRARY(WAYLAND_EGL_LIBRARIES NAMES wayland-egl) -+ FIND_LIBRARY(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client) -+ find_package(CURL REQUIRED) -+- target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES} OSMesa) -++ target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) -+ target_link_libraries(libslic3r_gui -+ OpenGL::EGL -+ ${WAYLAND_SERVER_LIBRARIES} diff --git a/files/nixpkgs-patches/f57f3d99091a105cbd9484c33264558785efc4be.diff b/files/nixpkgs-patches/f57f3d99091a105cbd9484c33264558785efc4be.diff new file mode 100644 index 0000000..86100d5 --- /dev/null +++ b/files/nixpkgs-patches/f57f3d99091a105cbd9484c33264558785efc4be.diff @@ -0,0 +1,64 @@ +diff --git a/docs/changelog.rst b/docs/changelog.rst +index 502ee01193..b20c1a39f0 100644 +--- a/docs/changelog.rst ++++ b/docs/changelog.rst +@@ -110,6 +110,9 @@ Detailed list of changes + - Fix a regression in version 0.40.0 causing a crash when the underline + thickness of the font is zero (:iss:`8443`) + ++- Fix a regression in version 0.40.0 causing a hang on resizing with a wide ++ character at the right edge of a line that needs to be moved onto the next ++ line (:iss:`8464`) + + 0.40.1 [2025-03-18] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +diff --git a/kitty/resize.c b/kitty/resize.c +index 78980b7886..280495fab3 100644 +--- a/kitty/resize.c ++++ b/kitty/resize.c +@@ -228,7 +228,7 @@ multiline_copy_src_to_dest(Rewrap *r) { + + static void + fast_copy_src_to_dest(Rewrap *r) { +- CPUCell *c; index_type mc_width; ++ CPUCell *c; + while (r->src.x < r->src_x_limit) { + if (r->dest.x >= dest_xnum) { + next_dest_line(r, true); +@@ -238,17 +238,10 @@ fast_copy_src_to_dest(Rewrap *r) { + } + } + index_type num = MIN(r->src_x_limit - r->src.x, dest_xnum - r->dest.x); +- if (num && (c = &r->src.line.cpu_cells[r->src.x + num - 1])->is_multicell && c->x != (mc_width = mcd_x_limit(c)) - 1) { ++ if (num && (c = &r->src.line.cpu_cells[r->src.x + num - 1])->is_multicell && c->x != mcd_x_limit(c) - 1) { + // we have a split multicell at the right edge of the copy region +- if (num > mc_width) num = MIN(r->src_x_limit - r->src.x - mc_width, num); +- else { +- if (mc_width > dest_xnum) { +- multiline_copy_src_to_dest(r); +- return; +- } +- r->dest.x = dest_xnum; +- continue; +- } ++ multiline_copy_src_to_dest(r); ++ return; + } + copy_range(&r->src.line, r->src.x, &r->dest.line, r->dest.x, num); + update_tracked_cursors(r, num, r->src.y, r->dest.y, r->src_x_limit); +diff --git a/kitty_tests/multicell.py b/kitty_tests/multicell.py +index 63e9892b81..94c2010c9f 100644 +--- a/kitty_tests/multicell.py ++++ b/kitty_tests/multicell.py +@@ -98,6 +98,11 @@ def assert_line(text, y=None): + def assert_cursor_at(x, y): + self.ae((s.cursor.x, s.cursor.y), (x, y)) + ++ s = self.create_screen(cols=8, lines=4) ++ s.draw('飛青進服三上') ++ s.resize(s.lines, 5) ++ self.ae('飛青', str(s.line(0))) ++ + s = self.create_screen(cols=6, lines=6) + + # Test basic multicell drawing diff --git a/files/nvim/init.vim b/files/nvim/init.vim index d52edcc..b05acbd 100644 --- a/files/nvim/init.vim +++ b/files/nvim/init.vim @@ -5,8 +5,6 @@ set signcolumn=yes set updatetime=250 set scrolloff=5 -" https://github.com/SmiteshP/nvim-navic - " Change directory based on current file. if !empty($NIX_SHELL) " Attempt to conflict less with plugins. @@ -205,6 +203,13 @@ function! SyntaxGroup() echo synIDattr(l:s, 'name') . ' -> ' . synIDattr(synIDtrans(l:s), 'name') endfun +" https://vi.stackexchange.com/a/456 +function! TrimWhitespace() + let l:save = winsaveview() + keeppatterns %s/\s\+$//e + call winrestview(l:save) +endfun + " https://github.com/junegunn/fzf.vim?tab=readme-ov-file#example-git-grep-wrapper command! -bang -nargs=* GGrep \ call fzf#vim#grep( @@ -236,7 +241,7 @@ function get_lsp_name() end buf_is_big = function(bufnr) - local max_filesize = 100 * 1024 -- 100 KB + local max_filesize = 100 * 1024 -- 100KB local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(bufnr)) if ok and stats and stats.size > max_filesize then return true @@ -247,6 +252,7 @@ end -- LSP configs. if os.getenv('NIX_SHELL') ~= nil then + vim.diagnostic.config({ virtual_text = true }) local lsp = require('lspconfig') lsp.clangd.setup({ cmd = { @@ -259,15 +265,21 @@ if os.getenv('NIX_SHELL') ~= nil then '--completion-style=bundled', '--pch-storage=memory', '--header-insertion=never', - '--header-insertion-decorators=0' + '--header-insertion-decorators=0', + '--query-driver=gcc' }, capabilities = { textDocument = { semanticHighlightingCapabilities = { semanticHighlighting = true + }, + completion = { + completionItem = { + snippetSupport = false + } } } - } + }, }) lsp.ruff.setup({}) -- https://github.com/neovim/nvim-lspconfig/issues/2626#issuecomment-2117022664 @@ -275,10 +287,10 @@ if os.getenv('NIX_SHELL') ~= nil then vim.api.nvim_create_autocmd('BufReadPre', { callback = function(t) if buf_is_big(t.buf) then - vim.o.eventignore = "FileType" + vim.o.eventignore = 'FileType' vim.schedule(function() - vim.o.eventignore = "" - print("Dropped FileType events because the buffer is too big") + vim.o.eventignore = '' + print('Dropped FileType events because the buffer is too big') end) end end @@ -297,7 +309,12 @@ require('mini.sessions').setup({ }) -- Completion. -require('mini.completion').setup({}) +require('mini.completion').setup({ + window = { + info = { border = 'none' }, + signature = { border = 'none' } + } +}) -- Don't use tabs in Neogit. require('neogit').setup({ diff --git a/files/nvim/mini_completion_no_title.diff b/files/nvim/mini_completion_no_title.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/files/nvim/mini_completion_no_title.diff diff --git a/files/nvim/mini_sessions_view.diff b/files/nvim/mini_sessions_view.diff deleted file mode 100644 index 7fa8500..0000000 --- a/files/nvim/mini_sessions_view.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lua/mini/sessions.lua b/lua/mini/sessions.lua -index 67d0239..bb20292 100644 ---- a/lua/mini/sessions.lua -+++ b/lua/mini/sessions.lua -@@ -248,7 +248,7 @@ MiniSessions.write = function(session_name, opts) - H.possibly_execute(opts.hooks.pre, data) - - -- Make session file -- local command = string.format('mksession%s %s', opts.force and '!' or '', vim.fn.fnameescape(session_path)) -+ local command = string.format('mkview%s %s', opts.force and '!' or '', vim.fn.fnameescape(session_path)) - vim.cmd(command) - data.modify_time = vim.fn.getftime(session_path) - diff --git a/files/nvim/mini_starter_picture.diff b/files/nvim/mini_starter_picture.diff index 7831ca1..1066573 100644 --- a/files/nvim/mini_starter_picture.diff +++ b/files/nvim/mini_starter_picture.diff @@ -1,5 +1,5 @@ diff --git a/lua/mini/starter.lua b/lua/mini/starter.lua -index 8520569e..939e16de 100644 +index 3e0570f3..3f003ba8 100644 --- a/lua/mini/starter.lua +++ b/lua/mini/starter.lua @@ -138,7 +138,7 @@ @@ -34,7 +34,7 @@ index 8520569e..939e16de 100644 -- Array of functions to be applied consecutively to initial content. -- Each function should take and return content for Starter buffer (see -- |mini.starter| and |MiniStarter.get_content()| for more details). -@@ -372,7 +381,7 @@ MiniStarter.refresh = function(buf_id) +@@ -373,7 +382,7 @@ MiniStarter.refresh = function(buf_id) data.footer = H.normalize_header_footer(config.footer or H.default_footer) -- Evaluate content @@ -43,7 +43,7 @@ index 8520569e..939e16de 100644 local hooks = config.content_hooks or H.default_content_hooks for _, f in ipairs(hooks) do content = f(content, buf_id) -@@ -399,6 +408,12 @@ MiniStarter.refresh = function(buf_id) +@@ -400,6 +409,12 @@ MiniStarter.refresh = function(buf_id) -- Apply current query (clear command line afterwards) H.make_query(buf_id) @@ -56,7 +56,7 @@ index 8520569e..939e16de 100644 end --- Close Starter buffer -@@ -730,18 +745,45 @@ MiniStarter.gen_hook.aligning = function(horizontal, vertical) +@@ -731,18 +746,45 @@ MiniStarter.gen_hook.aligning = function(horizontal, vertical) local win_id = vim.fn.bufwinid(buf_id) if win_id < 0 then return end @@ -104,7 +104,7 @@ index 8520569e..939e16de 100644 return MiniStarter.gen_hook.padding(left_pad, top_pad)(content) end end -@@ -1004,7 +1046,7 @@ H.default_footer = [[ +@@ -1005,7 +1047,7 @@ H.default_footer = [[ Type query to filter items <BS> deletes latest character from query <Esc> resets current query @@ -113,7 +113,7 @@ index 8520569e..939e16de 100644 <CR> executes action of current item <C-c> closes this buffer]] -@@ -1048,8 +1090,54 @@ end +@@ -1046,8 +1088,54 @@ end H.apply_config = function(config) MiniStarter.config = config end @@ -169,7 +169,7 @@ index 8520569e..939e16de 100644 if config.autoopen then local on_vimenter = function() -@@ -1061,7 +1149,7 @@ H.create_autocommands = function(config) +@@ -1059,7 +1147,7 @@ H.create_autocommands = function(config) vim.cmd('noautocmd lua MiniStarter.open()') end @@ -178,7 +178,7 @@ index 8520569e..939e16de 100644 vim.api.nvim_create_autocmd('VimEnter', au_opts) end -@@ -1107,9 +1195,11 @@ H.normalize_header_footer = function(x) +@@ -1105,9 +1193,11 @@ H.normalize_header_footer = function(x) end -- Work with buffer content --------------------------------------------------- @@ -191,7 +191,7 @@ index 8520569e..939e16de 100644 -- Add header lines for _, l in ipairs(header) do H.content_add_line(content, { H.content_unit(l, 'header', 'MiniStarterHeader') }) -@@ -1120,7 +1210,7 @@ H.make_initial_content = function(header, items, footer) +@@ -1118,7 +1208,7 @@ H.make_initial_content = function(header, items, footer) H.content_add_items(content, items) -- Add footer lines @@ -200,7 +200,7 @@ index 8520569e..939e16de 100644 for _, l in ipairs(footer) do H.content_add_line(content, { H.content_unit(l, 'footer', 'MiniStarterFooter') }) end -@@ -1323,11 +1413,22 @@ H.make_buffer_autocmd = function(buf_id) +@@ -1321,11 +1411,22 @@ H.make_buffer_autocmd = function(buf_id) au('VimResized', function() MiniStarter.refresh(buf_id) end, 'Refresh') au('CursorMoved', function() H.position_cursor_on_current_item(buf_id) end, 'Position cursor') @@ -223,19 +223,8 @@ index 8520569e..939e16de 100644 end H.apply_buffer_options = function(buf_id) -@@ -1341,17 +1442,11 @@ H.apply_buffer_options = function(buf_id) - - -- Set unique buffer name. Prefer "Starter" prefix as more user friendly. - H.buffer_number = H.buffer_number + 1 -- local name = H.buffer_number <= 1 and 'Starter' or ('Starter_' .. H.buffer_number) -- for _, buf in ipairs(vim.api.nvim_list_bufs()) do -- if vim.fn.fnamemodify(vim.api.nvim_buf_get_name(buf), ':t') == name then -- name = 'ministarter://' .. H.buffer_number -- break -- end -- end -+ local name = H.buffer_number <= 1 and '*dashboard*' or ('dashboard://' .. H.buffer_number) - vim.api.nvim_buf_set_name(buf_id, name) +@@ -1338,7 +1439,7 @@ H.apply_buffer_options = function(buf_id) + vim.api.nvim_feedkeys('\28\14', 'nx', false) -- Having `noautocmd` is crucial for performance: ~9ms without it, ~1.6ms with it - vim.cmd('noautocmd silent! set filetype=ministarter') @@ -243,7 +232,7 @@ index 8520569e..939e16de 100644 local options = { -- Taken from 'vim-startify' -@@ -1398,12 +1493,8 @@ H.apply_buffer_mappings = function(buf_id) +@@ -1385,12 +1486,8 @@ H.apply_buffer_mappings = function(buf_id) buf_keymap('<CR>', 'MiniStarter.eval_current_item()') @@ -258,7 +247,7 @@ index 8520569e..939e16de 100644 -- Make all special symbols to update query for _, key in ipairs(vim.split(H.get_config().query_updaters, '')) do -@@ -1491,7 +1582,7 @@ H.echo = function(msg, is_important) +@@ -1480,7 +1577,7 @@ H.echo = function(msg, is_important) -- Construct message chunks msg = type(msg) == 'string' and { { msg } } or msg @@ -267,7 +256,7 @@ index 8520569e..939e16de 100644 -- Avoid hit-enter-prompt local max_width = vim.o.columns * math.max(vim.o.cmdheight - 1, 0) + vim.v.echospace -@@ -1540,7 +1631,7 @@ H.eval_fun_or_string = function(x, string_as_cmd) +@@ -1529,7 +1626,7 @@ H.eval_fun_or_string = function(x, string_as_cmd) if type(x) == 'function' then return x() end if type(x) == 'string' then if string_as_cmd then |