From 31b367791c444ad35a021ed50010196204ff50a3 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 3 May 2025 12:20:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=8B=AC=E5=AE=9A=E4=B9=89nix-ld;=20?= =?UTF-8?q?=E5=90=AF=E7=94=A8coredump?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/nixos/core/default.nix | 149 ++++----------------------------- modules/nixos/core/nixld.nix | 125 +++++++++++++++++++++++++++ 2 files changed, 141 insertions(+), 133 deletions(-) create mode 100644 modules/nixos/core/nixld.nix diff --git a/modules/nixos/core/default.nix b/modules/nixos/core/default.nix index 193a5d6..1d77522 100644 --- a/modules/nixos/core/default.nix +++ b/modules/nixos/core/default.nix @@ -3,132 +3,12 @@ imports = [ ./boot.nix ./system.nix + ./nixld.nix ]; programs = { git.enable = true; dconf.enable = true; - - # Allow to run prebuild binary app - nix-ld = { - enable = true; - libraries = with pkgs; [ - SDL # 简单直接媒体层,用于图形、音频、输入等的跨平台库 - SDL2 # SDL的第二个主要版本,提供更多功能 - SDL2_image # SDL2的图像加载库,支持多种图像格式 - SDL2_mixer # SDL2的音频混合库,用于播放多种音频格式 - SDL2_ttf # SDL2的TrueType字体渲染库 - SDL_image # SDL1的图像加载库 - SDL_mixer # SDL1的音频混合库 - SDL_ttf # SDL1的TrueType字体渲染库 - alsa-lib # 高级Linux声音架构库,提供音频功能 - at-spi2-atk # 辅助技术服务提供者接口,连接ATK和AT-SPI - at-spi2-core # 辅助技术服务提供者接口核心组件 - atk # 辅助技术工具包,提供辅助功能支持 - bzip2 # 高质量的数据压缩库 - cairo # 2D图形渲染库,支持多种输出设备 - cups # 通用Unix打印系统,提供打印功能 - curlWithGnuTls # 使用GnuTLS的URL传输库,用于网络请求 - dbus # 进程间通信系统,用于应用程序之间的通信 - dbus-glib # D-Bus的GLib绑定 - desktop-file-utils # 用于处理桌面条目文件的工具 - e2fsprogs # ext2/3/4文件系统工具 - expat # XML解析库 - flac # 无损音频编解码器 - fontconfig # 字体配置和自定义库 - freeglut # OpenGL实用工具包,用于创建OpenGL上下文 - freetype # 字体渲染引擎 - fribidi # Unicode双向文本算法实现 - fuse # 用户空间文件系统接口 - fuse3 # FUSE的第3版,用户空间文件系统接口 - gdk-pixbuf # 图像加载库,GNOME的一部分 - glew110 # OpenGL扩展加载库1.10版本 - glib # 通用工具库,提供数据结构处理、移植等功能 - gmp # GNU多精度算术库 - gst_all_1.gst-plugins-base # GStreamer基础插件集 - gst_all_1.gst-plugins-ugly # GStreamer非自由插件集 - gst_all_1.gstreamer # 多媒体框架 - gtk2 # 图形用户界面工具包第2版 - gtk3 # 图形用户界面工具包第2版 - harfbuzz # 文本整形引擎 - icu # 国际化组件,提供Unicode和全球化支持 - keyutils.lib # Linux密钥管理工具库 - libGL # OpenGL库 - libGLU # OpenGL实用工具库 - libappindicator-gtk2 # 应用程序指示器库,用于系统托盘图标 - libcaca # 彩色ASCII艺术库 - libcanberra # 声音主题规范的实现 - libcap # POSIX能力库 - libclang.lib # Clang编译器库 - libdbusmenu # D-Bus菜单库 - libdrm # 直接渲染管理器库 - libgbm # Open source 3D graphics library - libgcrypt # GNU加密库 - libgpg-error # GnuPG错误报告库 - libidn # 国际化域名库 - libjack2 # JACK音频连接套件第2版 - libjpeg # JPEG图像编解码库 - libmikmod # 模块音乐库 - libogg # Ogg多媒体容器格式库 - libpng12 # PNG图像编解码库1.2版本 - librsvg # SVG渲染库 - libsamplerate # 音频采样率转换库 - libthai # 泰语支持库 - libtheora # Theora视频编解码库 - libtiff # TIFF图像编解码库 - libudev0-shim # 旧版udev库兼容层 - libusb1 # USB设备访问库 - libuuid # UUID生成和解析库 - libvdpau # 视频解码和呈现API - libvorbis # Vorbis音频编解码库 - libvpx # VP8/VP9视频编解码库 - libxcrypt-legacy # 旧版密码哈希库 - libxkbcommon # 键盘处理库 - libxml2 # XML解析和生成库 - mesa # 开源OpenGL实现 - nspr # Netscape可移植运行时 - nss # 网络安全服务 - openssl # 安全套接字层库 - p11-kit # PKCS#11模块加载库 - pango # 文本布局和渲染库 - pixman # 像素操作库 - python3 # Python编程语言解释器 - speex # 语音压缩格式 - stdenv.cc.cc # 标准C编译器 - tbb # 英特尔线程构建块库 - udev # 设备管理器 - vulkan-loader # Vulkan图形API加载器 - wayland # 显示服务器协议 - xorg.libICE # X11 Inter-Client Exchange库 - xorg.libSM # X11会话管理库 - xorg.libX11 # X11客户端库 - xorg.libXScrnSaver # X11屏幕保护扩展库 - xorg.libXcomposite # X11合成扩展库 - xorg.libXcursor # X11光标管理库 - xorg.libXdamage # X11损坏扩展库 - xorg.libXext # X11通用扩展库 - xorg.libXfixes # X11修复扩展库 - xorg.libXft # X11 FreeType接口库 - xorg.libXi # X11输入扩展库 - xorg.libXinerama # X11多显示器扩展库 - xorg.libXmu # X11杂项实用工具库 - xorg.libXrandr # X11调整大小和旋转扩展库 - xorg.libXrender # X11渲染扩展库 - xorg.libXt # X11工具包内省库 - xorg.libXtst # X11测试扩展库 - xorg.libXxf86vm # X11 XFree86视频模式扩展库 - xorg.libpciaccess # X11 PCI访问库 - xorg.libxcb # X11 C绑定库 - xorg.xcbutil # XCB实用工具库 - xorg.xcbutilimage # XCB图像实用工具库 - xorg.xcbutilkeysyms # XCB键符号实用工具库 - xorg.xcbutilrenderutil # XCB渲染实用工具库 - xorg.xcbutilwm # XCB窗口管理实用工具库 - xorg.xkeyboardconfig # X11键盘配置数据库 - xz # LZMA压缩工具 - zlib # 通用数据压缩库 - ]; - }; }; # Configure firewall @@ -139,19 +19,22 @@ }; # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "zh_CN.UTF-8"; - LC_IDENTIFICATION = "zh_CN.UTF-8"; - LC_MEASUREMENT = "zh_CN.UTF-8"; - LC_MONETARY = "zh_CN.UTF-8"; - LC_NAME = "zh_CN.UTF-8"; - LC_NUMERIC = "zh_CN.UTF-8"; - LC_PAPER = "zh_CN.UTF-8"; - LC_TELEPHONE = "zh_CN.UTF-8"; - LC_TIME = "zh_CN.UTF-8"; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "zh_CN.UTF-8"; + LC_IDENTIFICATION = "zh_CN.UTF-8"; + LC_MEASUREMENT = "zh_CN.UTF-8"; + LC_MONETARY = "zh_CN.UTF-8"; + LC_NAME = "zh_CN.UTF-8"; + LC_NUMERIC = "zh_CN.UTF-8"; + LC_PAPER = "zh_CN.UTF-8"; + LC_TELEPHONE = "zh_CN.UTF-8"; + LC_TIME = "zh_CN.UTF-8"; + }; }; time.timeZone = "Asia/Shanghai"; + + systemd.coredump.enable = true; } diff --git a/modules/nixos/core/nixld.nix b/modules/nixos/core/nixld.nix new file mode 100644 index 0000000..f018da4 --- /dev/null +++ b/modules/nixos/core/nixld.nix @@ -0,0 +1,125 @@ +{ pkgs, ... }: +{ + programs = { + # Allow to run prebuild binary app + nix-ld = { + enable = true; + libraries = with pkgs; [ + SDL # 简单直接媒体层,用于图形、音频、输入等的跨平台库 + SDL2 # SDL的第二个主要版本,提供更多功能 + SDL2_image # SDL2的图像加载库,支持多种图像格式 + SDL2_mixer # SDL2的音频混合库,用于播放多种音频格式 + SDL2_ttf # SDL2的TrueType字体渲染库 + SDL_image # SDL1的图像加载库 + SDL_mixer # SDL1的音频混合库 + SDL_ttf # SDL1的TrueType字体渲染库 + alsa-lib # 高级Linux声音架构库,提供音频功能 + at-spi2-atk # 辅助技术服务提供者接口,连接ATK和AT-SPI + at-spi2-core # 辅助技术服务提供者接口核心组件 + atk # 辅助技术工具包,提供辅助功能支持 + bzip2 # 高质量的数据压缩库 + cairo # 2D图形渲染库,支持多种输出设备 + cups # 通用Unix打印系统,提供打印功能 + curlWithGnuTls # 使用GnuTLS的URL传输库,用于网络请求 + dbus # 进程间通信系统,用于应用程序之间的通信 + dbus-glib # D-Bus的GLib绑定 + desktop-file-utils # 用于处理桌面条目文件的工具 + e2fsprogs # ext2/3/4文件系统工具 + expat # XML解析库 + flac # 无损音频编解码器 + fontconfig # 字体配置和自定义库 + freeglut # OpenGL实用工具包,用于创建OpenGL上下文 + freetype # 字体渲染引擎 + fribidi # Unicode双向文本算法实现 + fuse # 用户空间文件系统接口 + fuse3 # FUSE的第3版,用户空间文件系统接口 + gdk-pixbuf # 图像加载库,GNOME的一部分 + glew110 # OpenGL扩展加载库1.10版本 + glib # 通用工具库,提供数据结构处理、移植等功能 + gmp # GNU多精度算术库 + gst_all_1.gst-plugins-base # GStreamer基础插件集 + gst_all_1.gst-plugins-ugly # GStreamer非自由插件集 + gst_all_1.gstreamer # 多媒体框架 + gtk2 # 图形用户界面工具包第2版 + gtk3 # 图形用户界面工具包第2版 + harfbuzz # 文本整形引擎 + icu # 国际化组件,提供Unicode和全球化支持 + keyutils.lib # Linux密钥管理工具库 + libGL # OpenGL库 + libGLU # OpenGL实用工具库 + libappindicator-gtk2 # 应用程序指示器库,用于系统托盘图标 + libcaca # 彩色ASCII艺术库 + libcanberra # 声音主题规范的实现 + libcap # POSIX能力库 + libclang.lib # Clang编译器库 + libdbusmenu # D-Bus菜单库 + libdrm # 直接渲染管理器库 + libgbm # Open source 3D graphics library + libgcrypt # GNU加密库 + libgpg-error # GnuPG错误报告库 + libidn # 国际化域名库 + libjack2 # JACK音频连接套件第2版 + libjpeg # JPEG图像编解码库 + libmikmod # 模块音乐库 + libogg # Ogg多媒体容器格式库 + libpng12 # PNG图像编解码库1.2版本 + librsvg # SVG渲染库 + libsamplerate # 音频采样率转换库 + libthai # 泰语支持库 + libtheora # Theora视频编解码库 + libtiff # TIFF图像编解码库 + libudev0-shim # 旧版udev库兼容层 + libusb1 # USB设备访问库 + libuuid # UUID生成和解析库 + libvdpau # 视频解码和呈现API + libvorbis # Vorbis音频编解码库 + libvpx # VP8/VP9视频编解码库 + libxcrypt-legacy # 旧版密码哈希库 + libxkbcommon # 键盘处理库 + libxml2 # XML解析和生成库 + mesa # 开源OpenGL实现 + nspr # Netscape可移植运行时 + nss # 网络安全服务 + openssl # 安全套接字层库 + p11-kit # PKCS#11模块加载库 + pango # 文本布局和渲染库 + pixman # 像素操作库 + python3 # Python编程语言解释器 + speex # 语音压缩格式 + stdenv.cc.cc # 标准C编译器 + tbb # 英特尔线程构建块库 + udev # 设备管理器 + vulkan-loader # Vulkan图形API加载器 + wayland # 显示服务器协议 + xorg.libICE # X11 Inter-Client Exchange库 + xorg.libSM # X11会话管理库 + xorg.libX11 # X11客户端库 + xorg.libXScrnSaver # X11屏幕保护扩展库 + xorg.libXcomposite # X11合成扩展库 + xorg.libXcursor # X11光标管理库 + xorg.libXdamage # X11损坏扩展库 + xorg.libXext # X11通用扩展库 + xorg.libXfixes # X11修复扩展库 + xorg.libXft # X11 FreeType接口库 + xorg.libXi # X11输入扩展库 + xorg.libXinerama # X11多显示器扩展库 + xorg.libXmu # X11杂项实用工具库 + xorg.libXrandr # X11调整大小和旋转扩展库 + xorg.libXrender # X11渲染扩展库 + xorg.libXt # X11工具包内省库 + xorg.libXtst # X11测试扩展库 + xorg.libXxf86vm # X11 XFree86视频模式扩展库 + xorg.libpciaccess # X11 PCI访问库 + xorg.libxcb # X11 C绑定库 + xorg.xcbutil # XCB实用工具库 + xorg.xcbutilimage # XCB图像实用工具库 + xorg.xcbutilkeysyms # XCB键符号实用工具库 + xorg.xcbutilrenderutil # XCB渲染实用工具库 + xorg.xcbutilwm # XCB窗口管理实用工具库 + xorg.xkeyboardconfig # X11键盘配置数据库 + xz # LZMA压缩工具 + zlib # 通用数据压缩库 + ]; + }; + }; +}