From c63e644ac95a95fca0ecbde9e679c3fb375af3a0 Mon Sep 17 00:00:00 2001 From: js0ny Date: Sun, 26 Oct 2025 16:57:11 +0000 Subject: [PATCH] feat: sdcv --- .../modules/nixos/hardware/nvidia-disable.nix | 2 +- nixcfgs/modules/nixos/hardware/nvidia.nix | 7 ++++- nixcfgs/users/js0ny/programs/sdcv.nix | 27 +++++++++++++++++-- nixcfgs/users/js0ny/zephyrus.nix | 4 +-- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/nixcfgs/modules/nixos/hardware/nvidia-disable.nix b/nixcfgs/modules/nixos/hardware/nvidia-disable.nix index 401cd93..7b63fa7 100644 --- a/nixcfgs/modules/nixos/hardware/nvidia-disable.nix +++ b/nixcfgs/modules/nixos/hardware/nvidia-disable.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{...}: { boot.extraModprobeConfig = '' blacklist nouveau options nouveau modeset=0 diff --git a/nixcfgs/modules/nixos/hardware/nvidia.nix b/nixcfgs/modules/nixos/hardware/nvidia.nix index b65c5ad..a2d1769 100644 --- a/nixcfgs/modules/nixos/hardware/nvidia.nix +++ b/nixcfgs/modules/nixos/hardware/nvidia.nix @@ -1,6 +1,11 @@ -{ +{config, ...}: { hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + powerManagement.finegrained = true; open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; }; services.xserver.videoDrivers = ["nvidia"]; hardware.graphics = { diff --git a/nixcfgs/users/js0ny/programs/sdcv.nix b/nixcfgs/users/js0ny/programs/sdcv.nix index 023edad..864c602 100644 --- a/nixcfgs/users/js0ny/programs/sdcv.nix +++ b/nixcfgs/users/js0ny/programs/sdcv.nix @@ -1,19 +1,42 @@ -# TODO -{pkgs}: let +{pkgs, ...}: let dictBz2 = [ { + # 朗道英汉字典 url = "http://download.huzheng.org/zh_CN/stardict-langdao-ec-gb-2.4.2.tar.bz2"; sha256 = "68adfd6348418725b1810b5aeda2506ce44ddbc1ad99f2f68f6ba135cd3bf03c"; } + { + # 朗道汉英字典 + url = "http://download.huzheng.org/zh_CN/stardict-langdao-ce-gb-2.4.2.tar.bz2"; + sha256 = "d539239f4920aa308582fba53918ea16844b6a2378cb74f9b99bfaec6e2f4f30"; + } ]; + fetchedArchives = map (spec: pkgs.fetchurl { url = spec.url; sha256 = spec.sha256; }) dictBz2; + + stardict-dicts = pkgs.stdenv.mkDerivation { + name = "stardict-dictionaries-combined"; + srcs = fetchedArchives; + sourceRoot = "."; + + installPhase = '' + mkdir -p $out + for src in $srcs; do + tar -xjvf $src -C $out --strip-components=1 + done + ''; + }; in { home.packages = with pkgs; [ sdcv ]; + + home.file.".local/share/stardict/dic" = { + source = stardict-dicts; + }; } diff --git a/nixcfgs/users/js0ny/zephyrus.nix b/nixcfgs/users/js0ny/zephyrus.nix index aee5695..e7ccca3 100644 --- a/nixcfgs/users/js0ny/zephyrus.nix +++ b/nixcfgs/users/js0ny/zephyrus.nix @@ -24,10 +24,10 @@ ./programs/mime.nix ./programs/zed-editor.nix ./programs/rime.nix + ./programs/sdcv.nix # Desktop Linux - ./programs/gnome - ./programs/gnome/paperwm.nix + ./programs/plasma.nix # General Program config ../../modules/home/programs/nvim.nix