summaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-07-19 15:50:09 -0400
committerAndrew Opalach <andrew@akon.city> 2025-07-19 15:50:09 -0400
commit85a47287e56ba9100420246531ebea5996cc0486 (patch)
tree7c70a593fc2678fd7175c32188bbae32044ed08d /files
parent68f39eb867c851acb651f79604aba119ecaa9527 (diff)
downloaddotfiles-85a47287e56ba9100420246531ebea5996cc0486.tar.gz
dotfiles-85a47287e56ba9100420246531ebea5996cc0486.tar.bz2
dotfiles-85a47287e56ba9100420246531ebea5996cc0486.zip
End of NixOS container era
Diffstat (limited to 'files')
-rw-r--r--files/adw-gtk3-non-blue-accent.diff (renamed from files/nixpkgs-patches/adw-gtk3-patch.diff)0
-rw-r--r--files/fonts/Livvic-Black.ttfbin0 -> 106620 bytes
-rw-r--r--files/fonts/Livvic-BlackItalic.ttfbin0 -> 109776 bytes
-rw-r--r--files/fonts/Livvic-Bold.ttfbin0 -> 104656 bytes
-rw-r--r--files/fonts/Livvic-BoldItalic.ttfbin0 -> 106160 bytes
-rw-r--r--files/fonts/Livvic-ExtraLight.ttfbin0 -> 104420 bytes
-rw-r--r--files/fonts/Livvic-ExtraLightItalic.ttfbin0 -> 105684 bytes
-rw-r--r--files/fonts/Livvic-Italic.ttfbin0 -> 105980 bytes
-rw-r--r--files/fonts/Livvic-Light.ttfbin0 -> 105048 bytes
-rw-r--r--files/fonts/Livvic-LightItalic.ttfbin0 -> 106468 bytes
-rw-r--r--files/fonts/Livvic-Medium.ttfbin0 -> 104296 bytes
-rw-r--r--files/fonts/Livvic-MediumItalic.ttfbin0 -> 105800 bytes
-rw-r--r--files/fonts/Livvic-Regular.ttfbin0 -> 104492 bytes
-rw-r--r--files/fonts/Livvic-SemiBold.ttfbin0 -> 104428 bytes
-rw-r--r--files/fonts/Livvic-SemiBoldItalic.ttfbin0 -> 105928 bytes
-rw-r--r--files/fonts/Livvic-Thin.ttfbin0 -> 103632 bytes
-rw-r--r--files/fonts/Livvic-ThinItalic.ttfbin0 -> 104576 bytes
-rw-r--r--files/gamescope_1826.diff84
-rw-r--r--files/gamescope_drm.diff13
-rw-r--r--files/nixpkgs-patches/425312.diff143
-rw-r--r--files/nixpkgs-patches/425843.diff504
-rw-r--r--files/nixpkgs-patches/4c3870b23dded4e75292be48bdb03cd870fb1719.diff21
-rw-r--r--files/nixpkgs-patches/adw-gtk3-update.diff40
-rw-r--r--files/nvim/init.vim13
-rw-r--r--files/nvim/mini_starter_picture.diff34
25 files changed, 780 insertions, 72 deletions
diff --git a/files/nixpkgs-patches/adw-gtk3-patch.diff b/files/adw-gtk3-non-blue-accent.diff
index 90ab11c..90ab11c 100644
--- a/files/nixpkgs-patches/adw-gtk3-patch.diff
+++ b/files/adw-gtk3-non-blue-accent.diff
diff --git a/files/fonts/Livvic-Black.ttf b/files/fonts/Livvic-Black.ttf
new file mode 100644
index 0000000..3fb747c
--- /dev/null
+++ b/files/fonts/Livvic-Black.ttf
Binary files differ
diff --git a/files/fonts/Livvic-BlackItalic.ttf b/files/fonts/Livvic-BlackItalic.ttf
new file mode 100644
index 0000000..184d186
--- /dev/null
+++ b/files/fonts/Livvic-BlackItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Bold.ttf b/files/fonts/Livvic-Bold.ttf
new file mode 100644
index 0000000..b441241
--- /dev/null
+++ b/files/fonts/Livvic-Bold.ttf
Binary files differ
diff --git a/files/fonts/Livvic-BoldItalic.ttf b/files/fonts/Livvic-BoldItalic.ttf
new file mode 100644
index 0000000..df001a4
--- /dev/null
+++ b/files/fonts/Livvic-BoldItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-ExtraLight.ttf b/files/fonts/Livvic-ExtraLight.ttf
new file mode 100644
index 0000000..5f379de
--- /dev/null
+++ b/files/fonts/Livvic-ExtraLight.ttf
Binary files differ
diff --git a/files/fonts/Livvic-ExtraLightItalic.ttf b/files/fonts/Livvic-ExtraLightItalic.ttf
new file mode 100644
index 0000000..35da456
--- /dev/null
+++ b/files/fonts/Livvic-ExtraLightItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Italic.ttf b/files/fonts/Livvic-Italic.ttf
new file mode 100644
index 0000000..367e777
--- /dev/null
+++ b/files/fonts/Livvic-Italic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Light.ttf b/files/fonts/Livvic-Light.ttf
new file mode 100644
index 0000000..9c0e1f7
--- /dev/null
+++ b/files/fonts/Livvic-Light.ttf
Binary files differ
diff --git a/files/fonts/Livvic-LightItalic.ttf b/files/fonts/Livvic-LightItalic.ttf
new file mode 100644
index 0000000..62c27c9
--- /dev/null
+++ b/files/fonts/Livvic-LightItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Medium.ttf b/files/fonts/Livvic-Medium.ttf
new file mode 100644
index 0000000..bcfce43
--- /dev/null
+++ b/files/fonts/Livvic-Medium.ttf
Binary files differ
diff --git a/files/fonts/Livvic-MediumItalic.ttf b/files/fonts/Livvic-MediumItalic.ttf
new file mode 100644
index 0000000..9819ba8
--- /dev/null
+++ b/files/fonts/Livvic-MediumItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Regular.ttf b/files/fonts/Livvic-Regular.ttf
new file mode 100644
index 0000000..024a0ba
--- /dev/null
+++ b/files/fonts/Livvic-Regular.ttf
Binary files differ
diff --git a/files/fonts/Livvic-SemiBold.ttf b/files/fonts/Livvic-SemiBold.ttf
new file mode 100644
index 0000000..99c7159
--- /dev/null
+++ b/files/fonts/Livvic-SemiBold.ttf
Binary files differ
diff --git a/files/fonts/Livvic-SemiBoldItalic.ttf b/files/fonts/Livvic-SemiBoldItalic.ttf
new file mode 100644
index 0000000..f538325
--- /dev/null
+++ b/files/fonts/Livvic-SemiBoldItalic.ttf
Binary files differ
diff --git a/files/fonts/Livvic-Thin.ttf b/files/fonts/Livvic-Thin.ttf
new file mode 100644
index 0000000..47b9807
--- /dev/null
+++ b/files/fonts/Livvic-Thin.ttf
Binary files differ
diff --git a/files/fonts/Livvic-ThinItalic.ttf b/files/fonts/Livvic-ThinItalic.ttf
new file mode 100644
index 0000000..264d3cc
--- /dev/null
+++ b/files/fonts/Livvic-ThinItalic.ttf
Binary files differ
diff --git a/files/gamescope_1826.diff b/files/gamescope_1826.diff
new file mode 100644
index 0000000..69c85e8
--- /dev/null
+++ b/files/gamescope_1826.diff
@@ -0,0 +1,84 @@
+diff --git a/src/Backends/WaylandBackend.cpp b/src/Backends/WaylandBackend.cpp
+index 7e68a44fb..65e35f525 100644
+--- a/src/Backends/WaylandBackend.cpp
++++ b/src/Backends/WaylandBackend.cpp
+@@ -2002,24 +2002,32 @@ namespace gamescope
+ // Prefer opaque for composition on the Wayland backend.
+
+ uint32_t u8BitFormat = DRM_FORMAT_INVALID;
+- if ( SupportsFormat( DRM_FORMAT_XRGB8888 ) )
+- u8BitFormat = DRM_FORMAT_XRGB8888;
+- else if ( SupportsFormat( DRM_FORMAT_XBGR8888 ) )
+- u8BitFormat = DRM_FORMAT_XBGR8888;
+- else if ( SupportsFormat( DRM_FORMAT_ARGB8888 ) )
+- u8BitFormat = DRM_FORMAT_ARGB8888;
+- else if ( SupportsFormat( DRM_FORMAT_ABGR8888 ) )
+- u8BitFormat = DRM_FORMAT_ABGR8888;
++ for (int i = 0; i < 2 && u8BitFormat == DRM_FORMAT_INVALID; i++)
++ {
++ bool invalidOnly = i == 0;
++ if ( SupportsFormat( DRM_FORMAT_XRGB8888, invalidOnly ) )
++ u8BitFormat = DRM_FORMAT_XRGB8888;
++ else if ( SupportsFormat( DRM_FORMAT_XBGR8888, invalidOnly ) )
++ u8BitFormat = DRM_FORMAT_XBGR8888;
++ else if ( SupportsFormat( DRM_FORMAT_ARGB8888, invalidOnly ) )
++ u8BitFormat = DRM_FORMAT_ARGB8888;
++ else if ( SupportsFormat( DRM_FORMAT_ABGR8888, invalidOnly ) )
++ u8BitFormat = DRM_FORMAT_ABGR8888;
++ }
+
+ uint32_t u10BitFormat = DRM_FORMAT_INVALID;
+- if ( SupportsFormat( DRM_FORMAT_XBGR2101010 ) )
+- u10BitFormat = DRM_FORMAT_XBGR2101010;
+- else if ( SupportsFormat( DRM_FORMAT_XRGB2101010 ) )
+- u10BitFormat = DRM_FORMAT_XRGB2101010;
+- else if ( SupportsFormat( DRM_FORMAT_ABGR2101010 ) )
+- u10BitFormat = DRM_FORMAT_ABGR2101010;
+- else if ( SupportsFormat( DRM_FORMAT_ARGB2101010 ) )
+- u10BitFormat = DRM_FORMAT_ARGB2101010;
++ for (int i = 0; i < 2 && u10BitFormat == DRM_FORMAT_INVALID; i++)
++ {
++ bool invalidOnly = i == 0;
++ if ( SupportsFormat( DRM_FORMAT_XBGR2101010, invalidOnly ) )
++ u10BitFormat = DRM_FORMAT_XBGR2101010;
++ else if ( SupportsFormat( DRM_FORMAT_XRGB2101010, invalidOnly ) )
++ u10BitFormat = DRM_FORMAT_XRGB2101010;
++ else if ( SupportsFormat( DRM_FORMAT_ABGR2101010, invalidOnly ) )
++ u10BitFormat = DRM_FORMAT_ABGR2101010;
++ else if ( SupportsFormat( DRM_FORMAT_ARGB2101010, invalidOnly ) )
++ u10BitFormat = DRM_FORMAT_ARGB2101010;
++ }
+
+ assert( u8BitFormat != DRM_FORMAT_INVALID );
+
+diff --git a/src/backend.h b/src/backend.h
+index 29219dbc8..2767546cd 100644
+--- a/src/backend.h
++++ b/src/backend.h
+@@ -309,9 +309,11 @@ namespace gamescope
+
+ virtual bool UsesModifiers() const = 0;
+ virtual std::span<const uint64_t> GetSupportedModifiers( uint32_t uDrmFormat ) const = 0;
+- inline bool SupportsFormat( uint32_t uDrmFormat ) const
++ inline bool SupportsFormat( uint32_t uDrmFormat, bool invalidOnly ) const
+ {
+- return Algorithm::Contains( this->GetSupportedModifiers( uDrmFormat ), DRM_FORMAT_MOD_INVALID );
++ if ( invalidOnly )
++ return Algorithm::Contains( this->GetSupportedModifiers( uDrmFormat ), DRM_FORMAT_MOD_INVALID );
++ return !this->GetSupportedModifiers( uDrmFormat ).empty();
+ }
+
+ virtual IBackendConnector *GetCurrentConnector() = 0;
+diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp
+index b8412b8fd..f41ef4c9b 100644
+--- a/src/rendervulkan.cpp
++++ b/src/rendervulkan.cpp
+@@ -2814,7 +2814,7 @@ bool vulkan_init_format(VkFormat format, uint32_t drmFormat)
+ }
+ else
+ {
+- if ( GetBackend()->UsesModifiers() && !GetBackend()->SupportsFormat( drmFormat ) )
++ if ( GetBackend()->UsesModifiers() && !GetBackend()->SupportsFormat( drmFormat, true ) )
+ return false;
+
+ wlr_drm_format_set_add( &sampledDRMFormats, drmFormat, DRM_FORMAT_MOD_INVALID );
diff --git a/files/gamescope_drm.diff b/files/gamescope_drm.diff
deleted file mode 100644
index 34b0596..0000000
--- a/files/gamescope_drm.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/backend.h b/src/backend.h
-index 82db19c..b557ec6 100644
---- a/src/backend.h
-+++ b/src/backend.h
-@@ -298,7 +298,7 @@ namespace gamescope
- virtual std::span<const uint64_t> GetSupportedModifiers( uint32_t uDrmFormat ) const = 0;
- inline bool SupportsFormat( uint32_t uDrmFormat ) const
- {
-- return Algorithm::Contains( this->GetSupportedModifiers( uDrmFormat ), DRM_FORMAT_MOD_INVALID );
-+ return !this->GetSupportedModifiers( uDrmFormat ).empty();
- }
-
- virtual IBackendConnector *GetCurrentConnector() = 0;
diff --git a/files/nixpkgs-patches/425312.diff b/files/nixpkgs-patches/425312.diff
new file mode 100644
index 0000000..f895dae
--- /dev/null
+++ b/files/nixpkgs-patches/425312.diff
@@ -0,0 +1,143 @@
+diff --git a/pkgs/applications/networking/msmtp/msmtpq-remove-binary-check.patch b/pkgs/by-name/ms/msmtp/msmtpq-remove-binary-check.patch
+similarity index 100%
+rename from pkgs/applications/networking/msmtp/msmtpq-remove-binary-check.patch
+rename to pkgs/by-name/ms/msmtp/msmtpq-remove-binary-check.patch
+diff --git a/pkgs/applications/networking/msmtp/msmtpq-systemd-logging.patch b/pkgs/by-name/ms/msmtp/msmtpq-systemd-logging.patch
+similarity index 70%
+rename from pkgs/applications/networking/msmtp/msmtpq-systemd-logging.patch
+rename to pkgs/by-name/ms/msmtp/msmtpq-systemd-logging.patch
+index a9db3e64580827..55f386bb31906a 100644
+--- a/pkgs/applications/networking/msmtp/msmtpq-systemd-logging.patch
++++ b/pkgs/by-name/ms/msmtp/msmtpq-systemd-logging.patch
+@@ -1,17 +1,17 @@
+ diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
+-index bcb384e..dbaf1b5 100755
++index 28d0754..3eaac58 100755
+ --- a/scripts/msmtpq/msmtpq
+ +++ b/scripts/msmtpq/msmtpq
+-@@ -92,6 +92,8 @@ if [ ! -v MSMTPQ_LOG ] ; then
+- fi
++@@ -182,6 +182,8 @@ if [ -n "$MSMTPQ_LOG" ] ; then
++ unset msmptq_log_dir
+ fi
+- [ -d "$(dirname "$MSMTPQ_LOG")" ] || mkdir -p "$(dirname "$MSMTPQ_LOG")"
+-+
++
+ +JOURNAL=@journal@
+- ## ======================================================================================
+++
++ umask 077 # set secure permissions on created directories and files
+
+- ## msmtpq can use the following environment variables :
+-@@ -144,6 +146,7 @@ on_exit() { # unlock the queue on exit if the lock was
++ declare -i CNT # a count of mail(s) currently in the queue
++@@ -214,6 +216,7 @@ on_exit() { # unlock the queue on exit if the lock was
+ ## display msg to user, as well
+ ##
+ log() {
+@@ -19,7 +19,7 @@ index bcb384e..dbaf1b5 100755
+ local ARG RC PFX
+ PFX="$('date' +'%Y %d %b %H:%M:%S')"
+ # time stamp prefix - "2008 13 Mar 03:59:45 "
+-@@ -161,10 +164,19 @@ log() {
++@@ -233,10 +236,19 @@ log() {
+ done
+ fi
+
+diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/by-name/ms/msmtp/package.nix
+similarity index 84%
+rename from pkgs/applications/networking/msmtp/default.nix
+rename to pkgs/by-name/ms/msmtp/package.nix
+index 60946106d0ddf1..c801fa83ee9b98 100644
+--- a/pkgs/applications/networking/msmtp/default.nix
++++ b/pkgs/by-name/ms/msmtp/package.nix
+@@ -9,6 +9,7 @@
+ bash,
+ coreutils,
+ gnugrep,
++ gnused,
+ gnutls,
+ gsasl,
+ libidn2,
+@@ -20,6 +21,8 @@
+ withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
+ systemd,
+ withScripts ? true,
++ withLibnotify ? true,
++ libnotify,
+ gitUpdater,
+ binlore,
+ msmtp,
+@@ -28,13 +31,13 @@
+ let
+ inherit (lib) getBin getExe optionals;
+
+- version = "1.8.26";
++ version = "1.8.30";
+
+ src = fetchFromGitHub {
+ owner = "marlam";
+ repo = "msmtp";
+ rev = "msmtp-${version}";
+- hash = "sha256-MV3fzjjyr7qZw/BbKgsSObX+cxDDivI+0ZlulrPFiWM=";
++ hash = "sha256-aM2qId08zvT9LbncCQYHsklbvHVtcZJgr91JTjwpQ/0=";
+ };
+
+ meta = with lib; {
+@@ -112,13 +115,17 @@ let
+ msmtpq = {
+ scripts = [ "bin/msmtpq" ];
+ interpreter = getExe bash;
+- inputs = [
+- binaries
+- coreutils
+- gnugrep
+- netcat-gnu
+- which
+- ] ++ optionals withSystemd [ systemd ];
++ inputs =
++ [
++ binaries
++ coreutils
++ gnugrep
++ gnused
++ netcat-gnu
++ which
++ ]
++ ++ optionals withSystemd [ systemd ]
++ ++ optionals withLibnotify [ libnotify ];
+ execer =
+ [
+ "cannot:${getBin binaries}/bin/msmtp"
+@@ -126,9 +133,15 @@ let
+ ]
+ ++ optionals withSystemd [
+ "cannot:${getBin systemd}/bin/systemd-cat"
++ ]
++ ++ optionals withLibnotify [
++ "cannot:${getBin libnotify}/bin/notify-send"
+ ];
+ fix."$MSMTP" = [ "msmtp" ];
+- fake.external = [ "ping" ] ++ optionals (!withSystemd) [ "systemd-cat" ];
++ fake.external =
++ [ "ping" ]
++ ++ optionals (!withSystemd) [ "systemd-cat" ]
++ ++ optionals (!withLibnotify) [ "notify-send" ];
+ keep.source = [ "~/.msmtpqrc" ];
+ };
+
+diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
+index 1f6cde48853370..2d89e07134d294 100644
+--- a/pkgs/top-level/all-packages.nix
++++ b/pkgs/top-level/all-packages.nix
+@@ -13308,10 +13308,6 @@ with pkgs;
+
+ taxi-cli = with python3Packages; toPythonApplication taxi;
+
+- msmtp = callPackage ../applications/networking/msmtp {
+- autoreconfHook = buildPackages.autoreconfHook269;
+- };
+-
+ imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix {
+ lua = lua5;
+ };
diff --git a/files/nixpkgs-patches/425843.diff b/files/nixpkgs-patches/425843.diff
new file mode 100644
index 0000000..ded8544
--- /dev/null
+++ b/files/nixpkgs-patches/425843.diff
@@ -0,0 +1,504 @@
+diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix
+index 18f999dd83599c..8242549b63007b 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 = "25.1.6";
++ version = "25.2.0-rc1";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "mesa";
+ repo = "mesa";
+ rev = "mesa-${version}";
+- hash = "sha256-SHYYezt2ez9awvIATEC6wVMZMuJUsOYXxlugs1Q6q7U=";
++ hash = "sha256-iVDnJ0MoLQbpEpjfRUy3MV6pjhMTqUMxR4yf9jkuXKw=";
+ };
+
+ meta = {
+diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
+index db9ec527358508..ee10017b9d5aa0 100644
+--- a/pkgs/development/libraries/mesa/default.nix
++++ b/pkgs/development/libraries/mesa/default.nix
+@@ -44,62 +44,53 @@
+ enablePatentEncumberedCodecs ? true,
+ withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light,
+
+- galliumDrivers ?
+- [
+- "asahi" # Apple AGX, built on non-aarch64 for cross tools
+- "d3d12" # WSL emulated GPU (aka Dozen)
+- "iris" # new Intel (Broadwell+)
+- "llvmpipe" # software renderer
+- "nouveau" # Nvidia
+- "panfrost" # ARM Mali Midgard and up (T/G series), built on non-ARM for cross tools
+- "r300" # very old AMD
+- "r600" # less old AMD
+- "radeonsi" # new AMD (GCN+)
+- "softpipe" # older software renderer
+- "svga" # VMWare virtualized GPU
+- "virgl" # QEMU virtualized GPU (aka VirGL)
+- "zink" # generic OpenGL over Vulkan, experimental
+- ]
+- ++ lib.optionals (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) [
+- "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs)
+- "freedreno" # Qualcomm Adreno (all Qualcomm SoCs)
+- "lima" # ARM Mali 4xx
+- "vc4" # Broadcom VC4 (Raspberry Pi 0-3)
+- ]
+- ++ lib.optionals stdenv.hostPlatform.isAarch64 [
+- "tegra" # Nvidia Tegra SoCs
+- "v3d" # Broadcom VC5 (Raspberry Pi 4)
+- ]
+- ++ lib.optionals stdenv.hostPlatform.isx86 [
+- "crocus" # Intel legacy, x86 only
+- "i915" # Intel extra legacy, x86 only
+- ],
++ # We enable as many drivers as possible here, to build cross tools
++ # and support emulation use cases (emulated x86_64 on aarch64, etc)
++ galliumDrivers ? [
++ "asahi" # Apple AGX
++ "crocus" # Intel legacy
++ "d3d12" # WSL emulated GPU (aka Dozen)
++ "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs)
++ "freedreno" # Qualcomm Adreno (all Qualcomm SoCs)
++ "i915" # Intel extra legacy
++ "iris" # new Intel (Broadwell+)
++ "lima" # ARM Mali 4xx
++ "llvmpipe" # software renderer
++ "nouveau" # Nvidia
++ "panfrost" # ARM Mali Midgard and up (T/G series)
++ "r300" # very old AMD
++ "r600" # less old AMD
++ "radeonsi" # new AMD (GCN+)
++ "softpipe" # older software renderer
++ "svga" # VMWare virtualized GPU
++ "tegra" # Nvidia Tegra SoCs
++ "v3d" # Broadcom VC5 (Raspberry Pi 4)
++ "vc4" # Broadcom VC4 (Raspberry Pi 0-3)
++ "virgl" # QEMU virtualized GPU (aka VirGL)
++ "zink" # generic OpenGL over Vulkan, experimental
++ ],
+ vulkanDrivers ?
+ [
+ "amd" # AMD (aka RADV)
+- "asahi" # Apple AGX, built on non-aarch64 for cross tools
+- "intel" # new Intel (aka ANV)
+- "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen)
+- "nouveau" # Nouveau (aka NVK)
+- "swrast" # software renderer (aka Lavapipe)
+- ]
+- ++
+- lib.optionals
+- (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6")
+- [
+- # QEMU virtualized GPU (aka VirGL)
+- # Requires ATOMIC_INT_LOCK_FREE == 2.
+- "virtio"
+- ]
+- ++ lib.optionals stdenv.hostPlatform.isAarch64 [
++ "asahi" # Apple AGX
+ "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D)
+ "freedreno" # Qualcomm Adreno (all Qualcomm SoCs)
++ # "gfxstream" # Android virtualized GPU, breaks on some targets, doesn't seem useful?
+ "imagination-experimental" # PowerVR Rogue (currently N/A)
++ "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code)
++ "intel" # new Intel (aka ANV)
++ "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen)
++ "nouveau" # Nouveau (aka NVK)
+ "panfrost" # ARM Mali Midgard and up (T/G series)
++ "swrast" # software renderer (aka Lavapipe)
+ ]
+- ++ lib.optionals stdenv.hostPlatform.isx86 [
+- "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code)
+- ],
++ ++ lib.optionals
++ (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6")
++ [
++ # QEMU virtualized GPU (aka VirGL)
++ # Requires ATOMIC_INT_LOCK_FREE == 2.
++ "virtio"
++ ],
+ eglPlatforms ? [
+ "x11"
+ "wayland"
+@@ -117,40 +108,26 @@
+ }:
+
+ let
+- rustDeps = [
+- {
+- pname = "paste";
+- version = "1.0.14";
+- hash = "sha256-+J1h7New5MEclUBvwDQtTYJCHKKqAEOeQkuKy+g0vEc=";
+- }
+- {
+- pname = "proc-macro2";
+- version = "1.0.86";
+- hash = "sha256-9fYAlWRGVIwPp8OKX7Id84Kjt8OoN2cANJ/D9ZOUUZE=";
+- }
+- {
+- pname = "quote";
+- version = "1.0.33";
+- hash = "sha256-VWRCZJO0/DJbNu0/V9TLaqlwMot65YjInWT9VWg57DY=";
+- }
+- {
+- pname = "syn";
+- version = "2.0.68";
+- hash = "sha256-nGLBbxR0DFBpsXMngXdegTm/o13FBS6QsM7TwxHXbgQ=";
+- }
+- {
+- pname = "unicode-ident";
+- version = "1.0.12";
+- hash = "sha256-KX8NqYYw6+rGsoR9mdZx8eT1HIPEUUyxErdk2H/Rlj8=";
+- }
+- ];
++ rustDeps = lib.importJSON ./wraps.json;
++
++ handleRustDep = dep: ''
++ (
++ echo "Preparing Rust dependency wrap ${dep.pname}-${dep.version}..."
++
++ wrapDir=subprojects/packagefiles/${dep.pname}
++ outDir=subprojects/${dep.pname}-${dep.version}
++
++ mkdir -p $outDir
++ tar -C $outDir -xf ${fetchCrate (dep // { unpack = false; })} --strip-components=1
++ cp $wrapDir/meson.build $outDir
+
+- copyRustDep = dep: ''
+- cp -R --no-preserve=mode,ownership ${fetchCrate dep} subprojects/${dep.pname}-${dep.version}
+- cp -R subprojects/packagefiles/${dep.pname}/* subprojects/${dep.pname}-${dep.version}/
++ for patch in $wrapDir/*.patch; do
++ patch -d $outDir -i $(readlink -f $patch) -p1
++ done
++ )
+ '';
+
+- copyRustDeps = lib.concatStringsSep "\n" (builtins.map copyRustDep rustDeps);
++ copyRustDeps = lib.concatStringsSep "\n" (builtins.map handleRustDep rustDeps);
+
+ needNativeCLC = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+@@ -227,13 +204,6 @@ stdenv.mkDerivation {
+ (lib.mesonEnable "gbm" true)
+ (lib.mesonBool "libgbm-external" true)
+
+- (lib.mesonBool "gallium-nine" false) # Direct3D9 in Wine, largely supplanted by DXVK
+-
+- # Only used by xf86-video-vmware, which has more features than VMWare's KMS driver,
+- # so we're keeping it for now. Should be removed when that's no longer the case.
+- # See: https://github.com/NixOS/nixpkgs/pull/392492
+- (lib.mesonEnable "gallium-xa" true)
+-
+ (lib.mesonBool "teflon" true) # TensorFlow frontend
+
+ # Enable all freedreno kernel mode drivers. (For example, virtio can be
+@@ -241,9 +211,6 @@ stdenv.mkDerivation {
+ # is ignored when freedreno is not being built.
+ (lib.mesonOption "freedreno-kmds" "msm,kgsl,virtio,wsl")
+
+- # Enable Intel RT stuff when available
+- (lib.mesonEnable "intel-rt" stdenv.hostPlatform.isx86_64)
+-
+ # Required for OpenCL
+ (lib.mesonOption "clang-libdir" "${lib.getLib llvmPackages.clang-unwrapped}/lib")
+
+@@ -251,15 +218,16 @@ stdenv.mkDerivation {
+ (lib.mesonBool "gallium-rusticl" true)
+ (lib.mesonOption "gallium-rusticl-enable-drivers" "auto")
+
+- # 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)
+-
+ # Enable more sensors in gallium-hud
+ (lib.mesonBool "gallium-extra-hud" true)
+
+ # Disable valgrind on targets where it's not available
+ (lib.mesonEnable "valgrind" withValgrind)
++
++ # meson auto_features enables these, but we do not want them
++ (lib.mesonEnable "gallium-mediafoundation" false) # Windows only
++ (lib.mesonEnable "android-libbacktrace" false) # Android only
++ (lib.mesonEnable "microsoft-clc" false) # Only relevant on Windows (OpenCL 1.2 API on top of D3D12)
+ ]
+ ++ lib.optionals enablePatentEncumberedCodecs [
+ (lib.mesonOption "video-codecs" "all")
+diff --git a/pkgs/development/libraries/mesa/opencl.patch b/pkgs/development/libraries/mesa/opencl.patch
+index 9d40da82f85649..d71f168d83cf12 100644
+--- a/pkgs/development/libraries/mesa/opencl.patch
++++ b/pkgs/development/libraries/mesa/opencl.patch
+@@ -1,23 +1,23 @@
+ diff --git a/meson.build b/meson.build
+-index c150bff74ff..37fa7f0531b 100644
++index 393f3ac1b93..fbc90b5645e 100644
+ --- a/meson.build
+ +++ b/meson.build
+-@@ -1850,7 +1850,7 @@ endif
++@@ -1836,7 +1836,7 @@ endif
+
+ dep_clang = null_dep
+- if with_clc or with_gallium_clover
++ if with_clc
+ - llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir')
+ + llvm_libdir = get_option('clang-libdir')
+
+ dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false)
+
+-diff --git a/meson_options.txt b/meson_options.txt
+-index 82324617884..4bde97a8568 100644
++diff --git a/meson.options b/meson.options
++index b1cdb06fcc9..3e8861979ae 100644
+ --- a/meson.options
+ +++ b/meson.options
+-@@ -738,3 +738,10 @@ option(
+- 'none', 'dri2'
+- ],
++@@ -856,3 +856,10 @@ option(
++ value : false,
++ description : 'Build virtgpu_kumquat (only useful with gfxstream currently)'
+ )
+ +
+ +option(
+@@ -26,24 +26,11 @@ index 82324617884..4bde97a8568 100644
+ + value : '',
+ + description : 'Locations to search for clang libraries.'
+ +)
+-diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
+-index ab2c83556a8..a59e88e122f 100644
+---- a/src/gallium/targets/opencl/meson.build
+-+++ b/src/gallium/targets/opencl/meson.build
+-@@ -56,7 +56,7 @@ if with_opencl_icd
+- configuration : _config,
+- input : 'mesa.icd.in',
+- output : 'mesa.icd',
+-- install : true,
+-+ install : false,
+- install_tag : 'runtime',
+- install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+- )
+ diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build
+-index 35833dc7423..41a95927cab 100644
++index 2b214adbbf5..7f919397ad5 100644
+ --- a/src/gallium/targets/rusticl/meson.build
+ +++ b/src/gallium/targets/rusticl/meson.build
+-@@ -63,7 +63,7 @@ configure_file(
++@@ -64,7 +64,7 @@ configure_file(
+ configuration : _config,
+ input : 'rusticl.icd.in',
+ output : 'rusticl.icd',
+diff --git a/pkgs/development/libraries/mesa/update-wraps.py b/pkgs/development/libraries/mesa/update-wraps.py
+new file mode 100644
+index 00000000000000..037dfc0397b24b
+--- /dev/null
++++ b/pkgs/development/libraries/mesa/update-wraps.py
+@@ -0,0 +1,50 @@
++import base64
++import binascii
++import configparser
++import json
++import pathlib
++import sys
++import urllib.parse
++
++
++def to_sri(hash: str):
++ raw = binascii.unhexlify(hash)
++ b64 = base64.b64encode(raw).decode()
++ return f"sha256-{b64}"
++
++
++def main(dir: str):
++ result = []
++ for file in (pathlib.Path(dir) / "subprojects").glob("*.wrap"):
++ name = file.stem
++ parser = configparser.ConfigParser()
++ _ = parser.read(file)
++ sections = parser.sections()
++ if "wrap-file" not in sections:
++ continue
++
++ url = parser.get("wrap-file", "source_url")
++ if "crates.io" not in url:
++ continue
++
++ parsed = urllib.parse.urlparse(url)
++ path = parsed.path.split("/")
++ assert path[4] == name
++ version = path[5]
++
++ hash = to_sri(parser.get("wrap-file", "source_hash"))
++
++ result.append({
++ "pname": name,
++ "version": version,
++ "hash": hash,
++ })
++
++ here = pathlib.Path(__file__).parent
++ with (here / "wraps.json").open("w") as fd:
++ json.dump(result, fd, indent=4)
++ _ = fd.write("\n")
++
++
++if __name__ == '__main__':
++ main(*sys.argv[1:])
+diff --git a/pkgs/development/libraries/mesa/wraps.json b/pkgs/development/libraries/mesa/wraps.json
+new file mode 100644
+index 00000000000000..5b185c2d56239b
+--- /dev/null
++++ b/pkgs/development/libraries/mesa/wraps.json
+@@ -0,0 +1,137 @@
++[
++ {
++ "pname": "errno",
++ "version": "0.3.12",
++ "hash": "sha256-zqFO+TVeO+qwY3A6qdqxWv0l8GZ8NBMQweUnS7HQ2hg="
++ },
++ {
++ "pname": "quote",
++ "version": "1.0.35",
++ "hash": "sha256-KR7Jq179k0qvUDpkZsXVJRU10QjudHRyw5d8xazIaO8="
++ },
++ {
++ "pname": "pest",
++ "version": "2.8.0",
++ "hash": "sha256-GY23RTHVjHCjYcQiAe/efiWR6XbVGMr3ZipH3Fcg57Y="
++ },
++ {
++ "pname": "equivalent",
++ "version": "1.0.1",
++ "hash": "sha256-VEOAfW3/aTc9Qzq571N4rY31DKYpjK8V3m5S4kqvVNU="
++ },
++ {
++ "pname": "syn",
++ "version": "2.0.87",
++ "hash": "sha256-JapM40bQOm3NaN2LQBC8t05U5iyQxXPzlMRurpmroy0="
++ },
++ {
++ "pname": "remain",
++ "version": "0.2.12",
++ "hash": "sha256-GtXgESMMrSdNBTJGDFq2mCjqR651aBtCqEFmPv/695Q="
++ },
++ {
++ "pname": "unicode-ident",
++ "version": "1.0.12",
++ "hash": "sha256-M1S5rD+uH/Z1XLbbU2g622YWNPZ1V5Qt6k+s6+wP7ks="
++ },
++ {
++ "pname": "cfg-if",
++ "version": "1.0.0",
++ "hash": "sha256-uvHeQzl2FYi8Bhnjy8ASDuWC67dLU7Tvv3kRe9LaQP0="
++ },
++ {
++ "pname": "bitflags",
++ "version": "2.9.1",
++ "hash": "sha256-G45WmF7GLRfpwQAdyJyI7NfcCOR+ul7Hwpx7Xu7N6Wc="
++ },
++ {
++ "pname": "pest_derive",
++ "version": "2.8.0",
++ "hash": "sha256-1yXZz9eeh9zMk0Gi7znRtvY1PWjEszwXf+u+GkAsl8U="
++ },
++ {
++ "pname": "rustc-hash",
++ "version": "2.1.1",
++ "hash": "sha256-NXcD1BNltLJ8WQ4+2R6rsbZj8HxMCECV5gy+1DYt/w0="
++ },
++ {
++ "pname": "ucd-trie",
++ "version": "0.1.6",
++ "hash": "sha256-7WRikv/IGI746k0eDgFQ+xWlwuEq2bj8GRrnqKfzxLk="
++ },
++ {
++ "pname": "indexmap",
++ "version": "2.2.6",
++ "hash": "sha256-Fo+3Fd2kchXjYJEsCWZJ0j1Yvzkqxi9zkZ6DF0XkDyY="
++ },
++ {
++ "pname": "paste",
++ "version": "1.0.14",
++ "hash": "sha256-3jFFrwgCTeqfqZFPOBoXuPxgNN+wDzqEAT9/9D8p7Uw="
++ },
++ {
++ "pname": "hashbrown",
++ "version": "0.14.1",
++ "hash": "sha256-ff2mKhL1Xa6uUBX4GwuuoUU5HLRSD4bCSPxhXXJkDRI="
++ },
++ {
++ "pname": "libc",
++ "version": "0.2.168",
++ "hash": "sha256-Wq6ymB4GBsoR15cY+LsBFk8dbtdQgBgtOr8Bfm0kS20="
++ },
++ {
++ "pname": "thiserror-impl",
++ "version": "2.0.11",
++ "hash": "sha256-Jq/BuuqKmJM37rUrbnKgOXgM5Fw+38ycW50RL+6xc8I="
++ },
++ {
++ "pname": "once_cell",
++ "version": "1.8.0",
++ "hash": "sha256-aS/LY7ZLF1gCngqW7mPgSc6MWUhYfy9yCN8EYl5fa1Y="
++ },
++ {
++ "pname": "rustix",
++ "version": "1.0.7",
++ "hash": "sha256-xx6D1q/n/2SJDsa3HWppu4phCreM42SzNSh2u0yAEmY="
++ },
++ {
++ "pname": "pest_generator",
++ "version": "2.8.0",
++ "hash": "sha256-230Bcmvoq2arMvnfRnrosRSJBmhbvnXILR5l1/Wz+EE="
++ },
++ {
++ "pname": "thiserror",
++ "version": "2.0.11",
++ "hash": "sha256-1FLyhLc+bXbdNnWKDIaEsdW+MfkridB/1YIhdXMiBvw="
++ },
++ {
++ "pname": "proc-macro2",
++ "version": "1.0.86",
++ "hash": "sha256-XnGejfZl3w0cj7/SOAFXRHNhUdREXsCDa45iiq4QO3c="
++ },
++ {
++ "pname": "zerocopy",
++ "version": "0.8.13",
++ "hash": "sha256-Z5FKtFHzv9Lmnl6dLvOFhITnB01j8gT9Fm7DkbVN4h0="
++ },
++ {
++ "pname": "roxmltree",
++ "version": "0.20.0",
++ "hash": "sha256-bCC2eTtcL6ZVOyUBVLeNbQ2zfnJwCuNfrZOHpG9IfJc="
++ },
++ {
++ "pname": "zerocopy-derive",
++ "version": "0.8.13",
++ "hash": "sha256-eYjXOkMDyiid8DMWvEkOk0rM83Gva8dFOTzzwsXE8l0="
++ },
++ {
++ "pname": "pest_meta",
++ "version": "2.8.0",
++ "hash": "sha256-f5+DJHBJSQbR/KUyn4q1eRzGC+sjDHSBXf9UHL0rXKA="
++ },
++ {
++ "pname": "log",
++ "version": "0.4.27",
++ "hash": "sha256-E9wt81HjICeDof4NRDdfcpX/tASSZ7DzAYNG3BIqHZQ="
++ }
++]
+diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
+index 49f4838a058bda..6e14ad71a2b48c 100644
+--- a/pkgs/servers/x11/xorg/overrides.nix
++++ b/pkgs/servers/x11/xorg/overrides.nix
+@@ -829,7 +829,6 @@ self: super:
+ });
+
+ xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: {
+- buildInputs = attrs.buildInputs ++ [ mesa ];
+ env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=address" ]; # gcc12
+ meta = attrs.meta // {
+ platforms = [
diff --git a/files/nixpkgs-patches/4c3870b23dded4e75292be48bdb03cd870fb1719.diff b/files/nixpkgs-patches/4c3870b23dded4e75292be48bdb03cd870fb1719.diff
new file mode 100644
index 0000000..950ee0e
--- /dev/null
+++ b/files/nixpkgs-patches/4c3870b23dded4e75292be48bdb03cd870fb1719.diff
@@ -0,0 +1,21 @@
+diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix
+index d6377d6de7dabd..18f999dd83599c 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 = "25.1.5";
++ version = "25.1.6";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "mesa";
+ repo = "mesa";
+ rev = "mesa-${version}";
+- hash = "sha256-AZAd1/wiz8d0lXpim9obp6/K7ySP12rGFe8jZrc9Gl0=";
++ hash = "sha256-SHYYezt2ez9awvIATEC6wVMZMuJUsOYXxlugs1Q6q7U=";
+ };
+
+ meta = {
diff --git a/files/nixpkgs-patches/adw-gtk3-update.diff b/files/nixpkgs-patches/adw-gtk3-update.diff
deleted file mode 100644
index 0ea2bd0..0000000
--- a/files/nixpkgs-patches/adw-gtk3-update.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/pkgs/by-name/ad/adw-gtk3/package.nix b/pkgs/by-name/ad/adw-gtk3/package.nix
-index 7511b9524..6cb3054cd 100644
---- a/pkgs/by-name/ad/adw-gtk3/package.nix
-+++ b/pkgs/by-name/ad/adw-gtk3/package.nix
-@@ -5,29 +5,29 @@
- nix-update-script,
- meson,
- ninja,
-- sassc,
-+ dart-sass,
- }:
-
- stdenvNoCC.mkDerivation (finalAttrs: {
- pname = "adw-gtk3";
-- version = "5.10";
-+ version = "6.1";
-
- src = fetchFromGitHub {
- owner = "lassekongo83";
- repo = "adw-gtk3";
- tag = "v${finalAttrs.version}";
-- hash = "sha256-0OZk27b0kujzWtRX5uvelTMivL19g6sNB1IY6BsrO10=";
-+ hash = "sha256-fY5z7KQXygGhkai1N3iMsnC1ZFjIAoBndjsPcv58kXg=";
- };
-
- nativeBuildInputs = [
- meson
- ninja
-- sassc
-+ dart-sass
- ];
-
- postPatch = ''
-- chmod +x gtk/src/adw-gtk3-dark/gtk-3.0/install-dark-theme.sh
-- patchShebangs gtk/src/adw-gtk3-dark/gtk-3.0/install-dark-theme.sh
-+ chmod +x scripts/render-assets.sh
-+ patchShebangs +x scripts/render-assets.sh
- '';
-
- passthru = {
diff --git a/files/nvim/init.vim b/files/nvim/init.vim
index 7325928..780f9d5 100644
--- a/files/nvim/init.vim
+++ b/files/nvim/init.vim
@@ -25,6 +25,9 @@ set nocompatible
filetype plugin indent on
syntax on
+" Check for SHIFT_JIS.
+set fileencodings=ucs-bom,utf-8,sjis,default,latin1
+
" 4 spaces autoindent.
set tabstop=4
set shiftwidth=4
@@ -121,7 +124,7 @@ let g:fzf_colors = {
\'spinner': ['fg', 'String'],
\'header': ['fg', 'Type']
\}
-let g:fzf_preview_window = ['right,47%']
+let g:fzf_preview_window = ['right,55%']
" This is redundant but I want to keep FZF_DEFAULT_OPTS here.
let $FZF_DEFAULT_OPTS = '--preview-window=border-sharp'
let g:fzf_layout = {
@@ -155,7 +158,7 @@ function! Statusline() abort
let status .= '%='
let status .= ' %y'
let status .= '%{StatuslineLsp()}'
- let status .= ' %{&fileencoding?&fileencoding:&encoding}'
+ let status .= ' %{&fileencoding}'
let status .= '[%{&fileformat}]'
let status .= '%3p%%'
let status .= ' %3l:%-3c'
@@ -202,6 +205,7 @@ nmap <silent> <C-i> :GGrep<CR>
nmap <silent> <C-\> :GFiles<CR>
" Only Neogit bind, handle all further operations from this menu.
nmap <silent> Y :Neogit<CR>
+nmap <silent> L :lua neogit_log_current()<CR>
" Undotree.
nmap <silent> U :UndotreeToggle<CR>
" Toggle hex color highlighting.
@@ -354,6 +358,11 @@ require('neogit').setup({
integrations = {}
})
+-- Doesn't work consistently.
+function neogit_log_current()
+ require("neogit").action("log", "log_current", { "--", vim.fn.expand("%:p") })()
+end
+
-- Preview colors in #<hex> format.
require('ccc').setup({ highlighter = { auto_enable = false, lsp = true } })
EOF
diff --git a/files/nvim/mini_starter_picture.diff b/files/nvim/mini_starter_picture.diff
index b64025c..2efc2a1 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 cc10d101..78c4e5c1 100644
+index 66d46a52..9b7e4397 100644
--- a/lua/mini/starter.lua
+++ b/lua/mini/starter.lua
@@ -138,7 +138,7 @@
@@ -11,7 +11,7 @@ index cc10d101..78c4e5c1 100644
--- timer:stop()
--- return
--- end
-@@ -248,6 +248,9 @@ MiniStarter.config = {
+@@ -239,6 +239,9 @@ MiniStarter.config = {
-- If `nil` (default), default items will be used (see |mini.starter|).
items = nil,
@@ -21,7 +21,7 @@ index cc10d101..78c4e5c1 100644
-- Header to be displayed before items. Converted to single string via
-- `tostring` (use `\n` to display several lines). If function, it is
-- evaluated first. If `nil` (default), polite greeting will be used.
-@@ -258,6 +261,12 @@ MiniStarter.config = {
+@@ -249,6 +252,12 @@ MiniStarter.config = {
-- evaluated first. If `nil` (default), default usage help will be shown.
footer = nil,
@@ -34,7 +34,7 @@ index cc10d101..78c4e5c1 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).
-@@ -382,7 +391,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 cc10d101..78c4e5c1 100644
local hooks = config.content_hooks or H.default_content_hooks
for _, f in ipairs(hooks) do
content = f(content, buf_id)
-@@ -409,6 +418,16 @@ MiniStarter.refresh = function(buf_id)
+@@ -400,6 +409,16 @@ MiniStarter.refresh = function(buf_id)
-- Apply current query (clear command line afterwards)
H.make_query(buf_id)
@@ -60,7 +60,7 @@ index cc10d101..78c4e5c1 100644
end
--- Close Starter buffer
-@@ -738,18 +757,45 @@ MiniStarter.gen_hook.aligning = function(horizontal, vertical)
+@@ -729,18 +748,45 @@ MiniStarter.gen_hook.aligning = function(horizontal, vertical)
local win_id = vim.fn.bufwinid(buf_id)
if win_id < 0 then return end
@@ -108,7 +108,7 @@ index cc10d101..78c4e5c1 100644
return MiniStarter.gen_hook.padding(left_pad, top_pad)(content)
end
end
-@@ -1012,7 +1058,7 @@ H.default_footer = [[
+@@ -1003,7 +1049,7 @@ H.default_footer = [[
Type query to filter items
<BS> deletes latest character from query
<Esc> resets current query
@@ -117,7 +117,7 @@ index cc10d101..78c4e5c1 100644
<CR> executes action of current item
<C-c> closes this buffer]]
-@@ -1053,8 +1099,54 @@ end
+@@ -1044,8 +1090,54 @@ end
H.apply_config = function(config) MiniStarter.config = config end
@@ -173,7 +173,7 @@ index cc10d101..78c4e5c1 100644
if config.autoopen then
local on_vimenter = function()
-@@ -1066,7 +1158,7 @@ H.create_autocommands = function(config)
+@@ -1057,7 +1149,7 @@ H.create_autocommands = function(config)
vim.cmd('noautocmd lua MiniStarter.open()')
end
@@ -182,7 +182,7 @@ index cc10d101..78c4e5c1 100644
vim.api.nvim_create_autocmd('VimEnter', au_opts)
end
-@@ -1112,9 +1204,11 @@ H.normalize_header_footer = function(x)
+@@ -1103,9 +1195,11 @@ H.normalize_header_footer = function(x)
end
-- Work with buffer content ---------------------------------------------------
@@ -195,7 +195,7 @@ index cc10d101..78c4e5c1 100644
-- Add header lines
for _, l in ipairs(header) do
H.content_add_line(content, { H.content_unit(l, 'header', 'MiniStarterHeader') })
-@@ -1125,7 +1219,7 @@ H.make_initial_content = function(header, items, footer)
+@@ -1116,7 +1210,7 @@ H.make_initial_content = function(header, items, footer)
H.content_add_items(content, items)
-- Add footer lines
@@ -204,7 +204,7 @@ index cc10d101..78c4e5c1 100644
for _, l in ipairs(footer) do
H.content_add_line(content, { H.content_unit(l, 'footer', 'MiniStarterFooter') })
end
-@@ -1328,11 +1422,23 @@ H.make_buffer_autocmd = function(buf_id)
+@@ -1319,11 +1413,23 @@ 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')
@@ -228,7 +228,7 @@ index cc10d101..78c4e5c1 100644
end
H.apply_buffer_options = function(buf_id)
-@@ -1345,7 +1451,7 @@ H.apply_buffer_options = function(buf_id)
+@@ -1336,7 +1442,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
@@ -237,7 +237,7 @@ index cc10d101..78c4e5c1 100644
local options = {
-- Taken from 'vim-startify'
-@@ -1392,12 +1498,8 @@ H.apply_buffer_mappings = function(buf_id)
+@@ -1383,12 +1489,8 @@ H.apply_buffer_mappings = function(buf_id)
buf_keymap('<CR>', 'MiniStarter.eval_current_item()')
@@ -252,7 +252,7 @@ index cc10d101..78c4e5c1 100644
-- Make all special symbols to update query
for _, key in ipairs(vim.split(H.get_config().query_updaters, '')) do
-@@ -1473,21 +1575,21 @@ H.is_something_shown = function()
+@@ -1464,21 +1566,21 @@ H.is_something_shown = function()
end
-- Utilities ------------------------------------------------------------------
@@ -265,7 +265,7 @@ index cc10d101..78c4e5c1 100644
end
-H.set_buf_name = function(buf_id, name) vim.api.nvim_buf_set_name(buf_id, 'ministarter://' .. buf_id .. '/' .. name) end
-+H.set_buf_name = function(buf_id, name) vim.api.nvim_buf_set_name(buf_id, 'dashboard://' .. buf_id .. '/' .. name) end
++H.set_buf_name = function(buf_id, name) vim.api.nvim_buf_set_name(buf_id, '*dashboard*') end
H.echo = function(msg, is_important)
if H.get_config().silent then return end
@@ -277,7 +277,7 @@ index cc10d101..78c4e5c1 100644
-- Avoid hit-enter-prompt
local max_width = vim.o.columns * math.max(vim.o.cmdheight - 1, 0) + vim.v.echospace
-@@ -1536,7 +1638,7 @@ H.eval_fun_or_string = function(x, string_as_cmd)
+@@ -1527,7 +1629,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