mirror of
https://github.com/kmein/niveum
synced 2026-03-20 12:01:06 +01:00
feat: reimplement ipa and betacode in haskell
This commit is contained in:
@@ -294,23 +294,30 @@ in rec {
|
|||||||
packages = [ pkgs.xdo ];
|
packages = [ pkgs.xdo ];
|
||||||
};
|
};
|
||||||
|
|
||||||
ipa = wrapScript {
|
ipa = pkgs.writers.writeHaskellBin "ipa" {
|
||||||
script = ./ipa.py;
|
libraries = with pkgs; [ haskellPackages.text haskellPackages.ipa ];
|
||||||
name = "ipa";
|
} ''
|
||||||
packages = [ pkgs.python3 ];
|
import Data.Maybe (fromJust)
|
||||||
};
|
import Language.IPA
|
||||||
|
import qualified Data.Text as T
|
||||||
|
import qualified Data.Text.IO as T
|
||||||
|
main = T.interact (T.unwords . map (unIPA . fromJust . (xSampaToIpa =<<) . mkXSampa) . T.words)
|
||||||
|
'';
|
||||||
|
|
||||||
default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
|
default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
|
||||||
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'
|
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
betacode = pkgs.writers.writePython3Bin "betacode" {
|
betacode = pkgs.writers.writeHaskellBin "betacode" {
|
||||||
libraries = [ betacode ];
|
libraries = with pkgs; [
|
||||||
|
(haskell.lib.unmarkBroken (haskell.lib.doJailbreak haskellPackages.betacode))
|
||||||
|
haskellPackages.text
|
||||||
|
];
|
||||||
} ''
|
} ''
|
||||||
import betacode.conv
|
import qualified Data.Text.IO as T
|
||||||
import sys
|
import qualified Data.Text as T
|
||||||
|
import Text.BetaCode
|
||||||
sys.stdout.write(betacode.conv.beta_to_uni(sys.stdin.read()))
|
main = T.interact (either (error . T.unpack) id . fromBeta)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
devanagari = pkgs.callPackage ../devanagari {};
|
devanagari = pkgs.callPackage ../devanagari {};
|
||||||
|
|||||||
Reference in New Issue
Block a user