rearrange
This commit is contained in:
parent
c4dc259881
commit
f8bd9bd885
7 changed files with 0 additions and 1 deletions
69
modules/dictionary.nix
Normal file
69
modules/dictionary.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
# Create dictionary setup script that downloads and extracts dictionaries
|
||||
setupDictionaries = pkgs.writeShellScript "setup-dictionaries" ''
|
||||
# Create dictionary directory
|
||||
mkdir -p "$HOME/.stardict/dic"
|
||||
|
||||
# Function to download and extract dictionary
|
||||
download_dict() {
|
||||
local url="$1"
|
||||
local filename="$2"
|
||||
local extract_dir="$HOME/.stardict/dic"
|
||||
|
||||
if [ ! -f "$extract_dir/.$(basename $filename)-extracted" ]; then
|
||||
echo "Downloading $filename..."
|
||||
if ${pkgs.curl}/bin/curl -L -o "/tmp/$filename" "$url"; then
|
||||
echo "Extracting $filename..."
|
||||
${pkgs.gnutar}/bin/tar -xf "/tmp/$filename" -C "$extract_dir" --strip-components=1 2>/dev/null || \
|
||||
${pkgs.gnutar}/bin/tar -xf "/tmp/$filename" -C "$extract_dir" 2>/dev/null || true
|
||||
|
||||
# Clean up
|
||||
rm -f "/tmp/$filename"
|
||||
touch "$extract_dir/.$(basename $filename)-extracted"
|
||||
echo "$filename setup complete!"
|
||||
else
|
||||
echo "Failed to download $filename"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Download dictionaries (using working URLs)
|
||||
download_dict "https://web.archive.org/web/20200702203642/http://download.huzheng.org/dict.org/stardict-dictd_www.dict.org_gcide-2.4.2.tar.bz2" "gcide-dict.tar.bz2"
|
||||
download_dict "https://cyphar.github.io/jpn-stardicts/JMdict-ja-en.tar.gz" "jmdict-ja-en.tar.gz"
|
||||
|
||||
echo "Dictionary setup process completed!"
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
sdcv
|
||||
curl # For downloading dictionaries
|
||||
gnutar # For extracting dictionaries
|
||||
];
|
||||
|
||||
# Environment variable for dictionary location
|
||||
home.sessionVariables = {
|
||||
STARDICT_DATA_DIR = "$HOME/.stardict/dic";
|
||||
};
|
||||
|
||||
# Note: Dictionary files will be downloaded automatically when you first run 'dict-setup'
|
||||
# or you can run the setup manually at any time
|
||||
|
||||
# Shell aliases for different dictionary types
|
||||
programs.zsh.shellAliases = {
|
||||
# English-English dictionary
|
||||
"e2e" = "sdcv";
|
||||
|
||||
# Japanese-English dictionary
|
||||
"j2e" = "sdcv -u JMdict-ja-en";
|
||||
|
||||
# English-Japanese dictionary (same as Japanese-English - JMdict is bidirectional)
|
||||
"e2j" = "sdcv -u JMdict-ja-en";
|
||||
|
||||
# Manual dictionary setup
|
||||
"dict-setup" = toString setupDictionaries;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue