commit
0c42bb5027
@ -0,0 +1,33 @@ |
||||
{ config, pkgs, lib, ... }: |
||||
|
||||
with lib; |
||||
|
||||
let |
||||
im = config.i18n.inputMethod; |
||||
cfg = im.fcitx5; |
||||
fcitx5Package = pkgs.fcitx5-with-addons.override { inherit (cfg) addons; }; |
||||
in |
||||
{ |
||||
options = { |
||||
i18n.inputMethod.fcitx5 = { |
||||
addons = mkOption { |
||||
type = with types; listOf package; |
||||
default = []; |
||||
example = with pkgs; [ fcitx5-rime ]; |
||||
description = '' |
||||
Enabled Fcitx5 addons. |
||||
''; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
config = mkIf (im.enabled == "fcitx5") { |
||||
i18n.inputMethod.package = fcitx5Package; |
||||
|
||||
environment.variables = { |
||||
GTK_IM_MODULE = "fcitx"; |
||||
QT_IM_MODULE = "fcitx"; |
||||
XMODIFIERS = "@im=fcitx"; |
||||
}; |
||||
}; |
||||
} |
@ -0,0 +1,202 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
|
||||
with lib; |
||||
|
||||
let |
||||
cfg = config.services.mpdscribble; |
||||
mpdCfg = config.services.mpd; |
||||
|
||||
endpointUrls = { |
||||
"last.fm" = "http://post.audioscrobbler.com"; |
||||
"libre.fm" = "http://turtle.libre.fm"; |
||||
"jamendo" = "http://postaudioscrobbler.jamendo.com"; |
||||
"listenbrainz" = "http://proxy.listenbrainz.org"; |
||||
}; |
||||
|
||||
mkSection = secname: secCfg: '' |
||||
[${secname}] |
||||
url = ${secCfg.url} |
||||
username = ${secCfg.username} |
||||
password = {{${secname}_PASSWORD}} |
||||
journal = /var/lib/mpdscribble/${secname}.journal |
||||
''; |
||||
|
||||
endpoints = concatStringsSep "\n" (mapAttrsToList mkSection cfg.endpoints); |
||||
cfgTemplate = pkgs.writeText "mpdscribble.conf" '' |
||||
## This file was automatically genenrated by NixOS and will be overwritten. |
||||
## Do not edit. Edit your NixOS configuration instead. |
||||
|
||||
## mpdscribble - an audioscrobbler for the Music Player Daemon. |
||||
## http://mpd.wikia.com/wiki/Client:mpdscribble |
||||
|
||||
# HTTP proxy URL. |
||||
${optionalString (cfg.proxy != null) "proxy = ${cfg.proxy}"} |
||||
|
||||
# The location of the mpdscribble log file. The special value |
||||
# "syslog" makes mpdscribble use the local syslog daemon. On most |
||||
# systems, log messages will appear in /var/log/daemon.log then. |
||||
# "-" means log to stderr (the current terminal). |
||||
log = - |
||||
|
||||
# How verbose mpdscribble's logging should be. Default is 1. |
||||
verbose = ${toString cfg.verbose} |
||||
|
||||
# How often should mpdscribble save the journal file? [seconds] |
||||
journal_interval = ${toString cfg.journalInterval} |
||||
|
||||
# The host running MPD, possibly protected by a password |
||||
# ([PASSWORD@]HOSTNAME). |
||||
host = ${(optionalString (cfg.passwordFile != null) "{{MPD_PASSWORD}}@") + cfg.host} |
||||
|
||||
# The port that the MPD listens on and mpdscribble should try to |
||||
# connect to. |
||||
port = ${toString cfg.port} |
||||
|
||||
${endpoints} |
||||
''; |
||||
|
||||
cfgFile = "/run/mpdscribble/mpdscribble.conf"; |
||||
|
||||
replaceSecret = secretFile: placeholder: targetFile: |
||||
optionalString (secretFile != null) '' |
||||
${pkgs.replace}/bin/replace-literal -ef ${placeholder} "$(cat ${secretFile})" ${targetFile}''; |
||||
|
||||
preStart = pkgs.writeShellScript "mpdscribble-pre-start" '' |
||||
cp -f "${cfgTemplate}" "${cfgFile}" |
||||
${replaceSecret cfg.passwordFile "{{MPD_PASSWORD}}" cfgFile} |
||||
${concatStringsSep "\n" (mapAttrsToList (secname: cfg: |
||||
replaceSecret cfg.passwordFile "{{${secname}_PASSWORD}}" cfgFile) |
||||
cfg.endpoints)} |
||||
''; |
||||
|
||||
localMpd = (cfg.host == "localhost" || cfg.host == "127.0.0.1"); |
||||
|
||||
in { |
||||
###### interface |
||||
|
||||
options.services.mpdscribble = { |
||||
|
||||
enable = mkEnableOption "mpdscribble"; |
||||
|
||||
proxy = mkOption { |
||||
default = null; |
||||
type = types.nullOr types.str; |
||||
description = '' |
||||
HTTP proxy URL. |
||||
''; |
||||
}; |
||||
|
||||
verbose = mkOption { |
||||
default = 1; |
||||
type = types.int; |
||||
description = '' |
||||
Log level for the mpdscribble daemon. |
||||
''; |
||||
}; |
||||
|
||||
journalInterval = mkOption { |
||||
default = 600; |
||||
example = 60; |
||||
type = types.int; |
||||
description = '' |
||||
How often should mpdscribble save the journal file? [seconds] |
||||
''; |
||||
}; |
||||
|
||||
host = mkOption { |
||||
default = (if mpdCfg.network.listenAddress != "any" then |
||||
mpdCfg.network.listenAddress |
||||
else |
||||
"localhost"); |
||||
type = types.str; |
||||
description = '' |
||||
Host for the mpdscribble daemon to search for a mpd daemon on. |
||||
''; |
||||
}; |
||||
|
||||
passwordFile = mkOption { |
||||
default = if localMpd then |
||||
(findFirst |
||||
(c: any (x: x == "read") c.permissions) |
||||
{ passwordFile = null; } |
||||
mpdCfg.credentials).passwordFile |
||||
else |
||||
null; |
||||
type = types.nullOr types.str; |
||||
description = '' |
||||
File containing the password for the mpd daemon. |
||||
If there is a local mpd configured using <option>services.mpd.credentials</option> |
||||
the default is automatically set to a matching passwordFile of the local mpd. |
||||
''; |
||||
}; |
||||
|
||||
port = mkOption { |
||||
default = mpdCfg.network.port; |
||||
type = types.port; |
||||
description = '' |
||||
Port for the mpdscribble daemon to search for a mpd daemon on. |
||||
''; |
||||
}; |
||||
|
||||
endpoints = mkOption { |
||||
type = (let |
||||
endpoint = { name, ... }: { |
||||
options = { |
||||
url = mkOption { |
||||
type = types.str; |
||||
default = endpointUrls.${name} or ""; |
||||
description = |
||||
"The url endpoint where the scrobble API is listening."; |
||||
}; |
||||
username = mkOption { |
||||
type = types.str; |
||||
description = '' |
||||
Username for the scrobble service. |
||||
''; |
||||
}; |
||||
passwordFile = mkOption { |
||||
type = types.nullOr types.str; |
||||
description = |
||||
"File containing the password, either as MD5SUM or cleartext."; |
||||
}; |
||||
}; |
||||
}; |
||||
in types.attrsOf (types.submodule endpoint)); |
||||
default = { }; |
||||
example = { |
||||
"last.fm" = { |
||||
username = "foo"; |
||||
passwordFile = "/run/secrets/lastfm_password"; |
||||
}; |
||||
}; |
||||
description = '' |
||||
Endpoints to scrobble to. |
||||
If the endpoint is one of "${ |
||||
concatStringsSep "\", \"" (attrNames endpointUrls) |
||||
}" the url is set automatically. |
||||
''; |
||||
}; |
||||
|
||||
}; |
||||
|
||||
###### implementation |
||||
|
||||
config = mkIf cfg.enable { |
||||
systemd.services.mpdscribble = { |
||||
after = [ "network.target" ] ++ (optional localMpd "mpd.service"); |
||||
description = "mpdscribble mpd scrobble client"; |
||||
wantedBy = [ "multi-user.target" ]; |
||||
serviceConfig = { |
||||
DynamicUser = true; |
||||
StateDirectory = "mpdscribble"; |
||||
RuntimeDirectory = "mpdscribble"; |
||||
RuntimeDirectoryMode = "700"; |
||||
# TODO use LoadCredential= instead of running preStart with full privileges? |
||||
ExecStartPre = "+${preStart}"; |
||||
ExecStart = |
||||
"${pkgs.mpdscribble}/bin/mpdscribble --no-daemon --conf ${cfgFile}"; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
} |
@ -0,0 +1,63 @@ |
||||
{ stdenv |
||||
, fetchurl |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, boost |
||||
, python3 |
||||
, fcitx5 |
||||
}: |
||||
|
||||
let |
||||
table = fetchurl { |
||||
url = "https://download.fcitx-im.org/data/table.tar.gz"; |
||||
sha256 = "1dw7mgbaidv3vqy0sh8dbfv8631d2zwv5mlb7npf69a1f8y0b5k1"; |
||||
}; |
||||
arpaVer = "20140820"; |
||||
arpa = fetchurl { |
||||
url = "https://download.fcitx-im.org/data/lm_sc.3gm.arpa-${arpaVer}.tar.bz2"; |
||||
sha256 = "0bqy3l7mif0yygjrcm65qallszgn17mvgyxhvz7a54zaamyan6vm"; |
||||
}; |
||||
dictVer = "20200715"; |
||||
dict = fetchurl { |
||||
url = "https://download.fcitx-im.org/data/dict.utf8-${dictVer}.tar.xz"; |
||||
sha256 = "1ln7r64j8mc7wz4j0q4v8wd68wy7qqz4bz1dpxk7zqbdvza6rhr3"; |
||||
}; |
||||
in |
||||
stdenv.mkDerivation rec { |
||||
pname = "libime"; |
||||
version = "1.0.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "libime"; |
||||
rev = version; |
||||
sha256 = "hDfxuDIj9qx5d+UFwxDdP2PCboPnUV1n+VVoEIGsucM="; |
||||
fetchSubmodules = true; |
||||
}; |
||||
|
||||
prePatch = '' |
||||
ln -s ${table} data/$(stripHash ${table}) |
||||
ln -s ${arpa} data/$(stripHash ${arpa}) |
||||
ln -s ${dict} data/$(stripHash ${dict}) |
||||
''; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
python3 |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
boost |
||||
fcitx5 |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "A library to support generic input method implementation"; |
||||
homepage = "https://github.com/fcitx/libime"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,41 @@ |
||||
{ stdenv |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, uthash |
||||
, xcbutil |
||||
, xcbutilkeysyms |
||||
, xorgproto |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "xcb-imdkit"; |
||||
version = "1.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "xcb-imdkit"; |
||||
rev = version; |
||||
sha256 = "dvax+Wj8+tHdiL6txcuugrOlRnxdIW25DYO4iNAYK8M="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
xorgproto |
||||
uthash |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
xcbutil |
||||
xcbutilkeysyms |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "input method development support for xcb"; |
||||
homepage = "https://github.com/fcitx/xcb-imdkit"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,31 @@ |
||||
{ lib |
||||
, buildPythonPackage |
||||
, fetchFromGitHub |
||||
, mac_alias |
||||
, pytestCheckHook |
||||
}: |
||||
|
||||
buildPythonPackage rec { |
||||
pname = "ds_store"; |
||||
version = "1.3.0"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "al45tair"; |
||||
repo = pname; |
||||
rev = "v${version}"; |
||||
sha256 = "1zmhnz110dvisydp5h6s0ry2v9qf4rgr60xhhlak0c66zpvlkkl0"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = [ mac_alias ]; |
||||
|
||||
checkInputs = [ pytestCheckHook ]; |
||||
|
||||
pythonImportsCheck = [ "ds_store" ]; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://github.com/al45tair/ds_store"; |
||||
description = "Manipulate Finder .DS_Store files from Python"; |
||||
license = licenses.mit; |
||||
maintainers = with maintainers; [ prusnak ]; |
||||
}; |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ lib |
||||
, aiohttp |
||||
, async-timeout |
||||
, aresponses |
||||
, buildPythonPackage |
||||
, fetchFromGitHub |
||||
, poetry |
||||
, pylint |
||||
, pytest-aiohttp |
||||
, pytest-asyncio |
||||
, pytestCheckHook |
||||
, pythonAtLeast |
||||
}: |
||||
buildPythonPackage rec { |
||||
pname = "pytile"; |
||||
version = "5.1.0"; |
||||
disabled = pythonAtLeast "3.9"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "bachya"; |
||||
repo = pname; |
||||
rev = version; |
||||
sha256 = "0hdyb8ca4ihqf7yfkr3hbpkwz7g182ycra151y5dxn0319fillc3"; |
||||
}; |
||||
|
||||
format = "pyproject"; |
||||
|
||||
nativeBuildInputs = [ poetry ]; |
||||
|
||||
propagatedBuildInputs = [ |
||||
aiohttp |
||||
pylint |
||||
]; |
||||
|
||||
checkInputs = [ |
||||
aresponses |
||||
pytest-aiohttp |
||||
pytest-asyncio |
||||
pytestCheckHook |
||||
]; |
||||
|
||||
# Ignore the examples as they are prefixed with test_ |
||||
pytestFlagsArray = [ "--ignore examples/" ]; |
||||
pythonImportsCheck = [ "pytile" ]; |
||||
|
||||
meta = with lib; { |
||||
description = " Python API for Tile Bluetooth trackers"; |
||||
longDescription = '' |
||||
pytile is a simple Python library for retrieving information on Tile |
||||
Bluetooth trackers (including last location and more). |
||||
''; |
||||
homepage = "https://github.com/bachya/pytile"; |
||||
license = with licenses; [ mit ]; |
||||
maintainers = with maintainers; [ fab ]; |
||||
}; |
||||
} |
@ -0,0 +1,24 @@ |
||||
From: Bryan Gardiner <bog@khumba.net>
|
||||
Date: Sat, 9 Jan 2021 16:51:20 -0800
|
||||
Subject: [PATCH] Add NixOS CUPS PPD search path.
|
||||
|
||||
---
|
||||
base/g.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/base/g.py b/base/g.py
|
||||
index f73e23f..758f339 100644
|
||||
--- a/base/g.py
|
||||
+++ b/base/g.py
|
||||
@@ -283,7 +283,7 @@ prop.max_message_len = 8192
|
||||
prop.max_message_read = 65536
|
||||
prop.read_timeout = 90
|
||||
|
||||
-prop.ppd_search_path = '/usr/share;/usr/local/share;/usr/lib;/usr/local/lib;/usr/libexec;/opt;/usr/lib64'
|
||||
+prop.ppd_search_path = '/var/lib/cups/path/share;/usr/share;/usr/local/share;/usr/lib;/usr/local/lib;/usr/libexec;/opt;/usr/lib64'
|
||||
prop.ppd_search_pattern = 'HP-*.ppd.*'
|
||||
prop.ppd_download_url = 'http://www.linuxprinting.org/ppd-o-matic.cgi'
|
||||
prop.ppd_file_suffix = '-hpijs.ppd'
|
||||
--
|
||||
2.29.2
|
||||
|
@ -0,0 +1,27 @@ |
||||
{ stdenv, fetchFromGitHub, SDL2 }: |
||||
|
||||
stdenv.mkDerivation { |
||||
pname = "oberon-risc-emu"; |
||||
version = "unstable-2020-08-18"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "pdewacht"; |
||||
repo = "oberon-risc-emu"; |
||||
rev = "26c8ac5737c71811803c87ad51f1f0d6e62e71fe"; |
||||
sha256 = "1iriix3cfcpbkjb5xjb4ysh592xppgprwzp3b6qhwcx44g7kdvxq"; |
||||
}; |
||||
|
||||
buildInputs = [ SDL2 ]; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/bin |
||||
mv risc $out/bin |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = "https://github.com/pdewacht/oberon-risc-emu/"; |
||||
description = "Emulator for the Oberon RISC machine"; |
||||
license = licenses.isc; |
||||
maintainers = with maintainers; [ siraben ]; |
||||
}; |
||||
} |
@ -0,0 +1,33 @@ |
||||
{ stdenv, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }: |
||||
rustPlatform.buildRustPackage rec { |
||||
pname = "bupstash"; |
||||
version = "0.6.4"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "andrewchambers"; |
||||
repo = pname; |
||||
rev = "v${version}"; |
||||
sha256 = "013k8pr4865f5rp66fjf3a8069kmd29brxv0l20z571gy2kxs5p9"; |
||||
}; |
||||
|
||||
cargoSha256 = "17cdi93q71wsqqfkpz6mxcaqqhqclsbns0g1r9mni39nikw7amv1"; |
||||
|
||||
nativeBuildInputs = [ ronn pkg-config installShellFiles ]; |
||||
buildInputs = [ libsodium ]; |
||||
|
||||
postBuild = '' |
||||
RUBYOPT="-KU -E utf-8:utf-8" ronn doc/man/*.md |
||||
''; |
||||
|
||||
postInstall = '' |
||||
installManPage doc/man/*.[1-9] |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Easy and efficient encrypted backups"; |
||||
homepage = "https://bupstash.io"; |
||||
license = licenses.mit; |
||||
platforms = platforms.unix; |
||||
maintainers = with maintainers; [ andrewchambers ]; |
||||
}; |
||||
} |
@ -0,0 +1,24 @@ |
||||
{ stdenv, rustPlatform, fetchFromGitHub }: |
||||
|
||||
rustPlatform.buildRustPackage rec { |
||||
pname = "evscript"; |
||||
version = "git-${builtins.substring 0 7 src.rev}"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "myfreeweb"; |
||||
repo = pname; |
||||
rev = "47f86f0d15add2af785ea1ff47f24d130026d1b4"; |
||||
sha256 = "1xm8297k0d8d0aq7fxgmibr4qva4d02cb6gnnlzq77jcmnknxv14"; |
||||
}; |
||||
|
||||
cargoSha256 = "1dcyhxfyq0nrjl05g1s9pjkg7vqw63wbdhlskrdcvxncmci3s7rp"; |
||||
verifyCargoDeps = true; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = "https://github.com/myfreeweb/${pname}"; |
||||
description = "A tiny sandboxed Dyon scripting environment for evdev input devices"; |
||||
license = licenses.unlicense; |
||||
maintainers = with maintainers; [ milesbreslin ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,100 @@ |
||||
{ stdenv |
||||
, fetchurl |
||||
, fetchFromGitHub |
||||
, pkg-config |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, cairo |
||||
, cldr-emoji-annotation |
||||
, pango |
||||
, fribidi |
||||
, fmt |
||||
, wayland |
||||
, systemd |
||||
, wayland-protocols |
||||
, json_c |
||||
, isocodes |
||||
, xkeyboard_config |
||||
, enchant |
||||
, gdk-pixbuf |
||||
, libGL |
||||
, libevent |
||||
, libuuid |
||||
, libselinux |
||||
, libXdmcp |
||||
, libsepol |
||||
, libxkbcommon |
||||
, libthai |
||||
, libdatrie |
||||
, xcbutilkeysyms |
||||
, pcre |
||||
, xcbutilwm |
||||
, xcb-imdkit |
||||
, libxkbfile |
||||
}: |
||||
let |
||||
enDictVer = "20121020"; |
||||
enDict = fetchurl { |
||||
url = "https://download.fcitx-im.org/data/en_dict-${enDictVer}.tar.gz"; |
||||
sha256 = "1svcb97sq7nrywp5f2ws57cqvlic8j6p811d9ngflplj8xw5sjn4"; |
||||
}; |
||||
in |
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5"; |
||||
version = "5.0.3"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5"; |
||||
rev = version; |
||||
sha256 = "QYMH0WbhHqDKUvpj1VOB8U5sbBD89H6moLFkQBJijZA="; |
||||
}; |
||||
|
||||
prePatch = '' |
||||
ln -s ${enDict} src/modules/spell/dict/$(stripHash ${enDict}) |
||||
''; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
pkg-config |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
fmt |
||||
isocodes |
||||
cairo |
||||
enchant |
||||
pango |
||||
libthai |
||||
libdatrie |
||||
fribidi |
||||
systemd |
||||
gdk-pixbuf |
||||
wayland |
||||
wayland-protocols |
||||
cldr-emoji-annotation |
||||
json_c |
||||
libGL |
||||
libevent |
||||
libuuid |
||||
libselinux |
||||
libsepol |
||||
libXdmcp |
||||
libxkbcommon |
||||
pcre |
||||
xcbutilwm |
||||
xcbutilkeysyms |
||||
xcb-imdkit |
||||
xkeyboard_config |
||||
libxkbfile |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Next generation of fcitx"; |
||||
homepage = "https://github.com/fcitx/fcitx5"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,76 @@ |
||||
{ stdenv |
||||
, mkDerivation |
||||
, fetchurl |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, boost |
||||
, libime |
||||
, fcitx5 |
||||
, fcitx5-qt |
||||
, fcitx5-lua |
||||
, qtwebengine |
||||
, opencc |
||||
, curl |
||||
, fmt |
||||
, luaSupport ? true |
||||
}: |
||||
|
||||
let |
||||
pyStrokeVer = "20121124"; |
||||
pyStroke = fetchurl { |
||||
url = "http://download.fcitx-im.org/data/py_stroke-${pyStrokeVer}.tar.gz"; |
||||
sha256 = "0j72ckmza5d671n2zg0psg7z9iils4gyxz7jgkk54fd4pyljiccf"; |
||||
}; |
||||
pyTableVer = "20121124"; |
||||
pyTable = fetchurl { |
||||
url = "http://download.fcitx-im.org/data/py_table-${pyTableVer}.tar.gz"; |
||||
sha256 = "011cg7wssssm6hm564cwkrrnck2zj5rxi7p9z5akvhg6gp4nl522"; |
||||
}; |
||||
in |
||||
|
||||
mkDerivation rec { |
||||
pname = "fcitx5-chinese-addons"; |
||||
version = "5.0.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-chinese-addons"; |
||||
rev = version; |
||||
sha256 = "11UIMrwzZqO8nrQx5oubeoQN8hspL1mvHw5Dc9sVOqQ="; |
||||
}; |
||||
|
||||
cmakeFlags = [ |
||||
"-DUSE_WEBKIT=off" |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
boost |
||||
fcitx5-lua |
||||
]; |
||||
|
||||
prePatch = '' |
||||
ln -s ${pyStroke} modules/pinyinhelper/$(stripHash ${pyStroke}) |
||||
ln -s ${pyTable} modules/pinyinhelper/$(stripHash ${pyTable}) |
||||
''; |
||||
|
||||
buildInputs = [ |
||||
fcitx5 |
||||
fcitx5-qt |
||||
libime |
||||
curl |
||||
opencc |
||||
qtwebengine |
||||
fmt |
||||
] ++ stdenv.lib.optional luaSupport fcitx5-lua; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Addons related to Chinese, including IME previous bundled inside fcitx4"; |
||||
homepage = "https://github.com/fcitx/fcitx5-chinese-addons"; |
||||
license = with licenses; [ gpl2Plus lgpl21Plus ]; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,60 @@ |
||||
{ stdenv |
||||
, mkDerivation |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, fcitx5 |
||||
, fcitx5-qt |
||||
, qtx11extras |
||||
, kwidgetsaddons |
||||
, kdeclarative |
||||
, kirigami2 |
||||
, isocodes |
||||
, xkeyboardconfig |
||||
, libxkbfile |
||||
, libXdmcp |
||||
, kcmSupport ? true |
||||
}: |
||||
|
||||
mkDerivation rec { |
||||
pname = "fcitx5-configtool"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-configtool"; |
||||
rev = version; |
||||
sha256 = "npSqd0R6bqKc+JxYCGcfVzgNLpuLtnHq6zM58smZ8/I="; |
||||
}; |
||||
|
||||
cmakeFlags = [ |
||||
"-DKDE_INSTALL_USE_QT_SYS_PATHS=ON" |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
fcitx5 |
||||
fcitx5-qt |
||||
qtx11extras |
||||
kirigami2 |
||||
isocodes |
||||
xkeyboardconfig |
||||
libxkbfile |
||||
libXdmcp |
||||
] ++ stdenv.lib.optionals kcmSupport [ |
||||
kdeclarative |
||||
kwidgetsaddons |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Configuration Tool for Fcitx5"; |
||||
homepage = "https://github.com/fcitx/fcitx5-configtool"; |
||||
license = licenses.gpl2Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,71 @@ |
||||
{ stdenv |
||||
, fetchurl |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, fcitx5 |
||||
, gobject-introspection |
||||
, gtk2 |
||||
, gtk3 |
||||
, pcre |
||||
, libuuid |
||||
, libselinux |
||||
, libsepol |
||||
, libthai |
||||
, libdatrie |
||||
, libXdmcp |
||||
, libxkbcommon |
||||
, epoxy |
||||
, dbus |
||||
, at-spi2-core |
||||
, libXtst |
||||
, withGTK2 ? false |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5-gtk"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-gtk"; |
||||
rev = version; |
||||
sha256 = "rkusIqMRQMTjcpJR335as1xUQrzD9dLVB/wrLstPXPY="; |
||||
}; |
||||
|
||||
cmakeFlags = [ |
||||
"-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0" |
||||
"-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0" |
||||
] ++ stdenv.lib.optional (! withGTK2) "-DENABLE_GTK2_IM_MODULE=off"; |
||||
|
||||
buildInputs = [ |
||||
gtk3 |
||||
gobject-introspection |
||||
fcitx5 |
||||
pcre |
||||
libuuid |
||||
libselinux |
||||
libsepol |
||||
libthai |
||||
libdatrie |
||||
libXdmcp |
||||
libxkbcommon |
||||
epoxy |
||||
dbus |
||||
at-spi2-core |
||||
libXtst |
||||
] ++ stdenv.lib.optional withGTK2 gtk2; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Fcitx5 gtk im module and glib based dbus client library"; |
||||
homepage = "https://github.com/fcitx/fcitx5-gtk"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,40 @@ |
||||
{ stdenv |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, fcitx5 |
||||
, lua5_3 |
||||
, luaPackage ? lua5_3 |
||||
, gettext |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5-lua"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-lua"; |
||||
rev = "${version}"; |
||||
sha256 = "OiTk9ldqBqF7WT1KY71hacLD6OQQNO05F7+cSXlli40="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
fcitx5 |
||||
luaPackage |
||||
gettext |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Lua support for Fcitx 5"; |
||||
homepage = "https://github.com/fcitx/fcitx5-lua"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,46 @@ |
||||
{ stdenv |
||||
, mkDerivation |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, fcitx5 |
||||
, qtx11extras |
||||
, libxcb |
||||
, libXdmcp |
||||
}: |
||||
|
||||
mkDerivation rec { |
||||
pname = "fcitx5-qt"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-qt"; |
||||
rev = version; |
||||
sha256 = "BVOumk2xj3vmwmm4KwiktQhWyTuUA2OFwYXNR6HgwyM="; |
||||
}; |
||||
|
||||
cmakeFlags = [ |
||||
"-DENABLE_QT4=0" |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
fcitx5 |
||||
qtx11extras |
||||
libxcb |
||||
libXdmcp |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Fcitx5 Qt Library"; |
||||
homepage = "https://github.com/fcitx/fcitx5-qt"; |
||||
license = with licenses; [ lgpl21Plus bsd3 ]; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,47 @@ |
||||
{ stdenv |
||||
, fetchurl |
||||
, fetchFromGitHub |
||||
, pkgconfig |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, gettext |
||||
, fcitx5 |
||||
, librime |
||||
, brise |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5-rime"; |
||||
version = "5.0.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-rime"; |
||||
rev = version; |
||||
sha256 = "cVCTsD1Iw6OtyYFpxff3ix2CubRTnDaBevAYA4I9Ai8="; |
||||
}; |
||||
|
||||
cmakeFlags = [ |
||||
"-DRIME_DATA_DIR=${brise}/share/rime-data" |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
pkgconfig |
||||
gettext |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
fcitx5 |
||||
librime |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "RIME support for Fcitx5"; |
||||
homepage = "https://github.com/fcitx/fcitx5-rime"; |
||||
license = licenses.lgpl21Plus; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,38 @@ |
||||
{ stdenv |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, gettext |
||||
, libime |
||||
, boost |
||||
, fcitx5 |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5-table-extra"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-table-extra"; |
||||
rev = version; |
||||
sha256 = "UHhiWm2Khh6JBB9jz0ZKFofkAJPlqn6SqHeK9etoaxs="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
gettext |
||||
libime |
||||
boost |
||||
fcitx5 |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Extra table for Fcitx, including Boshiamy, Zhengma, Cangjie, and Quick"; |
||||
homepage = "https://github.com/fcitx/fcitx5-table-extra"; |
||||
license = licenses.gpl2Only; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,38 @@ |
||||
{ stdenv |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, extra-cmake-modules |
||||
, gettext |
||||
, libime |
||||
, boost |
||||
, fcitx5 |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "fcitx5-table-other"; |
||||
version = "5.0.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "fcitx"; |
||||
repo = "fcitx5-table-other"; |
||||
rev = version; |
||||
sha256 = "hQlrjDPImDof2+3/uOtTdJ27cInevbxH9B+lNwquKbs="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
cmake |
||||
extra-cmake-modules |
||||
gettext |
||||
libime |
||||
boost |
||||
fcitx5 |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Some other tables for Fcitx"; |
||||
homepage = "https://github.com/fcitx/fcitx5-table-other"; |
||||
license = licenses.gpl3Only; |
||||
maintainers = with maintainers; [ poscat ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ symlinkJoin, makeWrapper, fcitx5, fcitx5-lua, fcitx5-configtool, fcitx5-qt, fcitx5-gtk, addons ? [] }: |
||||
|
||||
symlinkJoin { |
||||
name = "fcitx5-with-addons-${fcitx5.version}"; |
||||
|
||||
paths = [ fcitx5 fcitx5-configtool fcitx5-lua fcitx5-qt fcitx5-gtk ] ++ addons; |
||||
|
||||
buildInputs = [ makeWrapper ]; |
||||
|
||||
postBuild = '' |
||||
wrapProgram $out/bin/fcitx5 \ |
||||
--prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" \ |
||||
--suffix XDG_DATA_DIRS : "$out/share" \ |
||||
--suffix PATH : "$out/bin" |
||||
''; |
||||
|
||||
meta = fcitx5.meta; |
||||
} |
@ -0,0 +1,30 @@ |
||||
{ buildGoModule |
||||
, fetchFromGitHub |
||||
, stdenv |
||||
}: |
||||
|
||||
buildGoModule rec { |
||||
pname = "deepsea"; |
||||
version = "0.9"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "dsnezhkov"; |
||||
repo = pname; |
||||
rev = "v${version}"; |
||||
sha256 = "02s03sha8vwp7dsaw3z446pskhb6wmy0hyj0mhpbx58sf147rkig"; |
||||
}; |
||||
|
||||
vendorSha256 = "0vpkzykfg1rq4qi1v5lsa0drpil9i6ccfw96k48ppi9hiwzpq94w"; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Phishing tool for red teams and pentesters"; |
||||
longDescription = '' |
||||
DeepSea phishing gear aims to help RTOs and pentesters with the |
||||
delivery of opsec-tight, flexible email phishing campaigns carried |
||||
out on the outside as well as on the inside of a perimeter. |
||||
''; |
||||
homepage = "https://github.com/dsnezhkov/deepsea"; |
||||
license = with licenses; [ asl20 ]; |
||||
maintainers = with maintainers; [ fab ]; |
||||
}; |
||||
} |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue