@@ -28,17 +28,8 @@ let
} ;
Georges-Lat-De = pkgs . fetchzip { # TODO find out why this does not work with sdcv
url = " h t t p : / / t o v o t u . d e / d a t a / s t a r d i c t / g e o r g e s _ l a t - d e . z i p " ;
# "http://download.huzheng.org/de/stardict-georges_lat-de-2.4.2.tar.bz2";
sha256 = " 0 c c 5 x i p n 6 0 a n x v q 8 z 2 m w 5 3 d 4 g i 1 k 9 2 w b r j 9 m 4 w s 3 g 9 r h 8 7 f m k v g z " ;
} ;
SmithBiographyMythology = pkgs . fetchzip {
url = " h t t p s : / / g i t h u b . c o m / l a t i n - d i c t / S m i t h 1 8 7 3 / r e l e a s e s / d o w n l o a d / v 1 . 0 / S m i t h 1 8 7 3 - s t a r d i c t . z i p " ;
sha256 = " 0 1 h 5 f x a c p 2 m 6 0 x i r 8 k z s l k f y 7 7 2 v s 3 v m z 0 7 z h d w f h c w d a x i f 2 a f 2 " ;
} ;
SmithAntiquities = pkgs . fetchzip {
url = " h t t p s : / / g i t h u b . c o m / l a t i n - d i c t / S m i t h 1 8 9 0 / r e l e a s e s / d o w n l o a d / v 1 . 0 / S m i t h 1 8 9 0 - s t a r d i c t . z i p " ;
sha256 = " 0 v p s v 6 2 p 2 l r z m g y s 4 d 1 s w p n c 6 l q h d i 7 r x w k j 2 n g y 3 l z 5 d k 3 f y s y b " ;
} ;
LewisShort = pkgs . fetchzip {
url = " h t t p s : / / g i t h u b . c o m / l a t i n - d i c t / L e w i s S h o r t 1 8 7 9 / r e l e a s e s / d o w n l o a d / v 1 . 3 / L e w i s S h o r t 1 8 7 9 - s t a r d i c t . z i p " ;
sha256 = " 1 y 3 a n s 4 7 i v 8 b z z b 1 p a i m d q v c i d 8 m s 0 4 i k j b q y 3 i w 0 7 7 i 2 j s 3 q b j k " ;
@@ -58,14 +49,6 @@ let
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - R o g e t _ s _ I I _ T h e _ N e w _ T h e s a u r u s _ 3 t h _ E d - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 1 s z y n y 9 4 9 7 b p y y c c f 9 l 5 k r 3 b n w 0 w v l 4 c n s d 0 n 1 z s c x p y z l s r q q b z " ;
} ;
OED1 = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - O x f o r d _ E n g l i s h _ D i c t i o n a r y _ 2 n d _ E d . _ P 1 - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 0 i 5 v v 1 r v 4 4 y f w y f 9 b f b d r b 9 b r z h h p v z 2 j n h 3 9 f v 8 h h 1 0 7 n k v 2 v c f " ;
} ;
OED2 = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - O x f o r d _ E n g l i s h _ D i c t i o n a r y _ 2 n d _ E d . _ P 2 - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 1 p k 2 3 4 p b q 4 p k 5 5 d 8 s j k 0 p p 9 j 5 s a j m 8 2 f 8 8 0 4 k f 2 x m 2 x 5 p 3 8 7 q 1 r g " ;
} ;
JargonFile = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / d i c t . o r g / s t a r d i c t - d i c t d - j a r g o n - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 0 9 6 p h a r 9 q p m m 0 f n a q v 5 n z 8 x 9 l p x w n f j 7 8 g 4 v j f c f y d 7 k q p 7 i q l a 4 " ;
@@ -90,6 +73,10 @@ let
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b a b y l o n / g e r m a n / s t a r d i c t - D u d e n _ D e _ D e - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 1 f h a y 0 4 w 5 a a j 8 3 a x f m l a 2 q l 3 4 n b 6 0 g b 0 5 d g v 0 k 9 4 i g 7 p 8 x 4 y x x l f " ;
} ;
ConciseOED = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - C o n c i s e _ O x f o r d _ E n g l i s h _ D i c t i o n a r y - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 1 9 k p c x b h q z p m h i 9 4 m p 4 8 n a l g m s h 6 s 7 r s x 1 g b 4 k w k h i r p 2 p b j c y l 7 " ;
} ;
# Duden_Rechtschreibung = builtins.fetchTarball {
# url = "http://download.huzheng.org/babylon/german/stardict-Duden_Rechtschreibung-2.4.2.tar.bz2";
# sha256 = "0xiprb45s88w62rn8rlbjrsagbiliay9hszsiy20glwabf6zsfji";
@@ -102,10 +89,6 @@ let
# url = "http://download.huzheng.org/de/stardict-duden-2.4.2.tar.bz2";
# sha256 = "049i4ynfqqxykv1nlkyks94mvn14s22qdax5gg7hx1ks5y4xw64j";
# };
# ConciseOED = builtins.fetchTarball {
# url = "http://download.huzheng.org/bigdict/stardict-Concise_Oxford_English_Dictionary-2.4.2.tar.bz2";
# sha256 = "19kpcxbhqzpmhi94mp48nalgmsh6s7rsx1gb4kwkhirp2pbjcyl7";
# };
# FreeOnlineDictionaryOfComputing = builtins.fetchTarball {
# url = "http://download.huzheng.org/dict.org/stardict-dictd_www.dict.org_foldoc-2.4.2.tar.bz2";
# sha256 = "1lw2i8dzxpx929cpgvv0x366dnh4drr10wzqmrhcd0kvwglqawgm";
@@ -130,6 +113,99 @@ let
} ;
} ;
makeStardictDataDir = dicts : pkgs . linkFarm " d i c t i o n a r i e s " ( lib . mapAttrsToList ( name : path : { inherit name path ; } ) dicts ) ;
sdcvPager = pkgs . writeDash " s d c v P a g e r " ''
e x p o r t P A T H = ${ lib . makeBinPath [ pkgs . gnused pkgs . ncurses ] }
s e d "
s ! s t y l e = \ " c o l o r : # . . . \ " ! ! g ;
s ! < s p a n c l a s s = \ " z e n o T X S p a c e d \ " > \ ( [ ^ < > ] * \ ) < / s p a n > ! \ 1 ! g ;
s ! < / \ ? d i c t i o n a r y [ ^ > ] * > ! ! g ;
s ! < s t y l e . * < / s t y l e > ! ! g ;
s ! < a u t h o r > \ ( [ ^ < > ] * \ ) < / a u t h o r > ! \ 1 ! g ;
s ! < q u o t e l a n g = \ " \ ( g r e e k \ | l a \ ) \ " > \ ( [ ^ < > ] * \ ) < / q u o t e > ! $( t p u t s i t m ) \ 2 $( t p u t s g r 0 ) ! g ;
s ! < b i b l S c o p e > \ ( [ ^ < > ] * \ ) < / b i b l S c o p e > ! \ 1 ! g ;
s ! < m o o d > \ ( [ ^ < > ] * \ ) < / m o o d > ! $( t p u t s i t m ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < a d v > \ ( [ ^ < > ] * \ ) < / a d v > ! $( t p u t s i t m ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < g r a m [ ^ > ] * > \ ( [ ^ < > ] * \ ) < / g r a m > ! $( t p u t s i t m ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < b i b l _ t i t l e > \ ( [ ^ < > ] * \ ) < / b i b l _ t i t l e > ! $( t p u t s i t m ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < h i r e n d = \ " i t a l \ " > \ ( [ ^ < > ] * \ ) < / h i > ! $( t p u t s i t m ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < d i c t _ t r > \ ( [ ^ < > ] * \ ) < / d i c t _ t r > ! $( t p u t s e t a f 3 ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < h e a d w o r d > \ ( [ ^ < > ] * \ ) < / h e a d w o r d > ! $( t p u t b o l d ) \ 1 $( t p u t s g r 0 ) \ t ! g ;
s ! < / \ ? a [ ^ > ] * > ! ! g
s ! < / \ ? [ c p ] b [ ^ > ] * > ! ! g
s ! < / \ ? g r a m G r p [ ^ > ] * > ! ! g
s ! < / \ ? l b l [ ^ > ] * > ! ! g
s ! < / \ ? x r [ ^ > ] * > ! ! g
s ! < / \ ? p r o n [ ^ > ] * > ! ! g
s ! < / \ ? g e n [ ^ > ] * > ! ! g
s ! < / \ ? e t y m [ ^ > ] * > ! ! g
s ! < f o r e i g n [ ^ > ] * > ! $( t p u t s i t m ) ! g
s ! < / f o r e i g n [ ^ > ] * > ! $( t p u t s g r 0 ) ! g
s ! < / \ ? d a t e [ ^ > ] * > ! ! g
s ! < / \ ? p l a c e N a m e [ ^ > ] * > ! ! g
s ! < / \ ? i t y p e [ ^ > ] * > ! ! g
s ! < / \ ? p > ! ! g
s ! < i n p u t [ ^ > ] * > ! ! g
s ! < / \ ? o r t h [ ^ > ] * > ! ! g
s ! < / \ ? f o r e n a m e [ ^ > ] * > ! ! g
s ! < / \ ? p e r s N a m e [ ^ > ] * > ! ! g
s ! < / \ ? s u r n a m e [ ^ > ] * > ! ! g
s ! < / \ ? e n t r y F r e e [ ^ > ] * > ! ! g
s ! < / \ ? d e f [ ^ > ] * > ! ! g
s ! < / \ ? c i t [ ^ > ] * > ! ! g
s ! < / \ ? p o s [ ^ > ] * > ! ! g
s ! < / \ ? u s g [ ^ > ] * > ! ! g
s ! < / \ ? s p a n > ! ! g
s ! < b i b l [ ^ > ] * > ! $( t p u t s e t a f 2 4 5 ) ! g
s ! < / b i b l [ ^ > ] * > ! $( t p u t s g r 0 ) ! g
s / < d t > / $( t p u t b o l d ) / g ;
s : < / d t > : $( t p u t s g r 0 ) : g ;
s / < d d > / \ n / g ;
s : < / d d > : : g ;
s / < [ b B ] > / $( t p u t b o l d ) / g ;
s : < / [ b B ] > : $( t p u t s g r 0 ) : g ;
s : < [ b B ] [ r R ] \ s * / \ ? > : \ n : g ;
s : < [ i I ] > : $( t p u t s i t m ) : g ;
s : < / [ i I ] > : $( t p u t s g r 0 ) : g ;
s : < [ u U ] > : $( t p u t s m u l ) : g ;
s : < / [ u U ] > : $( t p u t s g r 0 ) : g ;
s : < F O N T f a c e = [ ^ > ] * > : : g ;
s : < / F O N T > : : g ;
s ! < h e a d > \ ( [ ^ < > ] * \ ) < / h e a d > ! $( t p u t b o l d ) \ 1 $( t p u t s g r 0 ) ! g ;
s ! < s p a n l a n g = \ " \ ( g r \ | l a \ ) \ " > \ ( [ ^ < > ] * \ ) < / s p a n > ! \ 2 ! g
s # < d i v s t y l e = \ " m a r g i n - l e f t : 1 e m \ " > \ ( . * \ ) < / d i v > # \ \ 1 # g ;
s : < f o n t c o l o r = \ " b r o w n \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 3 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = \ " b l u e \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 4 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = \ " r e d \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 1 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = \ " d a r k v i o l e t \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 5 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = \ " # a 0 a \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t b o l d ) \ 1 $( t p u t s g r 0 ) : g
s : < f o n t c o l o r = \ " # 8 3 8 \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 3 ) \ 1 $( t p u t s g r 0 ) : g
s : & # x 2 7 ; : ' : g
s : & l t ; : < : g
s : & g t ; : > : g
s : < f o n t c o l o r = \ " # 0 0 7 0 0 0 \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 2 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = \ " # 0 0 7 0 0 0 \ " > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 2 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = # 0 0 0 0 9 9 > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t s e t a f 4 ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < f o n t c o l o r = 0 0 0 0 F F > \ ( [ ^ < > ] * \ ) < / f o n t > : $( t p u t b o l d ) \ \ 1 $( t p u t s g r 0 ) : g ;
s : < I M G s r c = \ " 2 2 3 E 9 A 0 6 . b m p \ " [ ^ > ] * > : ː : g ;
s : < I M G s r c = \ " 5 0 2 F 5 D D A . b m p \ " [ ^ > ] * > : : g ;
s ! < / \ ? T A B L E > ! ! g
s ! < / \ ? T R [ ^ > ] * > ! ! g
s ! < / \ ? T D > ! ! g
s ! < / \ ? F O N T [ ^ > ] * > ! ! g
s ! < / \ ? A [ ^ > ] * > ! ! g
s ! < S P A N c l a s s = \ " b s p t e x t \ " > \ ( [ ^ < > ] * \ ) < / S P A N > ! $( t p u t s e t a f 2 4 5 ) \ 1 $( t p u t s g r 0 ) ! g
s ! < / \ ? S P A N [ ^ > ] * > ! ! g
s ! + ! ! g ;
s ! < d i v p a r t = \ " [ ^ \ " ] * \ " > ! \ n \ n & ! g
s ! < s e n s e n = \ " \ ( [ ^ \ " ] * \ ) \ " ! \ n $( t p u t s e t a f 5 ) \ 1 . $( t p u t s g r 0 ) & ! g ;
s ! < / \ ? s e n s e [ ^ > ] * > ! ! g
s ! < / \ ? d i v [ ^ > ] * > ! ! g
s ! < s p a n l a n g = \ " g r \ " > ! ! g # u n b a l a n c e d i n F r i s k
s ! ^ \ s * [ 0 - 9 ] ) ! $( t p u t s e t a f 5 ) & $( t p u t s g r 0 ) ! g
s # ^ \ ( - - > . * \ ) \ $# $( t p u t b o l d ) \ 1 $( t p u t s g r 0 ) #
"
'' ;
in
{
# https://github.com/latin-dict/Georges1910/releases/download/v1.0/Georges1910-stardict.zip
@@ -151,24 +227,26 @@ in
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / l i n g v o / s t a r d i c t - R G - L i n g v o U n i v e r s a l - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 0 3 f 9 w d m k g p j i f p m s 7 d y h 1 0 m a 2 9 w f 3 k a 1 j 3 z l p 1 a v 0 c y b h d l d k 2 a 8 " ;
} ;
SmithBiographyMythology = pkgs . fetchzip {
url = " h t t p s : / / g i t h u b . c o m / l a t i n - d i c t / S m i t h 1 8 7 3 / r e l e a s e s / d o w n l o a d / v 1 . 0 / S m i t h 1 8 7 3 - s t a r d i c t . z i p " ;
sha256 = " 0 1 h 5 f x a c p 2 m 6 0 x i r 8 k z s l k f y 7 7 2 v s 3 v m z 0 7 z h d w f h c w d a x i f 2 a f 2 " ;
} ;
SmithAntiquities = pkgs . fetchzip {
url = " h t t p s : / / g i t h u b . c o m / l a t i n - d i c t / S m i t h 1 8 9 0 / r e l e a s e s / d o w n l o a d / v 1 . 0 / S m i t h 1 8 9 0 - s t a r d i c t . z i p " ;
sha256 = " 0 v p s v 6 2 p 2 l r z m g y s 4 d 1 s w p n c 6 l q h d i 7 r x w k j 2 n g y 3 l z 5 d k 3 f y s y b " ;
} ;
OED1 = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - O x f o r d _ E n g l i s h _ D i c t i o n a r y _ 2 n d _ E d . _ P 1 - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 0 i 5 v v 1 r v 4 4 y f w y f 9 b f b d r b 9 b r z h h p v z 2 j n h 3 9 f v 8 h h 1 0 7 n k v 2 v c f " ;
} ;
OED2 = builtins . fetchTarball {
url = " h t t p : / / d o w n l o a d . h u z h e n g . o r g / b i g d i c t / s t a r d i c t - O x f o r d _ E n g l i s h _ D i c t i o n a r y _ 2 n d _ E d . _ P 2 - 2 . 4 . 2 . t a r . b z 2 " ;
sha256 = " 1 p k 2 3 4 p b q 4 p k 5 5 d 8 s j k 0 p p 9 j 5 s a j m 8 2 f 8 8 0 4 k f 2 x m 2 x 5 p 3 8 7 q 1 r g " ;
} ;
} // sanskritDictionaries // englishGermanDictionaries ) ) ;
environment . variables = {
SDCV_PAGER = " ${ pkgs . w3m } / b i n / w 3 m - T t e x t / h t m l - d u m p " ;
} ;
systemd . user . services . goldendict = {
wantedBy = [ " g r a p h i c a l - s e s s i o n . t a r g e t " ] ;
environment = {
DISPLAY = " : ${ toString config . services . xserver . display } " ;
} ;
serviceConfig = {
SyslogIdentifier = " g o l d e n d i c t " ;
ExecStart = " ${ pkgs . goldendict } / b i n / g o l d e n d i c t " ;
Restart = " a l w a y s " ;
RestartSec = " 1 5 s " ;
StartLimitBurst = 0 ;
} ;
SDCV_PAGER = toString sdcvPager ;
} ;
home-manager . users . me = {