Merge master into staging-next
This commit is contained in:
commit
4cfc319ea8
13
.github/CODEOWNERS
vendored
13
.github/CODEOWNERS
vendored
|
@ -359,3 +359,16 @@ pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
|
||||||
pkgs/by-name/pr/pretix/ @mweinelt
|
pkgs/by-name/pr/pretix/ @mweinelt
|
||||||
nixos/modules/services/web-apps/pretix.nix @mweinelt
|
nixos/modules/services/web-apps/pretix.nix @mweinelt
|
||||||
nixos/tests/web-apps/pretix.nix @mweinelt
|
nixos/tests/web-apps/pretix.nix @mweinelt
|
||||||
|
|
||||||
|
# incus/lxc/lxd
|
||||||
|
nixos/maintainers/scripts/lxd/ @adamcstephens
|
||||||
|
nixos/modules/virtualisation/incus.nix @adamcstephens
|
||||||
|
nixos/modules/virtualisation/lxc* @adamcstephens
|
||||||
|
nixos/modules/virtualisation/lxd* @adamcstephens
|
||||||
|
nixos/tests/incus/ @adamcstephens
|
||||||
|
nixos/tests/lxd/ @adamcstephens
|
||||||
|
pkgs/by-name/in/incus/ @adamcstephens
|
||||||
|
pkgs/by-name/lx/lxc* @adamcstephens
|
||||||
|
pkgs/by-name/lx/lxd* @adamcstephens
|
||||||
|
pkgs/os-specific/linux/lxc/ @adamcstephens
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard `share` directory location. This is why a bunch `PACKAGE-share` scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
|
Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard `share` directory location. This is why a bunch `PACKAGE-share` scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
|
||||||
|
|
||||||
- `sk` : `sk-share`
|
- `fzf` : `fzf-share`
|
||||||
|
|
||||||
E.g. `sk` can then be used in the `.bashrc` like this:
|
E.g. `fzf` can then be used in the `.bashrc` like this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
source "$(sk-share)/completion.bash"
|
source "$(fzf-share)/completion.bash"
|
||||||
source "$(sk-share)/key-bindings.bash"
|
source "$(fzf-share)/key-bindings.bash"
|
||||||
```
|
```
|
||||||
|
|
|
@ -11419,6 +11419,13 @@
|
||||||
fingerprint = "80EE AAD8 43F9 3097 24B5 3D7E 27E9 7B91 E63A 7FF8";
|
fingerprint = "80EE AAD8 43F9 3097 24B5 3D7E 27E9 7B91 E63A 7FF8";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
link2xt = {
|
||||||
|
email = "link2xt@testrun.org";
|
||||||
|
githubId = 18373967;
|
||||||
|
github = "link2xt";
|
||||||
|
matrix = "@link2xt:matrix.org";
|
||||||
|
name = "link2xt";
|
||||||
|
};
|
||||||
linquize = {
|
linquize = {
|
||||||
email = "linquize@yahoo.com.hk";
|
email = "linquize@yahoo.com.hk";
|
||||||
github = "linquize";
|
github = "linquize";
|
||||||
|
@ -11821,6 +11828,12 @@
|
||||||
githubId = 30468956;
|
githubId = 30468956;
|
||||||
name = "Lukas Heiligenbrunner";
|
name = "Lukas Heiligenbrunner";
|
||||||
};
|
};
|
||||||
|
lukaslihotzki = {
|
||||||
|
email = "lukas@lihotzki.de";
|
||||||
|
github = "lukaslihotzki";
|
||||||
|
githubId = 10326063;
|
||||||
|
name = "Lukas Lihotzki";
|
||||||
|
};
|
||||||
lukaswrz = {
|
lukaswrz = {
|
||||||
email = "lukas@wrz.one";
|
email = "lukas@wrz.one";
|
||||||
github = "lukaswrz";
|
github = "lukaswrz";
|
||||||
|
|
|
@ -79,7 +79,7 @@ In addition to numerous new and updated packages, this release has the following
|
||||||
|
|
||||||
- [frigate](https://frigate.video), an open source NVR built around real-time AI object detection. Available as [services.frigate](#opt-services.frigate.enable).
|
- [frigate](https://frigate.video), an open source NVR built around real-time AI object detection. Available as [services.frigate](#opt-services.frigate.enable).
|
||||||
|
|
||||||
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.enable).
|
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
|
||||||
|
|
||||||
- [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable).
|
- [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable).
|
||||||
|
|
||||||
|
|
|
@ -328,8 +328,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||||
|
|
||||||
- `xxd` has been moved from `vim` default output to its own output to reduce closure size. The canonical way to reference it across all platforms is `unixtools.xxd`.
|
- `xxd` has been moved from `vim` default output to its own output to reduce closure size. The canonical way to reference it across all platforms is `unixtools.xxd`.
|
||||||
|
|
||||||
- `programs.fzf.keybindings` and `programs.fzf.fuzzyCompletion` got replaced by `programs.fzf.enable` as shell-completion is included in the fzf-binary now there is no easy option to load completion and keybindings separately. Please consult fzf-documentation on how to configure/disable certain keybindings.
|
|
||||||
|
|
||||||
- The `stalwart-mail` package has been updated to v0.5.3, which includes [breaking changes](https://github.com/stalwartlabs/mail-server/blob/v0.5.3/UPGRADING.md).
|
- The `stalwart-mail` package has been updated to v0.5.3, which includes [breaking changes](https://github.com/stalwartlabs/mail-server/blob/v0.5.3/UPGRADING.md).
|
||||||
|
|
||||||
- `services.zope2` has been removed as `zope2` is unmaintained and was relying on Python2.
|
- `services.zope2` has been removed as `zope2` is unmaintained and was relying on Python2.
|
||||||
|
|
|
@ -213,6 +213,7 @@
|
||||||
./programs/kbdlight.nix
|
./programs/kbdlight.nix
|
||||||
./programs/kclock.nix
|
./programs/kclock.nix
|
||||||
./programs/kdeconnect.nix
|
./programs/kdeconnect.nix
|
||||||
|
./programs/lazygit.nix
|
||||||
./programs/less.nix
|
./programs/less.nix
|
||||||
./programs/liboping.nix
|
./programs/liboping.nix
|
||||||
./programs/light.nix
|
./programs/light.nix
|
||||||
|
@ -1365,6 +1366,7 @@
|
||||||
./services/web-apps/miniflux.nix
|
./services/web-apps/miniflux.nix
|
||||||
./services/web-apps/monica.nix
|
./services/web-apps/monica.nix
|
||||||
./services/web-apps/moodle.nix
|
./services/web-apps/moodle.nix
|
||||||
|
./services/web-apps/movim.nix
|
||||||
./services/web-apps/netbox.nix
|
./services/web-apps/netbox.nix
|
||||||
./services/web-apps/nextcloud.nix
|
./services/web-apps/nextcloud.nix
|
||||||
./services/web-apps/nextcloud-notify_push.nix
|
./services/web-apps/nextcloud-notify_push.nix
|
||||||
|
|
|
@ -1,46 +1,38 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.programs.fzf;
|
cfg = config.programs.fzf;
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
(lib.mkRemovedOptionModule [ "programs" "fzf" "keybindings" ] ''
|
|
||||||
Use "programs.fzf.enable" instead, due to fzf upstream-change it's not possible to load shell-completion and keybindings separately.
|
|
||||||
If you want to change/disable certain keybindings please check the fzf-documentation.
|
|
||||||
'')
|
|
||||||
(lib.mkRemovedOptionModule [ "programs" "fzf" "fuzzyCompletion" ] ''
|
|
||||||
Use "programs.fzf.enable" instead, due to fzf upstream-change it's not possible to load shell-completion and keybindings separately.
|
|
||||||
If you want to change/disable certain keybindings please check the fzf-documentation.
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
programs.fzf.enable = mkEnableOption (mdDoc "fuzzy completion with fzf and keybindings");
|
programs.fzf = {
|
||||||
};
|
fuzzyCompletion = lib.mkEnableOption (lib.mdDoc "fuzzy completion with fzf");
|
||||||
|
keybindings = lib.mkEnableOption (lib.mdDoc "fzf keybindings");
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = [ pkgs.fzf ];
|
|
||||||
|
|
||||||
programs.bash.interactiveShellInit = ''
|
|
||||||
eval "$(${getExe pkgs.fzf} --bash)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs.fish.interactiveShellInit = ''
|
|
||||||
${getExe pkgs.fzf} --fish | source
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
interactiveShellInit = optionalString (!config.programs.zsh.ohMyZsh.enable) ''
|
|
||||||
eval "$(${getExe pkgs.fzf} --zsh)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
ohMyZsh.plugins = mkIf (config.programs.zsh.ohMyZsh.enable) [ "fzf" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with maintainers; [ laalsaas ];
|
config = lib.mkIf (cfg.keybindings || cfg.fuzzyCompletion) {
|
||||||
|
environment.systemPackages = lib.mkIf (cfg.keybindings || cfg.fuzzyCompletion) [ pkgs.fzf ];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
bash.interactiveShellInit = lib.optionalString cfg.fuzzyCompletion ''
|
||||||
|
source ${pkgs.fzf}/share/fzf/completion.bash
|
||||||
|
'' + lib.optionalString cfg.keybindings ''
|
||||||
|
source ${pkgs.fzf}/share/fzf/key-bindings.bash
|
||||||
|
'';
|
||||||
|
|
||||||
|
zsh = {
|
||||||
|
interactiveShellInit = lib.optionalString (!config.programs.zsh.ohMyZsh.enable)
|
||||||
|
(lib.optionalString cfg.fuzzyCompletion ''
|
||||||
|
source ${pkgs.fzf}/share/fzf/completion.zsh
|
||||||
|
'' + lib.optionalString cfg.keybindings ''
|
||||||
|
source ${pkgs.fzf}/share/fzf/key-bindings.zsh
|
||||||
|
'');
|
||||||
|
|
||||||
|
ohMyZsh.plugins = lib.mkIf config.programs.zsh.ohMyZsh.enable [ "fzf" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ laalsaas ];
|
||||||
}
|
}
|
||||||
|
|
37
nixos/modules/programs/lazygit.nix
Normal file
37
nixos/modules/programs/lazygit.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.programs.lazygit;
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.yaml { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.programs.lazygit = {
|
||||||
|
enable = lib.mkEnableOption "lazygit, a simple terminal UI for git commands";
|
||||||
|
|
||||||
|
package = lib.mkPackageOption pkgs "lazygit" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
inherit (settingsFormat) type;
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Lazygit configuration.
|
||||||
|
|
||||||
|
See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md for documentation.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment = {
|
||||||
|
systemPackages = [ cfg.package ];
|
||||||
|
etc = lib.mkIf (cfg.settings != { }) {
|
||||||
|
"xdg/lazygit/config.yml".source = settingsFormat.generate "lazygit-config.yml" cfg.settings;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ linsui ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -220,15 +220,16 @@ in
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.redis.servers.paperless.enable = mkIf enableRedis true;
|
services.redis.servers.paperless.enable = mkIf enableRedis true;
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.settings."10-paperless" = let
|
||||||
"d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
|
defaultRule = {
|
||||||
"d '${cfg.mediaDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
|
inherit (cfg) user;
|
||||||
(if cfg.consumptionDirIsPublic then
|
inherit (config.users.users.${cfg.user}) group;
|
||||||
"d '${cfg.consumptionDir}' 777 - - - -"
|
};
|
||||||
else
|
in {
|
||||||
"d '${cfg.consumptionDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
|
"${cfg.dataDir}".d = defaultRule;
|
||||||
)
|
"${cfg.mediaDir}".d = defaultRule;
|
||||||
];
|
"${cfg.consumptionDir}".d = if cfg.consumptionDirIsPublic then { mode = "777"; } else defaultRule;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.paperless-scheduler = {
|
systemd.services.paperless-scheduler = {
|
||||||
description = "Paperless Celery Beat";
|
description = "Paperless Celery Beat";
|
||||||
|
@ -238,6 +239,7 @@ in
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
|
ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
|
LoadCredential = lib.optionalString (cfg.passwordFile != null) "PAPERLESS_ADMIN_PASSWORD:${cfg.passwordFile}";
|
||||||
};
|
};
|
||||||
environment = env;
|
environment = env;
|
||||||
|
|
||||||
|
@ -270,7 +272,7 @@ in
|
||||||
''
|
''
|
||||||
+ optionalString (cfg.passwordFile != null) ''
|
+ optionalString (cfg.passwordFile != null) ''
|
||||||
export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}"
|
export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}"
|
||||||
export PAPERLESS_ADMIN_PASSWORD=$(cat "${cfg.dataDir}/superuser-password")
|
export PAPERLESS_ADMIN_PASSWORD=$(cat $CREDENTIALS_DIRECTORY/PAPERLESS_ADMIN_PASSWORD)
|
||||||
superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD"
|
superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD"
|
||||||
superuserStateFile="${cfg.dataDir}/superuser-state"
|
superuserStateFile="${cfg.dataDir}/superuser-state"
|
||||||
|
|
||||||
|
@ -298,19 +300,6 @@ in
|
||||||
environment = env;
|
environment = env;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Reading the user-provided password file requires root access
|
|
||||||
systemd.services.paperless-copy-password = mkIf (cfg.passwordFile != null) {
|
|
||||||
requiredBy = [ "paperless-scheduler.service" ];
|
|
||||||
before = [ "paperless-scheduler.service" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = ''
|
|
||||||
${pkgs.coreutils}/bin/install --mode 600 --owner '${cfg.user}' --compare \
|
|
||||||
'${cfg.passwordFile}' '${cfg.dataDir}/superuser-password'
|
|
||||||
'';
|
|
||||||
Type = "oneshot";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.paperless-consumer = {
|
systemd.services.paperless-consumer = {
|
||||||
description = "Paperless document consumer";
|
description = "Paperless document consumer";
|
||||||
# Bind to `paperless-scheduler` so that the consumer never runs
|
# Bind to `paperless-scheduler` so that the consumer never runs
|
||||||
|
|
711
nixos/modules/services/web-apps/movim.nix
Normal file
711
nixos/modules/services/web-apps/movim.nix
Normal file
|
@ -0,0 +1,711 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
filterAttrsRecursive
|
||||||
|
generators
|
||||||
|
literalExpression
|
||||||
|
mkDefault
|
||||||
|
mkIf
|
||||||
|
mkOption
|
||||||
|
mkEnableOption
|
||||||
|
mkPackageOption
|
||||||
|
mkMerge
|
||||||
|
pipe
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.services.movim;
|
||||||
|
|
||||||
|
defaultPHPCfg = {
|
||||||
|
"output_buffering" = 0;
|
||||||
|
"error_reporting" = "E_ALL & ~E_DEPRECATED & ~E_STRICT";
|
||||||
|
"opcache.enable_cli" = 1;
|
||||||
|
"opcache.interned_strings_buffer" = 8;
|
||||||
|
"opcache.max_accelerated_files" = 6144;
|
||||||
|
"opcache.memory_consumption" = 128;
|
||||||
|
"opcache.revalidate_freq" = 2;
|
||||||
|
"opcache.fast_shutdown" = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
phpCfg = generators.toKeyValue
|
||||||
|
{ mkKeyValue = generators.mkKeyValueDefault { } " = "; }
|
||||||
|
(defaultPHPCfg // cfg.phpCfg);
|
||||||
|
|
||||||
|
podConfigFlags =
|
||||||
|
let
|
||||||
|
bevalue = a: lib.escapeShellArg (generators.mkValueStringDefault { } a);
|
||||||
|
in
|
||||||
|
lib.concatStringsSep " "
|
||||||
|
(lib.attrsets.foldlAttrs
|
||||||
|
(acc: k: v: acc ++ lib.optional (v != null) "--${k}=${bevalue v}")
|
||||||
|
[ ]
|
||||||
|
cfg.podConfig);
|
||||||
|
|
||||||
|
package =
|
||||||
|
let
|
||||||
|
p = cfg.package.override
|
||||||
|
({
|
||||||
|
inherit phpCfg;
|
||||||
|
withPgsql = cfg.database.type == "pgsql";
|
||||||
|
withMysql = cfg.database.type == "mysql";
|
||||||
|
inherit (cfg) minifyStaticFiles;
|
||||||
|
} // lib.optionalAttrs (lib.isAttrs cfg.minifyStaticFiles) (with cfg.minifyStaticFiles; {
|
||||||
|
esbuild = esbuild.package;
|
||||||
|
lightningcss = lightningcss.package;
|
||||||
|
scour = scour.package;
|
||||||
|
}));
|
||||||
|
in
|
||||||
|
p.overrideAttrs (finalAttrs: prevAttrs:
|
||||||
|
let
|
||||||
|
appDir = "$out/share/php/${finalAttrs.pname}";
|
||||||
|
|
||||||
|
stateDirectories = ''
|
||||||
|
# Symlinking in our state directories
|
||||||
|
rm -rf $out/.env $out/cache ${appDir}/public/cache
|
||||||
|
ln -s ${cfg.dataDir}/.env ${appDir}/.env
|
||||||
|
ln -s ${cfg.dataDir}/public/cache ${appDir}/public/cache
|
||||||
|
ln -s ${cfg.logDir} ${appDir}/log
|
||||||
|
ln -s ${cfg.runtimeDir}/cache ${appDir}/cache
|
||||||
|
'';
|
||||||
|
|
||||||
|
exposeComposer = ''
|
||||||
|
# Expose PHP Composer for scripts
|
||||||
|
mkdir -p $out/bin
|
||||||
|
echo "#!${lib.getExe pkgs.dash}" > $out/bin/movim-composer
|
||||||
|
echo "${finalAttrs.php.packages.composer}/bin/composer --working-dir="${appDir}" \"\$@\"" >> $out/bin/movim-composer
|
||||||
|
chmod +x $out/bin/movim-composer
|
||||||
|
'';
|
||||||
|
|
||||||
|
podConfigInputDisableReplace = lib.optionalString (podConfigFlags != "")
|
||||||
|
(lib.concatStringsSep "\n"
|
||||||
|
(lib.attrsets.foldlAttrs
|
||||||
|
(acc: k: v:
|
||||||
|
acc ++ lib.optional (v != null)
|
||||||
|
# Disable all Admin panel options that were set in the
|
||||||
|
# `cfg.podConfig` to prevent confusing situtions where the
|
||||||
|
# values are rewritten on server reboot
|
||||||
|
''
|
||||||
|
substituteInPlace ${appDir}/app/widgets/AdminMain/adminmain.tpl \
|
||||||
|
--replace-warn 'name="${k}"' 'name="${k}" disabled'
|
||||||
|
'')
|
||||||
|
[ ]
|
||||||
|
cfg.podConfig));
|
||||||
|
|
||||||
|
precompressStaticFilesJobs =
|
||||||
|
let
|
||||||
|
inherit (cfg.precompressStaticFiles) brotli gzip;
|
||||||
|
|
||||||
|
findTextFileNames = lib.concatStringsSep " -o "
|
||||||
|
(builtins.map (n: ''-iname "*.${n}"'')
|
||||||
|
[ "css" "ini" "js" "json" "manifest" "mjs" "svg" "webmanifest" ]);
|
||||||
|
in
|
||||||
|
lib.concatStringsSep "\n" [
|
||||||
|
(lib.optionalString brotli.enable ''
|
||||||
|
echo -n "Precompressing static files with Brotli …"
|
||||||
|
find ${appDir}/public -type f ${findTextFileNames} \
|
||||||
|
| ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
|
||||||
|
"--will-cite"
|
||||||
|
"-j $NIX_BUILD_CORES"
|
||||||
|
"${lib.getExe brotli.package} --keep --quality=${builtins.toString brotli.compressionLevel} --output={}.br {}"
|
||||||
|
]}
|
||||||
|
echo " done."
|
||||||
|
'')
|
||||||
|
(lib.optionalString gzip.enable ''
|
||||||
|
echo -n "Precompressing static files with Gzip …"
|
||||||
|
find ${appDir}/public -type f ${findTextFileNames} \
|
||||||
|
| ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
|
||||||
|
"--will-cite"
|
||||||
|
"-j $NIX_BUILD_CORES"
|
||||||
|
"${lib.getExe gzip.package} -c -${builtins.toString gzip.compressionLevel} {} > {}.gz"
|
||||||
|
]}
|
||||||
|
echo " done."
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
postInstall = lib.concatStringsSep "\n\n" [
|
||||||
|
prevAttrs.postInstall
|
||||||
|
stateDirectories
|
||||||
|
exposeComposer
|
||||||
|
podConfigInputDisableReplace
|
||||||
|
precompressStaticFilesJobs
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
configFile = pipe cfg.settings [
|
||||||
|
(filterAttrsRecursive (_: v: v != null))
|
||||||
|
(generators.toKeyValue { })
|
||||||
|
(pkgs.writeText "movim-env")
|
||||||
|
];
|
||||||
|
|
||||||
|
pool = "movim";
|
||||||
|
fpm = config.services.phpfpm.pools.${pool};
|
||||||
|
phpExecutionUnit = "phpfpm-${pool}";
|
||||||
|
|
||||||
|
dbService = {
|
||||||
|
"postgresql" = "postgresql.service";
|
||||||
|
"mysql" = "mysql.service";
|
||||||
|
}.${cfg.database.type};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services = {
|
||||||
|
movim = {
|
||||||
|
enable = mkEnableOption "a Movim instance";
|
||||||
|
package = mkPackageOption pkgs "movim" { };
|
||||||
|
phpPackage = mkPackageOption pkgs "php" { };
|
||||||
|
|
||||||
|
phpCfg = mkOption {
|
||||||
|
type = with types; attrsOf (oneOf [ int str bool ]);
|
||||||
|
defaultText = literalExpression (generators.toPretty { } defaultPHPCfg);
|
||||||
|
default = { };
|
||||||
|
description = "Extra PHP INI options such as `memory_limit`, `max_execution_time`, etc.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
default = "movim";
|
||||||
|
description = "User running Movim service";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
default = "movim";
|
||||||
|
description = "Group running Movim service";
|
||||||
|
};
|
||||||
|
|
||||||
|
dataDir = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
default = "/var/lib/movim";
|
||||||
|
description = "State directory of the `movim` user which holds the application’s state & data.";
|
||||||
|
};
|
||||||
|
|
||||||
|
logDir = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
default = "/var/log/movim";
|
||||||
|
description = "Log directory of the `movim` user which holds the application’s logs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
runtimeDir = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
default = "/run/movim";
|
||||||
|
description = "Runtime directory of the `movim` user which holds the application’s caches & temporary files.";
|
||||||
|
};
|
||||||
|
|
||||||
|
domain = mkOption {
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
description = "Fully-qualified domain name (FQDN) for the Movim instance.";
|
||||||
|
};
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
default = 8080;
|
||||||
|
description = "Movim daemon port.";
|
||||||
|
};
|
||||||
|
|
||||||
|
debug = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Debugging logs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
verbose = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Verbose logs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
minifyStaticFiles = mkOption {
|
||||||
|
type = with types; either bool (submodule {
|
||||||
|
options = {
|
||||||
|
script = mkOption {
|
||||||
|
type = types.submodule {
|
||||||
|
options = {
|
||||||
|
enable = mkEnableOption "Script minification";
|
||||||
|
package = mkPackageOption pkgs "esbuild" { };
|
||||||
|
target = mkOption {
|
||||||
|
type = with types; nullOr nonEmptyStr;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = mkOption {
|
||||||
|
type = types.submodule {
|
||||||
|
options = {
|
||||||
|
enable = mkEnableOption "Script minification";
|
||||||
|
package = mkPackageOption pkgs "lightningcss" { };
|
||||||
|
target = mkOption {
|
||||||
|
type = with types; nullOr nonEmptyStr;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
svg = mkOption {
|
||||||
|
type = types.submodule {
|
||||||
|
options = {
|
||||||
|
enable = mkEnableOption "SVG minification";
|
||||||
|
package = mkPackageOption pkgs "scour" { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = true;
|
||||||
|
description = "Do minification on public static files";
|
||||||
|
};
|
||||||
|
|
||||||
|
precompressStaticFiles = mkOption {
|
||||||
|
type = with types; submodule {
|
||||||
|
options = {
|
||||||
|
brotli = {
|
||||||
|
enable = mkEnableOption "Brotli precompression";
|
||||||
|
package = mkPackageOption pkgs "brotli" { };
|
||||||
|
compressionLevel = mkOption {
|
||||||
|
type = types.ints.between 0 11;
|
||||||
|
default = 11;
|
||||||
|
description = "Brotli compression level";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gzip = {
|
||||||
|
enable = mkEnableOption "Gzip precompression";
|
||||||
|
package = mkPackageOption pkgs "gzip" { };
|
||||||
|
compressionLevel = mkOption {
|
||||||
|
type = types.ints.between 1 9;
|
||||||
|
default = 9;
|
||||||
|
description = "Gzip compression level";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = {
|
||||||
|
brotli.enable = true;
|
||||||
|
gzip.enable = false;
|
||||||
|
};
|
||||||
|
description = "Aggressively precompress static files";
|
||||||
|
};
|
||||||
|
|
||||||
|
podConfig = mkOption {
|
||||||
|
type = types.submodule {
|
||||||
|
options = {
|
||||||
|
info = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "Content of the info box on the login page";
|
||||||
|
};
|
||||||
|
|
||||||
|
description = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "General description of the instance";
|
||||||
|
};
|
||||||
|
|
||||||
|
timezone = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "The server timezone";
|
||||||
|
};
|
||||||
|
|
||||||
|
restrictsuggestions = mkOption {
|
||||||
|
type = with types; nullOr bool;
|
||||||
|
default = null;
|
||||||
|
description = "Only suggest chatrooms, Communities and other contents that are available on the user XMPP server and related services";
|
||||||
|
};
|
||||||
|
|
||||||
|
chatonly = mkOption {
|
||||||
|
type = with types; nullOr bool;
|
||||||
|
default = null;
|
||||||
|
description = "Disable all the social feature (Communities, Blog…) and keep only the chat ones";
|
||||||
|
};
|
||||||
|
|
||||||
|
disableregistration = mkOption {
|
||||||
|
type = with types; nullOr bool;
|
||||||
|
default = null;
|
||||||
|
description = "Remove the XMPP registration flow and buttons from the interface";
|
||||||
|
};
|
||||||
|
|
||||||
|
loglevel = mkOption {
|
||||||
|
type = with types; nullOr (ints.between 0 3);
|
||||||
|
default = null;
|
||||||
|
description = "The server loglevel";
|
||||||
|
};
|
||||||
|
|
||||||
|
locale = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "The server main locale";
|
||||||
|
};
|
||||||
|
|
||||||
|
xmppdomain = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "The default XMPP server domain";
|
||||||
|
};
|
||||||
|
|
||||||
|
xmppdescription = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "The default XMPP server description";
|
||||||
|
};
|
||||||
|
|
||||||
|
xmppwhitelist = mkOption {
|
||||||
|
type = with types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = "The allowlisted XMPP servers";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Pod configuration (values from `php daemon.php config --help`).
|
||||||
|
Note that these values will now be disabled in the admin panel.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = with types; attrsOf (nullOr (oneOf [ int str bool ]));
|
||||||
|
default = { };
|
||||||
|
description = ".env settings for Movim. Secrets should use `secretFile` option instead. `null`s will be culled.";
|
||||||
|
};
|
||||||
|
|
||||||
|
secretFile = mkOption {
|
||||||
|
type = with types; nullOr path;
|
||||||
|
default = null;
|
||||||
|
description = "The secret file to be sourced for the .env settings.";
|
||||||
|
};
|
||||||
|
|
||||||
|
database = {
|
||||||
|
type = mkOption {
|
||||||
|
type = types.enum [ "mysql" "postgresql" ];
|
||||||
|
example = "mysql";
|
||||||
|
default = "postgresql";
|
||||||
|
description = "Database engine to use.";
|
||||||
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "movim";
|
||||||
|
description = "Database name.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "movim";
|
||||||
|
description = "Database username.";
|
||||||
|
};
|
||||||
|
|
||||||
|
createLocally = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "local database using UNIX socket authentication";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx = mkOption {
|
||||||
|
type = with types; nullOr (submodule
|
||||||
|
(import ../web-servers/nginx/vhost-options.nix {
|
||||||
|
inherit config lib;
|
||||||
|
}));
|
||||||
|
default = null;
|
||||||
|
example = lib.literalExpression /* nginx */ ''
|
||||||
|
{
|
||||||
|
serverAliases = [
|
||||||
|
"pics.''${config.networking.domain}"
|
||||||
|
];
|
||||||
|
enableACME = true;
|
||||||
|
forceHttps = true;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
With this option, you can customize an nginx virtual host which already has sensible defaults for Movim.
|
||||||
|
Set to `{ }` if you do not need any customization to the virtual host.
|
||||||
|
If enabled, then by default, the {option}`serverName` is `''${domain}`,
|
||||||
|
If this is set to null (the default), no nginx virtualHost will be configured.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
poolConfig = mkOption {
|
||||||
|
type = with types; attrsOf (oneOf [ int str bool ]);
|
||||||
|
default = { };
|
||||||
|
description = "Options for Movim’s PHP-FPM pool.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
|
users = {
|
||||||
|
users = {
|
||||||
|
movim = mkIf (cfg.user == "movim") {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = cfg.group;
|
||||||
|
};
|
||||||
|
"${config.services.nginx.user}".extraGroups = [ cfg.group ];
|
||||||
|
};
|
||||||
|
groups = {
|
||||||
|
${cfg.group} = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
movim = {
|
||||||
|
settings = mkMerge [
|
||||||
|
{
|
||||||
|
DAEMON_URL = "//${cfg.domain}";
|
||||||
|
DAEMON_PORT = cfg.port;
|
||||||
|
DAEMON_INTERFACE = "127.0.0.1";
|
||||||
|
DAEMON_DEBUG = cfg.debug;
|
||||||
|
DAEMON_VERBOSE = cfg.verbose;
|
||||||
|
}
|
||||||
|
(mkIf cfg.database.createLocally {
|
||||||
|
DB_DRIVER = {
|
||||||
|
"postgresql" = "pgsql";
|
||||||
|
"mysql" = "mysql";
|
||||||
|
}.${cfg.database.type};
|
||||||
|
DB_HOST = "localhost";
|
||||||
|
DB_PORT = config.services.${cfg.database.type}.settings.port;
|
||||||
|
DB_DATABASE = cfg.database.name;
|
||||||
|
DB_USERNAME = cfg.database.user;
|
||||||
|
DB_PASSWORD = "";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
poolConfig = lib.mapAttrs' (n: v: lib.nameValuePair n (lib.mkDefault v)) {
|
||||||
|
"pm" = "dynamic";
|
||||||
|
"php_admin_value[error_log]" = "stderr";
|
||||||
|
"php_admin_flag[log_errors]" = true;
|
||||||
|
"catch_workers_output" = true;
|
||||||
|
"pm.max_children" = 32;
|
||||||
|
"pm.start_servers" = 2;
|
||||||
|
"pm.min_spare_servers" = 2;
|
||||||
|
"pm.max_spare_servers" = 8;
|
||||||
|
"pm.max_requests" = 500;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx = mkIf (cfg.nginx != null) {
|
||||||
|
enable = true;
|
||||||
|
recommendedOptimisation = true;
|
||||||
|
recommendedGzipSettings = true;
|
||||||
|
recommendedBrotliSettings = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
# TODO: recommended cache options already in Nginx⁇
|
||||||
|
appendHttpConfig = /* nginx */ ''
|
||||||
|
fastcgi_cache_path /tmp/nginx_cache levels=1:2 keys_zone=nginx_cache:100m inactive=60m;
|
||||||
|
fastcgi_cache_key "$scheme$request_method$host$request_uri";
|
||||||
|
'';
|
||||||
|
virtualHosts."${cfg.domain}" = mkMerge [
|
||||||
|
cfg.nginx
|
||||||
|
{
|
||||||
|
root = lib.mkForce "${package}/share/php/movim/public";
|
||||||
|
locations = {
|
||||||
|
"/favicon.ico" = {
|
||||||
|
priority = 100;
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
access_log off;
|
||||||
|
log_not_found off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"/robots.txt" = {
|
||||||
|
priority = 100;
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
access_log off;
|
||||||
|
log_not_found off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"~ /\\.(?!well-known).*" = {
|
||||||
|
priority = 210;
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
deny all;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# Ask nginx to cache every URL starting with "/picture"
|
||||||
|
"/picture" = {
|
||||||
|
priority = 400;
|
||||||
|
tryFiles = "$uri $uri/ /index.php$is_args$args";
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
set $no_cache 0; # Enable cache only there
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"/" = {
|
||||||
|
priority = 490;
|
||||||
|
tryFiles = "$uri $uri/ /index.php$is_args$args";
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
# https://github.com/movim/movim/issues/314
|
||||||
|
add_header Content-Security-Policy "default-src 'self'; img-src 'self' aesgcm: https:; media-src 'self' aesgcm: https:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline';";
|
||||||
|
set $no_cache 1;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"~ \\.php$" = {
|
||||||
|
priority = 500;
|
||||||
|
tryFiles = "$uri =404";
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
include ${config.services.nginx.package}/conf/fastcgi.conf;
|
||||||
|
add_header X-Cache $upstream_cache_status;
|
||||||
|
fastcgi_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
|
||||||
|
fastcgi_cache nginx_cache;
|
||||||
|
fastcgi_cache_valid any 7d;
|
||||||
|
fastcgi_cache_bypass $no_cache;
|
||||||
|
fastcgi_no_cache $no_cache;
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_pass unix:${fpm.socket};
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"/ws/" = {
|
||||||
|
priority = 900;
|
||||||
|
proxyPass = "http://${cfg.settings.DAEMON_INTERFACE}:${builtins.toString cfg.port}/";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
extraConfig = /* nginx */ ''
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_redirect off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = /* ngnix */ ''
|
||||||
|
index index.php;
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
mysql = mkIf (cfg.database.createLocally && cfg.database.type == "mysql") {
|
||||||
|
enable = mkDefault true;
|
||||||
|
package = mkDefault pkgs.mariadb;
|
||||||
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
ensureUsers = [{
|
||||||
|
name = cfg.user;
|
||||||
|
ensureDBOwnership = true;
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
postgresql = mkIf (cfg.database.createLocally && cfg.database.type == "postgresql") {
|
||||||
|
enable = mkDefault true;
|
||||||
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
ensureUsers = [{
|
||||||
|
name = cfg.user;
|
||||||
|
ensureDBOwnership = true;
|
||||||
|
}];
|
||||||
|
authentication = ''
|
||||||
|
host ${cfg.database.name} ${cfg.database.user} localhost trust
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
phpfpm.pools.${pool} =
|
||||||
|
let
|
||||||
|
socketOwner =
|
||||||
|
if (cfg.nginx != null)
|
||||||
|
then config.services.nginx.user
|
||||||
|
else cfg.user;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
phpPackage = package.php;
|
||||||
|
user = cfg.user;
|
||||||
|
group = cfg.group;
|
||||||
|
|
||||||
|
phpOptions = ''
|
||||||
|
error_log = 'stderr'
|
||||||
|
log_errors = on
|
||||||
|
'';
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"listen.owner" = socketOwner;
|
||||||
|
"listen.group" = cfg.group;
|
||||||
|
"listen.mode" = "0660";
|
||||||
|
"catch_workers_output" = true;
|
||||||
|
} // cfg.poolConfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
services.movim-data-setup = {
|
||||||
|
description = "Movim setup: .env file, databases init, cache reload";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
requiredBy = [ "${phpExecutionUnit}.service" ];
|
||||||
|
before = [ "${phpExecutionUnit}.service" ];
|
||||||
|
after = lib.optional cfg.database.createLocally dbService;
|
||||||
|
requires = lib.optional cfg.database.createLocally dbService;
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
UMask = "077";
|
||||||
|
} // lib.optionalAttrs (cfg.secretFile != null) {
|
||||||
|
LoadCredential = "env-secrets:${cfg.secretFile}";
|
||||||
|
};
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
# Env vars
|
||||||
|
rm -f ${cfg.dataDir}/.env
|
||||||
|
cp --no-preserve=all ${configFile} ${cfg.dataDir}/.env
|
||||||
|
echo -e '\n' >> ${cfg.dataDir}/.env
|
||||||
|
if [[ -f "$CREDENTIALS_DIRECTORY/env-secrets" ]]; then
|
||||||
|
cat "$CREDENTIALS_DIRECTORY/env-secrets" >> ${cfg.dataDir}/.env
|
||||||
|
echo -e '\n' >> ${cfg.dataDir}/.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Caches, logs
|
||||||
|
mkdir -p ${cfg.dataDir}/public/cache ${cfg.logDir} ${cfg.runtimeDir}/cache
|
||||||
|
chmod -R ug+rw ${cfg.dataDir}/public/cache
|
||||||
|
chmod -R ug+rw ${cfg.logDir}
|
||||||
|
chmod -R ug+rwx ${cfg.runtimeDir}/cache
|
||||||
|
|
||||||
|
# Migrations
|
||||||
|
MOVIM_VERSION="${package.version}"
|
||||||
|
if [[ ! -f "${cfg.dataDir}/.migration-version" ]] || [[ "$MOVIM_VERSION" != "$(<${cfg.dataDir}/.migration-version)" ]]; then
|
||||||
|
${package}/bin/movim-composer movim:migrate && echo $MOVIM_VERSION > ${cfg.dataDir}/.migration-version
|
||||||
|
fi
|
||||||
|
''
|
||||||
|
+ lib.optionalString (podConfigFlags != "") (
|
||||||
|
let
|
||||||
|
flags = lib.concatStringsSep " "
|
||||||
|
([ "--no-interaction" ]
|
||||||
|
++ lib.optional cfg.debug "-vvv"
|
||||||
|
++ lib.optional (!cfg.debug && cfg.verbose) "-v");
|
||||||
|
in
|
||||||
|
''
|
||||||
|
${lib.getExe package} config ${podConfigFlags}
|
||||||
|
''
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
services.movim = {
|
||||||
|
description = "Movim daemon";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "movim-data-setup.service" ];
|
||||||
|
requires = [ "movim-data-setup.service" ]
|
||||||
|
++ lib.optional cfg.database.createLocally dbService;
|
||||||
|
environment = {
|
||||||
|
PUBLIC_URL = "//${cfg.domain}";
|
||||||
|
WS_PORT = builtins.toString cfg.port;
|
||||||
|
};
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
WorkingDirectory = "${package}/share/php/movim";
|
||||||
|
ExecStart = "${lib.getExe package} start";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.${phpExecutionUnit} = {
|
||||||
|
after = [ "movim-data-setup.service" ];
|
||||||
|
requires = [ "movim-data-setup.service" ]
|
||||||
|
++ lib.optional cfg.database.createLocally dbService;
|
||||||
|
};
|
||||||
|
|
||||||
|
tmpfiles.settings."10-movim" = with cfg; {
|
||||||
|
"${dataDir}".d = { inherit user group; mode = "0710"; };
|
||||||
|
"${dataDir}/public".d = { inherit user group; mode = "0750"; };
|
||||||
|
"${dataDir}/public/cache".d = { inherit user group; mode = "0750"; };
|
||||||
|
"${runtimeDir}".d = { inherit user group; mode = "0700"; };
|
||||||
|
"${runtimeDir}/cache".d = { inherit user group; mode = "0700"; };
|
||||||
|
"${logDir}".d = { inherit user group; mode = "0700"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -558,6 +558,7 @@ in {
|
||||||
morty = handleTest ./morty.nix {};
|
morty = handleTest ./morty.nix {};
|
||||||
mosquitto = handleTest ./mosquitto.nix {};
|
mosquitto = handleTest ./mosquitto.nix {};
|
||||||
moosefs = handleTest ./moosefs.nix {};
|
moosefs = handleTest ./moosefs.nix {};
|
||||||
|
movim = discoverTests (import ./web-apps/movim { inherit handleTestOn; });
|
||||||
mpd = handleTest ./mpd.nix {};
|
mpd = handleTest ./mpd.nix {};
|
||||||
mpv = handleTest ./mpv.nix {};
|
mpv = handleTest ./mpv.nix {};
|
||||||
mtp = handleTest ./mtp.nix {};
|
mtp = handleTest ./mtp.nix {};
|
||||||
|
|
8
nixos/tests/web-apps/movim/default.nix
Normal file
8
nixos/tests/web-apps/movim/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ system ? builtins.currentSystem, handleTestOn }:
|
||||||
|
|
||||||
|
let
|
||||||
|
supportedSystems = [ "x86_64-linux" "i686-linux" ];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
standard = handleTestOn supportedSystems ./standard.nix { inherit system; };
|
||||||
|
}
|
102
nixos/tests/web-apps/movim/standard.nix
Normal file
102
nixos/tests/web-apps/movim/standard.nix
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
import ../../make-test-python.nix ({ lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
movim = {
|
||||||
|
domain = "movim.local";
|
||||||
|
info = "No ToS in tests";
|
||||||
|
description = "NixOS testing server";
|
||||||
|
};
|
||||||
|
xmpp = {
|
||||||
|
domain = "xmpp.local";
|
||||||
|
admin = rec {
|
||||||
|
JID = "${username}@${xmpp.domain}";
|
||||||
|
username = "romeo";
|
||||||
|
password = "juliet";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "movim-standard";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with pkgs.lib.maintainers; [ toastal ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
server = { pkgs, ... }: {
|
||||||
|
services.movim = {
|
||||||
|
inherit (movim) domain;
|
||||||
|
enable = true;
|
||||||
|
verbose = true;
|
||||||
|
podConfig = {
|
||||||
|
inherit (movim) description info;
|
||||||
|
xmppdomain = xmpp.domain;
|
||||||
|
};
|
||||||
|
nginx = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
services.prosody = {
|
||||||
|
enable = true;
|
||||||
|
xmppComplianceSuite = false;
|
||||||
|
disco_items = [
|
||||||
|
{ url = "upload.${xmpp.domain}"; description = "File Uploads"; }
|
||||||
|
];
|
||||||
|
virtualHosts."${xmpp.domain}" = {
|
||||||
|
inherit (xmpp) domain;
|
||||||
|
enabled = true;
|
||||||
|
extraConfig = ''
|
||||||
|
Component "pubsub.${xmpp.domain}" "pubsub"
|
||||||
|
pubsub_max_items = 10000
|
||||||
|
expose_publisher = true
|
||||||
|
|
||||||
|
Component "upload.${xmpp.domain}" "http_file_share"
|
||||||
|
http_external_url = "http://upload.${xmpp.domain}"
|
||||||
|
http_file_share_expires_after = 300 * 24 * 60 * 60
|
||||||
|
http_file_share_size_limit = 1024 * 1024 * 1024
|
||||||
|
http_file_share_daily_quota = 4 * 1024 * 1024 * 1024
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
pep_max_items = 10000
|
||||||
|
|
||||||
|
http_paths = {
|
||||||
|
file_share = "/";
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.extraHosts = ''
|
||||||
|
127.0.0.1 ${movim.domain}
|
||||||
|
127.0.0.1 ${xmpp.domain}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = /* python */ ''
|
||||||
|
server.wait_for_unit("phpfpm-movim.service")
|
||||||
|
server.wait_for_unit("nginx.service")
|
||||||
|
server.wait_for_open_port(80)
|
||||||
|
|
||||||
|
server.wait_for_unit("prosody.service")
|
||||||
|
server.succeed('prosodyctl status | grep "Prosody is running"')
|
||||||
|
server.succeed("prosodyctl register ${xmpp.admin.username} ${xmpp.domain} ${xmpp.admin.password}")
|
||||||
|
|
||||||
|
server.wait_for_unit("movim.service")
|
||||||
|
|
||||||
|
# Test unauthenticated
|
||||||
|
server.fail("curl -L --fail-with-body --max-redirs 0 http://${movim.domain}/chat")
|
||||||
|
|
||||||
|
# Test basic Websocket
|
||||||
|
server.succeed("echo \"\" | ${lib.getExe pkgs.websocat} 'ws://${movim.domain}/ws/?path=login&offset=0' --origin 'http://${movim.domain}'")
|
||||||
|
|
||||||
|
# Test login + create cookiejar
|
||||||
|
login_html = server.succeed("curl --fail-with-body -c /tmp/cookies http://${movim.domain}/login")
|
||||||
|
assert "${movim.description}" in login_html
|
||||||
|
assert "${movim.info}" in login_html
|
||||||
|
|
||||||
|
# Test authentication POST
|
||||||
|
server.succeed("curl --fail-with-body -b /tmp/cookies -X POST --data-urlencode 'username=${xmpp.admin.JID}' --data-urlencode 'password=${xmpp.admin.password}' http://${movim.domain}/login")
|
||||||
|
|
||||||
|
server.succeed("curl -L --fail-with-body --max-redirs 1 -b /tmp/cookies http://${movim.domain}/chat")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -3,18 +3,18 @@
|
||||||
"clion": {
|
"clion": {
|
||||||
"update-channel": "CLion RELEASE",
|
"update-channel": "CLion RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
|
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "eae2e1646387ee36a2f24c10d924647fd3d00bb31dd42e9c17438ae7aecf79a8",
|
"sha256": "a753369d74832d15fcf082587291921e8a90be04529c05b8e9d64a3afb24120c",
|
||||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4.tar.gz",
|
"url": "https://download.jetbrains.com/cpp/CLion-2024.1.tar.gz",
|
||||||
"build_number": "233.14475.31"
|
"build_number": "241.14494.288"
|
||||||
},
|
},
|
||||||
"datagrip": {
|
"datagrip": {
|
||||||
"update-channel": "DataGrip RELEASE",
|
"update-channel": "DataGrip RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
|
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
|
||||||
"version": "2024.1",
|
"version": "2024.1.1",
|
||||||
"sha256": "cc77892adcbf28b1a2205908466cca9c80217162cdac020d25d258a84cbb88d3",
|
"sha256": "05c1f910126b8499d26ab52d333307d3b6df6a3fa06b5e0b1a79ff15caf40e0a",
|
||||||
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.tar.gz",
|
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.tar.gz",
|
||||||
"build_number": "241.14494.251"
|
"build_number": "241.14494.283"
|
||||||
},
|
},
|
||||||
"dataspell": {
|
"dataspell": {
|
||||||
"update-channel": "DataSpell RELEASE",
|
"update-channel": "DataSpell RELEASE",
|
||||||
|
@ -92,10 +92,10 @@
|
||||||
"rider": {
|
"rider": {
|
||||||
"update-channel": "Rider RELEASE",
|
"update-channel": "Rider RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
|
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "fb137ea346d957f151cb0d7755661293ae5e33e36f306b6dc90fb42895443309",
|
"sha256": "194096b0b550e1e320fc72aaf0510faeebf8737d05f6e02eecd72efe6f7cd757",
|
||||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4.tar.gz",
|
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.tar.gz",
|
||||||
"build_number": "233.14475.66"
|
"build_number": "241.14494.307"
|
||||||
},
|
},
|
||||||
"ruby-mine": {
|
"ruby-mine": {
|
||||||
"update-channel": "RubyMine RELEASE",
|
"update-channel": "RubyMine RELEASE",
|
||||||
|
@ -126,18 +126,18 @@
|
||||||
"clion": {
|
"clion": {
|
||||||
"update-channel": "CLion RELEASE",
|
"update-channel": "CLion RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
|
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "fa427be85ead8e2769aeadf19ce816cb7f02c3b08ec3b4cc7e0cddea44386dc8",
|
"sha256": "f937b263bd697595427e3e1d04513f9b6a786d56214ce34fe7a038efa2e949cf",
|
||||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4-aarch64.tar.gz",
|
"url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.tar.gz",
|
||||||
"build_number": "233.14475.31"
|
"build_number": "241.14494.288"
|
||||||
},
|
},
|
||||||
"datagrip": {
|
"datagrip": {
|
||||||
"update-channel": "DataGrip RELEASE",
|
"update-channel": "DataGrip RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
|
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
|
||||||
"version": "2024.1",
|
"version": "2024.1.1",
|
||||||
"sha256": "b293ed99d29510422090736c4e30a0ccd3974fc01ecce7a9f5f497c34b8ea077",
|
"sha256": "d269bfe10fb97572e785dce6e387d09f429396db002e12ecb9a44cced915c032",
|
||||||
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1-aarch64.tar.gz",
|
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.tar.gz",
|
||||||
"build_number": "241.14494.251"
|
"build_number": "241.14494.283"
|
||||||
},
|
},
|
||||||
"dataspell": {
|
"dataspell": {
|
||||||
"update-channel": "DataSpell RELEASE",
|
"update-channel": "DataSpell RELEASE",
|
||||||
|
@ -215,10 +215,10 @@
|
||||||
"rider": {
|
"rider": {
|
||||||
"update-channel": "Rider RELEASE",
|
"update-channel": "Rider RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
|
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "99c80997bd0d2b8b918ef81fbbe7b422e165665c8fa3d108b1387ca0188c9558",
|
"sha256": "e196c8e70d7eb6f56a08df809f5de430bf5e61509abb13de8b301c036c4f446e",
|
||||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4-aarch64.tar.gz",
|
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.tar.gz",
|
||||||
"build_number": "233.14475.66"
|
"build_number": "241.14494.307"
|
||||||
},
|
},
|
||||||
"ruby-mine": {
|
"ruby-mine": {
|
||||||
"update-channel": "RubyMine RELEASE",
|
"update-channel": "RubyMine RELEASE",
|
||||||
|
@ -249,18 +249,18 @@
|
||||||
"clion": {
|
"clion": {
|
||||||
"update-channel": "CLion RELEASE",
|
"update-channel": "CLion RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
|
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "2eb149d2bbf1c778f3386bc9cf7b11741b4372e69c680def31260b9aa213159e",
|
"sha256": "373c78ff045a17fdcae44cc9b76b41862d4bee9c8476813e518c7cc1de88b6a1",
|
||||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4.dmg",
|
"url": "https://download.jetbrains.com/cpp/CLion-2024.1.dmg",
|
||||||
"build_number": "233.14475.31"
|
"build_number": "241.14494.288"
|
||||||
},
|
},
|
||||||
"datagrip": {
|
"datagrip": {
|
||||||
"update-channel": "DataGrip RELEASE",
|
"update-channel": "DataGrip RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
|
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
|
||||||
"version": "2024.1",
|
"version": "2024.1.1",
|
||||||
"sha256": "8a76d76466b62da1a68d08a066a56319b81e3cab09b57ab11822bf4373def6ce",
|
"sha256": "232582204a6f810bcbd2387ba2cef824f0f81c3a7e022f7f2bebf643d32f866d",
|
||||||
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.dmg",
|
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.dmg",
|
||||||
"build_number": "241.14494.251"
|
"build_number": "241.14494.283"
|
||||||
},
|
},
|
||||||
"dataspell": {
|
"dataspell": {
|
||||||
"update-channel": "DataSpell RELEASE",
|
"update-channel": "DataSpell RELEASE",
|
||||||
|
@ -338,10 +338,10 @@
|
||||||
"rider": {
|
"rider": {
|
||||||
"update-channel": "Rider RELEASE",
|
"update-channel": "Rider RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
|
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "00435dc8d9dd43bbd73a55be7d5b304be8ee124032a7485750aef86cddc53ba2",
|
"sha256": "12155c779c7f11dd71b3573af266c0221960eaea8a442fda4faaec8ca6eefa95",
|
||||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4.dmg",
|
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.dmg",
|
||||||
"build_number": "233.14475.66"
|
"build_number": "241.14494.307"
|
||||||
},
|
},
|
||||||
"ruby-mine": {
|
"ruby-mine": {
|
||||||
"update-channel": "RubyMine RELEASE",
|
"update-channel": "RubyMine RELEASE",
|
||||||
|
@ -372,18 +372,18 @@
|
||||||
"clion": {
|
"clion": {
|
||||||
"update-channel": "CLion RELEASE",
|
"update-channel": "CLion RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
|
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "340d239008c38743a10e51ae609ec3bf3dd732cf2042ef997532c6b8ed272b1a",
|
"sha256": "b1044fdbf9e3f93aaf8ca8ad2b7bc2eae165f86bc5cae6910f2ad0ee92c198a5",
|
||||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4-aarch64.dmg",
|
"url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.dmg",
|
||||||
"build_number": "233.14475.31"
|
"build_number": "241.14494.288"
|
||||||
},
|
},
|
||||||
"datagrip": {
|
"datagrip": {
|
||||||
"update-channel": "DataGrip RELEASE",
|
"update-channel": "DataGrip RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
|
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
|
||||||
"version": "2024.1",
|
"version": "2024.1.1",
|
||||||
"sha256": "a5e92addc3f098670814c4d5660f275f997eaa958e9eb24007f862cfb74b8118",
|
"sha256": "c2545df9784fa1f8f9234dd93d1c513ed691c797f26471cb545188ce7f495864",
|
||||||
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1-aarch64.dmg",
|
"url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.dmg",
|
||||||
"build_number": "241.14494.251"
|
"build_number": "241.14494.283"
|
||||||
},
|
},
|
||||||
"dataspell": {
|
"dataspell": {
|
||||||
"update-channel": "DataSpell RELEASE",
|
"update-channel": "DataSpell RELEASE",
|
||||||
|
@ -461,10 +461,10 @@
|
||||||
"rider": {
|
"rider": {
|
||||||
"update-channel": "Rider RELEASE",
|
"update-channel": "Rider RELEASE",
|
||||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
|
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
|
||||||
"version": "2023.3.4",
|
"version": "2024.1",
|
||||||
"sha256": "8ffd13dcc2207d4a781dc92e89643767e0dd6ef53024c92669f4daaf9cf929c0",
|
"sha256": "c2e0dadc6c7f924e849e87d1c04aeaa02d6a14d5868294dd36481a70cbd508cb",
|
||||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4-aarch64.dmg",
|
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.dmg",
|
||||||
"build_number": "233.14475.66"
|
"build_number": "241.14494.307"
|
||||||
},
|
},
|
||||||
"ruby-mine": {
|
"ruby-mine": {
|
||||||
"update-channel": "RubyMine RELEASE",
|
"update-channel": "RubyMine RELEASE",
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
|
@ -27,7 +25,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
|
||||||
},
|
},
|
||||||
"name": "ideavim"
|
"name": "ideavim"
|
||||||
},
|
},
|
||||||
|
@ -42,13 +42,32 @@
|
||||||
},
|
},
|
||||||
"6954": {
|
"6954": {
|
||||||
"compatible": [
|
"compatible": [
|
||||||
|
"clion",
|
||||||
|
"datagrip",
|
||||||
|
"goland",
|
||||||
"idea-community",
|
"idea-community",
|
||||||
"idea-ultimate",
|
"idea-ultimate",
|
||||||
"mps"
|
"mps",
|
||||||
|
"phpstorm",
|
||||||
|
"pycharm-community",
|
||||||
|
"pycharm-professional",
|
||||||
|
"rider",
|
||||||
|
"ruby-mine",
|
||||||
|
"rust-rover",
|
||||||
|
"webstorm"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": null,
|
"233.13135.979": null,
|
||||||
"241.14494.240": null
|
"233.15026.24": null,
|
||||||
|
"241.14494.234": null,
|
||||||
|
"241.14494.235": null,
|
||||||
|
"241.14494.237": null,
|
||||||
|
"241.14494.238": null,
|
||||||
|
"241.14494.240": null,
|
||||||
|
"241.14494.241": null,
|
||||||
|
"241.14494.283": null,
|
||||||
|
"241.14494.288": null,
|
||||||
|
"241.14494.307": null
|
||||||
},
|
},
|
||||||
"name": "kotlin"
|
"name": "kotlin"
|
||||||
},
|
},
|
||||||
|
@ -70,8 +89,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": null,
|
"233.13135.979": null,
|
||||||
"233.14475.31": null,
|
|
||||||
"233.14475.66": null,
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
|
@ -79,7 +96,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip"
|
||||||
},
|
},
|
||||||
"name": "ini"
|
"name": "ini"
|
||||||
},
|
},
|
||||||
|
@ -89,8 +108,8 @@
|
||||||
"phpstorm"
|
"phpstorm"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"241.14494.237": "https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip",
|
"241.14494.237": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip"
|
"241.14494.240": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip"
|
||||||
},
|
},
|
||||||
"name": "symfony-support"
|
"name": "symfony-support"
|
||||||
},
|
},
|
||||||
|
@ -114,11 +133,11 @@
|
||||||
"rust-rover"
|
"rust-rover"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip"
|
||||||
},
|
},
|
||||||
"name": "python-community-edition"
|
"name": "python-community-edition"
|
||||||
},
|
},
|
||||||
|
@ -139,15 +158,15 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
|
||||||
"241.14494.234": null,
|
"241.14494.234": null,
|
||||||
"241.14494.235": null,
|
"241.14494.235": null,
|
||||||
"241.14494.237": null,
|
"241.14494.237": null,
|
||||||
"241.14494.238": null,
|
"241.14494.238": null,
|
||||||
"241.14494.240": null,
|
"241.14494.240": null,
|
||||||
"241.14494.241": null,
|
"241.14494.241": null,
|
||||||
"241.14494.251": null
|
"241.14494.283": null,
|
||||||
|
"241.14494.288": null,
|
||||||
|
"241.14494.307": null
|
||||||
},
|
},
|
||||||
"name": "-deprecated-rust"
|
"name": "-deprecated-rust"
|
||||||
},
|
},
|
||||||
|
@ -168,15 +187,15 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": null,
|
"233.13135.979": null,
|
||||||
"233.14475.31": null,
|
|
||||||
"233.14475.66": null,
|
|
||||||
"241.14494.234": null,
|
"241.14494.234": null,
|
||||||
"241.14494.235": null,
|
"241.14494.235": null,
|
||||||
"241.14494.237": null,
|
"241.14494.237": null,
|
||||||
"241.14494.238": null,
|
"241.14494.238": null,
|
||||||
"241.14494.240": null,
|
"241.14494.240": null,
|
||||||
"241.14494.241": null,
|
"241.14494.241": null,
|
||||||
"241.14494.251": null
|
"241.14494.283": null,
|
||||||
|
"241.14494.288": null,
|
||||||
|
"241.14494.307": null
|
||||||
},
|
},
|
||||||
"name": "-deprecated-rust-beta"
|
"name": "-deprecated-rust-beta"
|
||||||
},
|
},
|
||||||
|
@ -214,17 +233,17 @@
|
||||||
"webstorm"
|
"webstorm"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.234": null,
|
"241.14494.237": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.235": null,
|
"241.14494.238": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.237": null,
|
"241.14494.240": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.238": null,
|
"241.14494.241": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.240": null,
|
"241.14494.283": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.241": null,
|
"241.14494.288": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
|
||||||
"241.14494.251": null
|
"241.14494.307": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip"
|
||||||
},
|
},
|
||||||
"name": "nixidea"
|
"name": "nixidea"
|
||||||
},
|
},
|
||||||
|
@ -257,8 +276,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
|
@ -266,7 +283,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
|
||||||
},
|
},
|
||||||
"name": "csv-editor"
|
"name": "csv-editor"
|
||||||
},
|
},
|
||||||
|
@ -288,8 +307,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
|
@ -297,7 +314,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
|
||||||
},
|
},
|
||||||
"name": "vscode-keymap"
|
"name": "vscode-keymap"
|
||||||
},
|
},
|
||||||
|
@ -319,8 +338,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
|
@ -328,7 +345,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
|
||||||
},
|
},
|
||||||
"name": "eclipse-keymap"
|
"name": "eclipse-keymap"
|
||||||
},
|
},
|
||||||
|
@ -350,8 +369,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
|
@ -359,7 +376,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
|
||||||
},
|
},
|
||||||
"name": "visual-studio-keymap"
|
"name": "visual-studio-keymap"
|
||||||
},
|
},
|
||||||
|
@ -381,8 +400,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"233.15026.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"241.14494.234": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"241.14494.235": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
|
@ -390,7 +407,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"241.14494.238": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"241.14494.240": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
"241.14494.241": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
"241.14494.283": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
||||||
},
|
},
|
||||||
"name": "darcula-pitch-black"
|
"name": "darcula-pitch-black"
|
||||||
},
|
},
|
||||||
|
@ -411,17 +430,17 @@
|
||||||
"webstorm"
|
"webstorm"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.237": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.237": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.283": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip",
|
"241.14494.288": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip"
|
"241.14494.307": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip"
|
||||||
},
|
},
|
||||||
"name": "github-copilot"
|
"name": "github-copilot"
|
||||||
},
|
},
|
||||||
|
@ -443,8 +462,6 @@
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
|
||||||
"233.14475.66": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"241.14494.234": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"241.14494.234": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"241.14494.235": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"241.14494.235": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
|
@ -452,7 +469,9 @@
|
||||||
"241.14494.238": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"241.14494.238": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"241.14494.240": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"241.14494.241": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
"241.14494.241": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
"241.14494.251": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
"241.14494.283": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||||
|
"241.14494.307": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
||||||
},
|
},
|
||||||
"name": "netbeans-6-5-keymap"
|
"name": "netbeans-6-5-keymap"
|
||||||
},
|
},
|
||||||
|
@ -463,9 +482,9 @@
|
||||||
"rust-rover"
|
"rust-rover"
|
||||||
],
|
],
|
||||||
"builds": {
|
"builds": {
|
||||||
"233.14475.31": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
|
|
||||||
"233.15026.24": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
|
"233.15026.24": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
|
||||||
"241.14494.240": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip"
|
"241.14494.240": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip",
|
||||||
|
"241.14494.288": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip"
|
||||||
},
|
},
|
||||||
"name": "rust"
|
"name": "rust"
|
||||||
}
|
}
|
||||||
|
@ -481,21 +500,20 @@
|
||||||
"https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip": "sha256-tNgt0vIkdCB/LcaSj58mT6cNlw4lytRo0cZSt7sIERU=",
|
"https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip": "sha256-tNgt0vIkdCB/LcaSj58mT6cNlw4lytRo0cZSt7sIERU=",
|
||||||
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
|
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
|
||||||
"https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip": "sha256-FP6th8J3ymfTrwvJ3Ms7fsNPh3f9ab5ZVg5yPpKV/rY=",
|
"https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip": "sha256-FP6th8J3ymfTrwvJ3Ms7fsNPh3f9ab5ZVg5yPpKV/rY=",
|
||||||
"https://plugins.jetbrains.com/files/17718/512366/github-copilot-intellij-1.5.1.5285.zip": "sha256-lep8ZUOjbV0tsfO/yEWJiHWtwm639zxpc/7L9rCKSsU=",
|
"https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip": "sha256-BaBYXN8eulaJtJSKrz9bZ2Yn8029goSAUvjYU+BaiIU=",
|
||||||
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
|
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
|
||||||
"https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip": "sha256-tBPoO2EkPaWFZ/Gu3UAkZPy4opssWJQEVlz9GZUkNtQ=",
|
"https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip": "sha256-tBPoO2EkPaWFZ/Gu3UAkZPy4opssWJQEVlz9GZUkNtQ=",
|
||||||
"https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip": "sha256-j4b4To8jY4orP87GpphHPtLKeAPDNXcLNSUlIXDDy2Q=",
|
"https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip": "sha256-j4b4To8jY4orP87GpphHPtLKeAPDNXcLNSUlIXDDy2Q=",
|
||||||
"https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip": "sha256-pQP1LF/6uImQpBOpxUGE8KmmFh26kiC4YaYLAHnEc3o=",
|
"https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip": "sha256-pQP1LF/6uImQpBOpxUGE8KmmFh26kiC4YaYLAHnEc3o=",
|
||||||
"https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=",
|
"https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=",
|
||||||
"https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
|
"https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
|
||||||
"https://plugins.jetbrains.com/files/7219/514919/Symfony_Plugin-2023.1.267.zip": "sha256-zhnoxJgJJDgSnLdaNRrqS767YuvAzm8sXzhz9e2G0+8=",
|
"https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip": "sha256-mYEuFdSaxw9Lc8yNgPB0ty6mfxjKaAa/jY6v4E2Qo0Q=",
|
||||||
"https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
|
"https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
|
||||||
"https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip": "sha256-YMB/ewCKE1F/JXI8iau9pKkv9D5D9a8OiTVukkzTocA=",
|
|
||||||
"https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
|
"https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
|
||||||
"https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip": "sha256-6YC/aoiTRLAh87C2v3k24BLBH/tsdTWuDK/CBv8y1QI=",
|
"https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip": "sha256-6YC/aoiTRLAh87C2v3k24BLBH/tsdTWuDK/CBv8y1QI=",
|
||||||
"https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
|
"https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
|
||||||
"https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip": "sha256-D2gF9bLAEFd1+6vZskiM2Eyl5e8hmyh/VHrmW2NociE=",
|
"https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip": "sha256-D2gF9bLAEFd1+6vZskiM2Eyl5e8hmyh/VHrmW2NociE=",
|
||||||
"https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip": "sha256-Dwitpu5yLPWx+IUilpN5iqnN8FkKgaxUNjroBEx5lkM=",
|
"https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip": "sha256-D2HFG2tQy719+baHjUyizoq67tv6lDZrX3s6HDlBRA0=",
|
||||||
"https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip": "sha256-66Gx4XFn5DEZ/wCkN7IFQKtp+P0R9PoEAXmwOB97Q3A="
|
"https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip": "sha256-66Gx4XFn5DEZ/wCkN7IFQKtp+P0R9PoEAXmwOB97Q3A="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,10 @@ let
|
||||||
|
|
||||||
inherit configurePhase buildPhase dontPatchELF dontStrip;
|
inherit configurePhase buildPhase dontPatchELF dontStrip;
|
||||||
|
|
||||||
|
# Some .vsix files contain other directories (e.g., `package`) that we don't use.
|
||||||
|
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
|
||||||
|
sourceRoot = "extension";
|
||||||
|
|
||||||
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
|
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
|
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
|
||||||
|
|
|
@ -1,27 +1,32 @@
|
||||||
{ lib
|
{
|
||||||
, fetchFromGitHub
|
lib,
|
||||||
, python3
|
fetchFromGitHub,
|
||||||
, testers
|
python3,
|
||||||
, jrnl
|
testers,
|
||||||
|
jrnl,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "jrnl";
|
pname = "jrnl";
|
||||||
version = "4.1";
|
version = "4.1";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jrnl-org";
|
owner = "jrnl-org";
|
||||||
repo = pname;
|
repo = "jrnl";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-DtujXSDJWnOrHjVgJEJNKJMhSrNBHlR2hvHeHLSIF2o=";
|
hash = "sha256-DtujXSDJWnOrHjVgJEJNKJMhSrNBHlR2hvHeHLSIF2o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [
|
postPatch = ''
|
||||||
poetry-core
|
# Support pytest_bdd 7.1.2 and later, https://github.com/jrnl-org/jrnl/pull/1878
|
||||||
];
|
substituteInPlace tests/lib/when_steps.py \
|
||||||
|
--replace-fail "from pytest_bdd.steps import inject_fixture" "from pytest_bdd.compat import inject_fixture"
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
build-system = with python3.pkgs; [ poetry-core ];
|
||||||
|
|
||||||
|
dependencies = with python3.pkgs; [
|
||||||
asteval
|
asteval
|
||||||
colorama
|
colorama
|
||||||
cryptography
|
cryptography
|
||||||
|
@ -43,14 +48,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
toml
|
toml
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=$(mktemp -d);
|
export HOME=$(mktemp -d);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [ "jrnl" ];
|
||||||
"jrnl"
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru.tests.version = testers.testVersion {
|
passthru.tests.version = testers.testVersion {
|
||||||
package = jrnl;
|
package = jrnl;
|
||||||
|
@ -58,11 +60,14 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
changelog = "https://github.com/jrnl-org/jrnl/releases/tag/v${version}";
|
description = "Command line journal application that stores your journal in a plain text file";
|
||||||
description = "Simple command line journal application that stores your journal in a plain text file";
|
|
||||||
homepage = "https://jrnl.sh/";
|
homepage = "https://jrnl.sh/";
|
||||||
|
changelog = "https://github.com/jrnl-org/jrnl/releases/tag/v${version}";
|
||||||
license = licenses.gpl3Only;
|
license = licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ bryanasdev000 zalakain ];
|
maintainers = with maintainers; [
|
||||||
|
bryanasdev000
|
||||||
|
zalakain
|
||||||
|
];
|
||||||
mainProgram = "jrnl";
|
mainProgram = "jrnl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,12 +66,12 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "prusa-slicer";
|
pname = "prusa-slicer";
|
||||||
version = "2.7.3";
|
version = "2.7.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "prusa3d";
|
owner = "prusa3d";
|
||||||
repo = "PrusaSlicer";
|
repo = "PrusaSlicer";
|
||||||
hash = "sha256-pV9KQlZoCQZWi12VUKntKzFUuZgGpDoh1aNMoAHTbZI=";
|
hash = "sha256-g2I2l6i/8p8werDs4mDI/lGeDQsma4WSB9vT6OB2LGg=";
|
||||||
rev = "version_${finalAttrs.version}";
|
rev = "version_${finalAttrs.version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
stable = {
|
stable = {
|
||||||
chromedriver = {
|
chromedriver = {
|
||||||
hash_darwin = "sha256-sB6gH5k5zK1IIctBTXQpxlgmLEoIatcLDYO+WIFaYxA=";
|
hash_darwin = "sha256-PmLV++FK6aCvdhNNhb2ZAmRLumr+VRFvN+7IByieEZk=";
|
||||||
hash_darwin_aarch64 =
|
hash_darwin_aarch64 =
|
||||||
"sha256-sikyGQG0Y14eNjT3f/Z50cPmm38T58X7zQIGopXOHOs=";
|
"sha256-6Ys1EMSLmJNNaWdPeQiCT+bC0H7ABInVNzwXorGavn4=";
|
||||||
hash_linux = "sha256-2WZmRXyvxN3hXeOoPQXL6lU6Xki9iUmTdETRxOkIYD0=";
|
hash_linux = "sha256-iimq37dcEcY2suW73a6lhgHuNaoqtzbAZCHkQP9ro/Y=";
|
||||||
version = "123.0.6312.86";
|
version = "123.0.6312.122";
|
||||||
};
|
};
|
||||||
deps = {
|
deps = {
|
||||||
gn = {
|
gn = {
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
version = "2024-02-19";
|
version = "2024-02-19";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hash = "sha256-C17TPDVFW3+cHO1tcEghjI6H59TVPm9hdCrF2s5NI68=";
|
hash = "sha256-7H7h621AHPyhFYbaVFO892TtS+SP3Qu7cYUVk3ICL14=";
|
||||||
hash_deb_amd64 = "sha256-zmnBi4UBx52fQKHHJuUaCMuDJl7ntQzhG6h/yH7YPNU=";
|
hash_deb_amd64 = "sha256-tNkO1mPZg1xltBfoWeNhLekITtZV/WNgu//i2DJb17c=";
|
||||||
version = "123.0.6312.105";
|
version = "123.0.6312.122";
|
||||||
};
|
};
|
||||||
ungoogled-chromium = {
|
ungoogled-chromium = {
|
||||||
deps = {
|
deps = {
|
||||||
|
@ -28,12 +28,12 @@
|
||||||
version = "2024-02-19";
|
version = "2024-02-19";
|
||||||
};
|
};
|
||||||
ungoogled-patches = {
|
ungoogled-patches = {
|
||||||
hash = "sha256-81SoZBOAAV0cAVzz3yOzBstRW3vWjmkFoFNjYdPnme4=";
|
hash = "sha256-ojKIAkJB/gfg6scCxUYNAGx4lsquAaCySBDcUCFLqSU=";
|
||||||
rev = "123.0.6312.105-1";
|
rev = "d5773b0fb696ef107cc6df6a94cbe732c9e905f9";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hash = "sha256-C17TPDVFW3+cHO1tcEghjI6H59TVPm9hdCrF2s5NI68=";
|
hash = "sha256-7H7h621AHPyhFYbaVFO892TtS+SP3Qu7cYUVk3ICL14=";
|
||||||
hash_deb_amd64 = "sha256-zmnBi4UBx52fQKHHJuUaCMuDJl7ntQzhG6h/yH7YPNU=";
|
hash_deb_amd64 = "sha256-tNkO1mPZg1xltBfoWeNhLekITtZV/WNgu//i2DJb17c=";
|
||||||
version = "123.0.6312.105";
|
version = "123.0.6312.122";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ let
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
# speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
|
# speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
|
||||||
substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
|
substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
|
||||||
--replace "/bin/stty" "${coreutils}/bin/stty"
|
--replace-fail "/bin/stty" "${coreutils}/bin/stty"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
let
|
let
|
||||||
versions =
|
versions =
|
||||||
if stdenv.isLinux then {
|
if stdenv.isLinux then {
|
||||||
stable = "0.0.47";
|
stable = "0.0.49";
|
||||||
ptb = "0.0.76";
|
ptb = "0.0.78";
|
||||||
canary = "0.0.326";
|
canary = "0.0.346";
|
||||||
development = "0.0.16";
|
development = "0.0.17";
|
||||||
} else {
|
} else {
|
||||||
stable = "0.0.298";
|
stable = "0.0.300";
|
||||||
ptb = "0.0.105";
|
ptb = "0.0.107";
|
||||||
canary = "0.0.451";
|
canary = "0.0.468";
|
||||||
development = "0.0.39";
|
development = "0.0.39";
|
||||||
};
|
};
|
||||||
version = versions.${branch};
|
version = versions.${branch};
|
||||||
|
@ -17,33 +17,33 @@ let
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
stable = fetchurl {
|
stable = fetchurl {
|
||||||
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||||
hash = "sha256-4cELs7K7DAfzbA0/BwAkKraTD7z58jzOf1J3Our3CwM=";
|
hash = "sha256-rVSYAkTZTlurnbUeYJFCgsPcsCqjJ1bJneQQiyhmvwQ=";
|
||||||
};
|
};
|
||||||
ptb = fetchurl {
|
ptb = fetchurl {
|
||||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||||
hash = "sha256-Gj6OLzkHrEQ2CeEQpICaAh1m13DpM2cpNVsebBJ0MVc=";
|
hash = "sha256-Fp94BsR6Fzy4tV+c5ToP9GKg6GC/TryGvHWLupew4Z8=";
|
||||||
};
|
};
|
||||||
canary = fetchurl {
|
canary = fetchurl {
|
||||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||||
hash = "sha256-MxiFhd7tLvL1tBRc451qjCFZlmGM8IolckExp0sR3y8=";
|
hash = "sha256-/FBVo3ptZk2YQPoq+VpyxMlSWYlVb8ChpKW5YH/BM7U=";
|
||||||
};
|
};
|
||||||
development = fetchurl {
|
development = fetchurl {
|
||||||
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||||
hash = "sha256-6QImWsNmL2JveB2QJ1MyBxkVEQfdPvKEdenRPjURptI=";
|
hash = "sha256-AmbaMVi/or+9QLuQO5u5btgKeKdrfo7bzZgGLILwgqo=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
stable = fetchurl {
|
stable = fetchurl {
|
||||||
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
|
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||||
hash = "sha256-GlTebQ16sRgHdpB9+Jw7dn+KVZ6qIrAmWBSypTcoFmE=";
|
hash = "sha256-f9YIlzRESzzxtD9/us1DY5acu2HYo+UrwS7GWk9RwCk=";
|
||||||
};
|
};
|
||||||
ptb = fetchurl {
|
ptb = fetchurl {
|
||||||
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||||
hash = "sha256-X5bYO1D5eWTYh22v4R274OhjTsVv70XCyrMqeRlt0Bo=";
|
hash = "sha256-etxXrO9Ksacbdes3DT1Tm4kKD/t40jGUeSAegdexRqc=";
|
||||||
};
|
};
|
||||||
canary = fetchurl {
|
canary = fetchurl {
|
||||||
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||||
hash = "sha256-psVm0eXDHVBGNb/R0kHbvz/4ilyIg4xlOj/CwkwlvgM=";
|
hash = "sha256-UOoXDwAa5pFukqTCmUfM89QVK5jB13id8ek/gwWajMM=";
|
||||||
};
|
};
|
||||||
development = fetchurl {
|
development = fetchurl {
|
||||||
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit pname version src gitSrc;
|
inherit pname version src gitSrc;
|
||||||
|
|
||||||
|
separateDebugInfo = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config asciidoc
|
pkg-config asciidoc
|
||||||
] ++ (with python3Packages; [ python wrapPython ]);
|
] ++ (with python3Packages; [ python wrapPython ]);
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "git-repo";
|
pname = "git-repo";
|
||||||
version = "2.39";
|
version = "2.45";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "android";
|
owner = "android";
|
||||||
repo = "tools_repo";
|
repo = "tools_repo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Qw0x/YiXMDrlTy6boembfqVRvEYiMWOALJtaMrr7/WI=";
|
hash = "sha256-f765TcOHL8wdPa9qSmGegofjCXx1tF/K5bRQnYQcYVc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Fix 'NameError: name 'ssl' is not defined'
|
# Fix 'NameError: name 'ssl' is not defined'
|
||||||
|
|
|
@ -18,11 +18,13 @@ diff --git a/repo b/repo
|
||||||
index 8b05def..f394b3e 100755
|
index 8b05def..f394b3e 100755
|
||||||
--- a/repo
|
--- a/repo
|
||||||
+++ b/repo
|
+++ b/repo
|
||||||
@@ -236,6 +236,7 @@ import optparse
|
@@ -236,8 +236,9 @@ import optparse
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import stat
|
import stat
|
||||||
+import ssl
|
+import ssl
|
||||||
|
import urllib.error
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
if sys.version_info[0] == 3:
|
if sys.version_info[0] == 3:
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
|
26
pkgs/by-name/as/asahi-bless/package.nix
Normal file
26
pkgs/by-name/as/asahi-bless/package.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib
|
||||||
|
, fetchCrate
|
||||||
|
, rustPlatform
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "asahi-bless";
|
||||||
|
version = "0.3.0";
|
||||||
|
|
||||||
|
src = fetchCrate {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-pgl424SqeHODsjGwNRJtVHT6sKRlYxlXl3esEKK02jc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-ilblP8nqb/eY0+9Iua298M7NQKv+IwtdliGd9ZYAVaM=";
|
||||||
|
cargoDepsName = pname;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to select active boot partition on ARM Macs";
|
||||||
|
homepage = "https://crates.io/crates/asahi-bless";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ lukaslihotzki ];
|
||||||
|
mainProgram = "asahi-bless";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/by-name/as/asahi-btsync/package.nix
Normal file
26
pkgs/by-name/as/asahi-btsync/package.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib
|
||||||
|
, fetchCrate
|
||||||
|
, rustPlatform
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "asahi-btsync";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchCrate {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-jp05WcwY1cWh4mBQj+3jRCZoG32OhDvTB84hOAGemX8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-XsgWqdwb0DDsK6HkaoVGQB/mm1U1TVzJM5q/gt9GryA=";
|
||||||
|
cargoDepsName = pname;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to sync Bluetooth pairing keys with macos on ARM Macs";
|
||||||
|
homepage = "https://crates.io/crates/asahi-btsync";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ lukaslihotzki ];
|
||||||
|
mainProgram = "asahi-btsync";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/by-name/as/asahi-nvram/package.nix
Normal file
26
pkgs/by-name/as/asahi-nvram/package.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib
|
||||||
|
, fetchCrate
|
||||||
|
, rustPlatform
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "asahi-nvram";
|
||||||
|
version = "0.2.1";
|
||||||
|
|
||||||
|
src = fetchCrate {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-bFUFjHVTYj0eUmhijraOdeCvAt2UGX8+yyvooYN1Uo0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-WhySIQew8xxdwXLWkpvTYQZFiqCEPjEAjr7NVxfjDkU=";
|
||||||
|
cargoDepsName = pname;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to read and write nvram variables on ARM Macs";
|
||||||
|
homepage = "https://crates.io/crates/asahi-nvram";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ lukaslihotzki ];
|
||||||
|
mainProgram = "asahi-nvram";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/by-name/as/asahi-wifisync/package.nix
Normal file
26
pkgs/by-name/as/asahi-wifisync/package.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib
|
||||||
|
, fetchCrate
|
||||||
|
, rustPlatform
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "asahi-wifisync";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchCrate {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-wKd6rUUnegvl6cHODVQlllaOXuAGlmwx9gr73I/2l/c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-UF1T0uAFO/ydTWigYXOP9Ju1qgV1oBmJuXSq4faSzJM=";
|
||||||
|
cargoDepsName = pname;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to sync Wifi passwords with macos on ARM Macs";
|
||||||
|
homepage = "https://crates.io/crates/asahi-wifisync";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ lukaslihotzki ];
|
||||||
|
mainProgram = "asahi-wifisync";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,19 +1,20 @@
|
||||||
{ lib
|
{ lib
|
||||||
, nix-update-script
|
, nix-update-script
|
||||||
, python3
|
, python3
|
||||||
|
, oelint-adv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "bitbake-language-server";
|
pname = "bitbake-language-server";
|
||||||
version = "0.0.8";
|
version = "0.0.14";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Freed-Wu";
|
owner = "Freed-Wu";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-WJpa2LP95vrJG/OjiLSx8zEPO5ZOw66M5s3r2dufQJA=";
|
hash = "sha256-aGj9lW420A+iTQWSCdIITAJj3p89VUkPvdhQ/0M6uXo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [
|
nativeBuildInputs = with python3.pkgs; [
|
||||||
|
@ -22,18 +23,17 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
oelint-parser
|
|
||||||
pygls
|
pygls
|
||||||
];
|
] ++ [ oelint-adv ];
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script { };
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Language server for bitbake";
|
description = "Language server for bitbake";
|
||||||
mainProgram = "bitbake-language-server";
|
mainProgram = "bitbake-language-server";
|
||||||
homepage = "https://github.com/Freed-Wu/bitbake-language-server";
|
homepage = "https://github.com/Freed-Wu/bitbake-language-server";
|
||||||
changelog = "https://github.com/Freed-Wu/bitbake-language-server/releases/tag/v${version}";
|
changelog = "https://github.com/Freed-Wu/bitbake-language-server/releases/tag/${version}";
|
||||||
license = licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = with maintainers; [ otavio ];
|
maintainers = [ lib.maintainers.otavio ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
91
pkgs/by-name/de/deltatouch/package.nix
Normal file
91
pkgs/by-name/de/deltatouch/package.nix
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitea
|
||||||
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
, intltool
|
||||||
|
, libdeltachat
|
||||||
|
, lomiri
|
||||||
|
, qt5
|
||||||
|
, quirc
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "deltatouch";
|
||||||
|
version = "1.4.0";
|
||||||
|
|
||||||
|
src = fetchFromGitea {
|
||||||
|
domain = "codeberg.org";
|
||||||
|
owner = "lk108";
|
||||||
|
repo = "deltatouch";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-tqcQmFmF8Z9smVMfaXOmXQ3Uw41bUcU4iUi8fxBlg8U=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "0001-deltatouch-Fix-localisation.patch";
|
||||||
|
url = "https://codeberg.org/lk108/deltatouch/commit/dcfdd8a0fca5fff10d0383f77f4c0cbea302de00.patch";
|
||||||
|
hash = "sha256-RRjHG/xKtj757ZP2SY0GtWwh66kkTWoICV1vDkFAw3k=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
qt5.wrapQtAppsHook
|
||||||
|
intltool
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
qt5.qtbase
|
||||||
|
qt5.qtwebengine
|
||||||
|
qt5.qtquickcontrols2
|
||||||
|
lomiri.lomiri-ui-toolkit
|
||||||
|
lomiri.lomiri-ui-extras
|
||||||
|
lomiri.lomiri-api
|
||||||
|
lomiri.lomiri-indicator-network # Lomiri.Connectivity module
|
||||||
|
lomiri.qqc2-suru-style
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# Fix all sorts of install locations
|
||||||
|
substituteInPlace CMakeLists.txt \
|
||||||
|
--replace-fail 'set(DATA_DIR /)' 'set(DATA_DIR ''${CMAKE_INSTALL_DATAROOTDIR})' \
|
||||||
|
--replace-fail 'RUNTIME DESTINATION ''${CMAKE_INSTALL_PREFIX}' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' \
|
||||||
|
--replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \
|
||||||
|
--replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
||||||
|
|
||||||
|
substituteInPlace plugins/DeltaHandler/CMakeLists.txt plugins/DTWebEngineProfile/CMakeLists.txt \
|
||||||
|
--replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
|
||||||
|
|
||||||
|
# Fix import of library dependencies
|
||||||
|
substituteInPlace plugins/DeltaHandler/CMakeLists.txt \
|
||||||
|
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"' \
|
||||||
|
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"'
|
||||||
|
|
||||||
|
# Fix icon reference in desktop file
|
||||||
|
substituteInPlace deltatouch.desktop.in \
|
||||||
|
--replace-fail 'Icon=assets/logo.svg' 'Icon=deltatouch'
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Remove clickable metadata & helpers from out
|
||||||
|
rm $out/{manifest.json,share/push*}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
changelog = "https://codeberg.org/lk108/deltatouch/src/commit/${finalAttrs.src.rev}/CHANGELOG";
|
||||||
|
description = "Messaging app for Ubuntu Touch, powered by Delta Chat core";
|
||||||
|
longDescription = ''
|
||||||
|
DeltaTouch is a messenger for Ubuntu Touch based on Delta Chat core.
|
||||||
|
Delta Chat works over email.
|
||||||
|
'';
|
||||||
|
homepage = "https://codeberg.org/lk108/deltatouch";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ link2xt ];
|
||||||
|
mainProgram = "deltatouch";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
|
@ -1,26 +1,25 @@
|
||||||
{ lib
|
{
|
||||||
, elasticsearch-curator
|
lib,
|
||||||
, fetchFromGitHub
|
elasticsearch-curator,
|
||||||
, nix-update-script
|
fetchFromGitHub,
|
||||||
, python3
|
nix-update-script,
|
||||||
, testers
|
python3,
|
||||||
|
testers,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "elasticsearch-curator";
|
pname = "elasticsearch-curator";
|
||||||
version = "8.0.12";
|
version = "8.0.15";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elastic";
|
owner = "elastic";
|
||||||
repo = "curator";
|
repo = "curator";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-CU/8l5607eKodcdpMKu0Wdlg+K6YnFX6uoDju12NDR0=";
|
hash = "sha256-pW928jT9oL76RJuJgH7nhCvgWPzXixzqBKVYsaJy9xw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = with python3.pkgs; [
|
build-system = with python3.pkgs; [ hatchling ];
|
||||||
hatchling
|
|
||||||
];
|
|
||||||
|
|
||||||
dependencies = with python3.pkgs; [
|
dependencies = with python3.pkgs; [
|
||||||
certifi
|
certifi
|
||||||
|
|
|
@ -11,18 +11,18 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mermaid-cli";
|
pname = "mermaid-cli";
|
||||||
version = "10.4.0";
|
version = "10.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mermaid-js";
|
owner = "mermaid-js";
|
||||||
repo = "mermaid-cli";
|
repo = "mermaid-cli";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-mzBN/Hg/03+jYyoAHvjx33HC46ZA6dtHmiSnaExCRR0=";
|
hash = "sha256-nCLLv8QXx9N4WiUFw3WB+Rpfd4H4oCFa1ac01al+ovY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = "${src}/yarn.lock";
|
yarnLock = "${src}/yarn.lock";
|
||||||
hash = "sha256-RQsRGzkuPgGVuEpF5lzv26XKMPLX2NrsjVkGMMkCbO4=";
|
hash = "sha256-thZxaa7S3vlS1Ws+G5dklun+ISCV908p1Ov7qb8fP3c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,20 +1,51 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, fetchpatch
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, dash
|
||||||
, php
|
, php
|
||||||
, phpCfg ? null
|
, phpCfg ? null
|
||||||
, withPgsql ? true # “strongly recommended” according to docs
|
, withPgsql ? true # “strongly recommended” according to docs
|
||||||
, withMysql ? false
|
, withMysql ? false
|
||||||
|
, minifyStaticFiles ? false # default files are often not minified
|
||||||
|
, parallel
|
||||||
|
, esbuild
|
||||||
|
, lightningcss
|
||||||
|
, scour
|
||||||
|
, nixosTests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
defaultMinifyOpts = {
|
||||||
|
script = {
|
||||||
|
enable = false;
|
||||||
|
target = "es2021";
|
||||||
|
};
|
||||||
|
style = {
|
||||||
|
enable = false;
|
||||||
|
browserslist = "defaults, Firefox ESR, last 20 Firefox major versions, last 20 Chrome major versions, last 3 Safari major versions, last 1 KaiOS version, and supports css-variables";
|
||||||
|
};
|
||||||
|
svg = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
minify = lib.recursiveUpdate defaultMinifyOpts
|
||||||
|
(if lib.isBool minifyStaticFiles && minifyStaticFiles then
|
||||||
|
{ script.enable = true; style.enable = true; svg.enable = true; }
|
||||||
|
else if lib.isAttrs minifyStaticFiles then
|
||||||
|
lib.filterAttrsRecursive (_: v: v != null) minifyStaticFiles
|
||||||
|
else
|
||||||
|
{ });
|
||||||
|
in
|
||||||
php.buildComposerProject (finalAttrs: {
|
php.buildComposerProject (finalAttrs: {
|
||||||
pname = "movim";
|
pname = "movim";
|
||||||
version = "0.23";
|
version = "0.23.0.20240328";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "movim";
|
owner = "movim";
|
||||||
repo = "movim";
|
repo = "movim";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "c3a43cd7e3a1a3a6efd595470e6a85b2ec578cba";
|
||||||
hash = "sha256-9MBe2IRYxvUuCc5m7ajvIlBU7YVm4A3RABlOOIjpKoM=";
|
hash = "sha256-x0C4w3SRP3NMOhGSZOQALk6PNWUre4MvFW5cESr8Wvk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
php = php.buildEnv ({
|
php = php.buildEnv ({
|
||||||
|
@ -28,16 +59,98 @@ php.buildComposerProject (finalAttrs: {
|
||||||
extraConfig = phpCfg;
|
extraConfig = phpCfg;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
lib.optional (lib.any (x: x.enable) (lib.attrValues minify)) parallel
|
||||||
|
++ lib.optional minify.script.enable esbuild
|
||||||
|
++ lib.optional minify.style.enable lightningcss
|
||||||
|
++ lib.optional minify.svg.enable scour;
|
||||||
|
|
||||||
# no listed license
|
# no listed license
|
||||||
# pinned commonmark
|
# pinned commonmark
|
||||||
composerStrictValidation = false;
|
composerStrictValidation = false;
|
||||||
|
|
||||||
vendorHash = "sha256-PBoJbVuF0Qy7nNlL4yx446ivlZpPYNIai78yC0wWkCM=";
|
vendorHash = "sha256-RFIi1I+gcagRgkDpgQeR1oGJeBGA7z9q3DCfW+ZDr2Y=";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# Our modules are already wrapped, removes missing *.so warnings;
|
||||||
|
# replacing `$configuration` with actually-used flags.
|
||||||
|
substituteInPlace src/Movim/Daemon/Session.php \
|
||||||
|
--replace-fail "exec php ' . \$configuration " "exec php -dopcache.enable=1 -dopcache.enable_cli=1 ' "
|
||||||
|
|
||||||
|
# Point to PHP + PHP INI in the Nix store
|
||||||
|
substituteInPlace src/Movim/{Console/DaemonCommand.php,Daemon/Session.php} \
|
||||||
|
--replace-fail "exec php " "exec ${lib.getExe finalAttrs.php} "
|
||||||
|
substituteInPlace src/Movim/Console/DaemonCommand.php \
|
||||||
|
--replace-fail "<info>php vendor/bin/phinx migrate</info>" \
|
||||||
|
"<info>${lib.getBin finalAttrs.php} vendor/bin/phinx migrate</info>" \
|
||||||
|
--replace-fail "<info>php daemon.php setAdmin {jid}</info>" \
|
||||||
|
"<info>${finalAttrs.meta.mainProgram} setAdmin {jid}</info>"
|
||||||
|
|
||||||
|
# BUGFIX: Imagick API Changes for 7.x+
|
||||||
|
# See additionally: https://github.com/movim/movim/pull/1122
|
||||||
|
substituteInPlace src/Movim/Image.php \
|
||||||
|
--replace-fail "Imagick::ALPHACHANNEL_REMOVE" "Imagick::ALPHACHANNEL_OFF" \
|
||||||
|
--replace-fail "Imagick::ALPHACHANNEL_ACTIVATE" "Imagick::ALPHACHANNEL_ON"
|
||||||
|
'';
|
||||||
|
|
||||||
|
preBuild = lib.optionalString minify.script.enable ''
|
||||||
|
find ./public -type f -iname "*.js" \
|
||||||
|
| parallel ${lib.escapeShellArgs [
|
||||||
|
"--will-cite"
|
||||||
|
"-j $NIX_BUILD_CORES"
|
||||||
|
''
|
||||||
|
tmp="$(mktemp)"
|
||||||
|
esbuild {} --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp
|
||||||
|
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
|
||||||
|
''
|
||||||
|
]}
|
||||||
|
'' + lib.optionalString minify.style.enable ''
|
||||||
|
export BROWSERLIST=${lib.escapeShellArg minify.style.browserslist}
|
||||||
|
find ./public -type f -iname "*.css" \
|
||||||
|
| parallel ${lib.escapeShellArgs [
|
||||||
|
"--will-cite"
|
||||||
|
"-j $NIX_BUILD_CORES"
|
||||||
|
''
|
||||||
|
tmp="$(mktemp)"
|
||||||
|
lightningcss {} --minify --browserslist --output-file=$tmp
|
||||||
|
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
|
||||||
|
''
|
||||||
|
]}
|
||||||
|
'' + lib.optionalString minify.svg.enable ''
|
||||||
|
find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" \
|
||||||
|
| parallel ${lib.escapeShellArgs [
|
||||||
|
"--will-cite"
|
||||||
|
"-j $NIX_BUILD_CORES"
|
||||||
|
''
|
||||||
|
tmp="$(mktemp)"
|
||||||
|
scour -i {} -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab
|
||||||
|
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
|
||||||
|
''
|
||||||
|
]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
echo "#!${lib.getExe dash}" > $out/bin/movim
|
||||||
|
echo "${lib.getExe finalAttrs.php} $out/share/php/${finalAttrs.pname}/daemon.php \"\$@\"" >> $out/bin/movim
|
||||||
|
chmod +x $out/bin/movim
|
||||||
|
|
||||||
|
mkdir -p $out/share/{bash-completion/completion,fish/vendor_completions.d,zsh/site-functions}
|
||||||
|
$out/bin/movim completion bash | sed "s/daemon.php/movim/g" > $out/share/bash-completion/completion/movim.bash
|
||||||
|
$out/bin/movim completion fish | sed "s/daemon.php/movim/g" > $out/share/fish/vendor_completions.d/movim.fish
|
||||||
|
$out/bin/movim completion zsh | sed "s/daemon.php/movim/g" > $out/share/zsh/site-functions/_movim
|
||||||
|
chmod +x $out/share/{bash-completion/completion/movim.bash,fish/vendor_completions.d/movim.fish,zsh/site-functions/_movim}
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
tests = { inherit (nixosTests) movim; };
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "a federated blogging & chat platform that acts as a web front end for the XMPP protocol";
|
description = "a federated blogging & chat platform that acts as a web front end for the XMPP protocol";
|
||||||
homepage = "https://movim.eu";
|
homepage = "https://movim.eu";
|
||||||
license = lib.licenses.agpl3Plus;
|
license = lib.licenses.agpl3Plus;
|
||||||
maintainers = with lib.maintainers; [ toastal ];
|
maintainers = with lib.maintainers; [ toastal ];
|
||||||
|
mainProgram = "movim";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -6,17 +6,18 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "oelint-adv";
|
pname = "oelint-adv";
|
||||||
version = "4.4.5";
|
version = "5.1.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "oelint_adv";
|
pname = "oelint_adv";
|
||||||
hash = "sha256-NRTfWHtItwjZi3O26MzH8GtetCkj7egZa3OArs+Q2SY=";
|
hash = "sha256-7lrjytvcOnZZ8ezhWKng7OahqwsW95VkDt8B6NMriR0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
anytree
|
anytree
|
||||||
|
argcomplete
|
||||||
colorama
|
colorama
|
||||||
oelint-parser
|
oelint-parser
|
||||||
urllib3
|
urllib3
|
||||||
|
|
|
@ -10,19 +10,20 @@
|
||||||
, bzip2
|
, bzip2
|
||||||
, libusb1
|
, libusb1
|
||||||
, openssl
|
, openssl
|
||||||
|
, tinyxml-2
|
||||||
, zlib
|
, zlib
|
||||||
, zstd
|
, zstd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "uuu";
|
pname = "uuu";
|
||||||
version = "1.5.141";
|
version = "1.5.179";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nxp-imx";
|
owner = "nxp-imx";
|
||||||
repo = "mfgtools";
|
repo = "mfgtools";
|
||||||
rev = "uuu_${finalAttrs.version}";
|
rev = "uuu_${finalAttrs.version}";
|
||||||
hash = "sha256-N5L6k2oVXfnER7JRoX0JtzgEhb/vFMexu7hUKQhmcoE=";
|
hash = "sha256-W0jFwivjD19SQmXz2G7cIvWh1zkyN4AXh3bfqF302MA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {
|
passthru.updateScript = nix-update-script {
|
||||||
|
@ -39,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
bzip2
|
bzip2
|
||||||
libusb1
|
libusb1
|
||||||
openssl
|
openssl
|
||||||
|
tinyxml-2
|
||||||
zlib
|
zlib
|
||||||
zstd
|
zstd
|
||||||
];
|
];
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "yaru";
|
pname = "yaru";
|
||||||
version = "24.04.0";
|
version = "23.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ubuntu";
|
owner = "ubuntu";
|
||||||
repo = "yaru";
|
repo = "yaru";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-KvpA86YL6toVklRPu4hP3j3w+Q0h/n6mZRZgk3HvMfc=";
|
hash = "sha256-+Szk77QeoM4PwusxKflTh83h16qz6Es6UwDXpbydJUE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
|
nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
|
||||||
|
|
|
@ -1,39 +1,33 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3
|
{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3
|
||||||
, libxfce4ui, libxfce4util, xfconf, xfce4-dev-tools, xfce4-panel
|
, libxfce4ui, libxfce4util, xfce4-dev-tools, xfce4-panel
|
||||||
, i3ipc-glib
|
, i3ipc-glib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xfce4-i3-workspaces-plugin";
|
pname = "xfce4-i3-workspaces-plugin";
|
||||||
version = "1.4.1";
|
version = "1.4.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "denesb";
|
owner = "denesb";
|
||||||
repo = "xfce4-i3-workspaces-plugin";
|
repo = "xfce4-i3-workspaces-plugin";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Ss3uUmNvBqiu7hUaSy98+YYrWs64LFGbV4DMAV+xkvA=";
|
sha256 = "sha256-CKpofupoJhe5IORJgij6gOGotB+dGkUDtTUdon8/JdE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
intltool
|
intltool
|
||||||
|
xfce4-dev-tools
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk3
|
gtk3
|
||||||
xfconf
|
|
||||||
libxfce4ui
|
libxfce4ui
|
||||||
libxfce4util
|
libxfce4util
|
||||||
xfce4-dev-tools
|
|
||||||
xfce4-panel
|
xfce4-panel
|
||||||
i3ipc-glib
|
i3ipc-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
./autogen.sh
|
|
||||||
patchShebangs .
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf
|
{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf
|
||||||
, libftdi1, readline
|
, libftdi1, readline, libserialport
|
||||||
# documentation building is broken on darwin
|
# documentation building is broken on darwin
|
||||||
, docSupport ? (!stdenv.isDarwin), texliveMedium, texinfo, texi2html, unixtools }:
|
, docSupport ? (!stdenv.isDarwin), texliveMedium, texinfo, texi2html, unixtools }:
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
texi2html
|
texi2html
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ libusb-compat-0_1 libelf libftdi1 readline ];
|
buildInputs = [ libusb-compat-0_1 libelf libftdi1 libserialport readline ];
|
||||||
|
|
||||||
cmakeFlags = lib.optionals docSupport [
|
cmakeFlags = lib.optionals docSupport [
|
||||||
"-DBUILD_DOC=ON"
|
"-DBUILD_DOC=ON"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, buildPackages
|
||||||
, runCommand
|
, runCommand
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, perl
|
, perl
|
||||||
|
@ -113,8 +114,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
gi-docgen
|
gi-docgen
|
||||||
glib # for gdbus-codegen
|
glib # for gdbus-codegen
|
||||||
unifdef
|
unifdef
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
|
||||||
wayland # for wayland-scanner
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -190,6 +189,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353
|
# https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353
|
||||||
"-DBWRAP_EXECUTABLE=${lib.getExe bubblewrap}"
|
"-DBWRAP_EXECUTABLE=${lib.getExe bubblewrap}"
|
||||||
"-DDBUS_PROXY_EXECUTABLE=${lib.getExe xdg-dbus-proxy}"
|
"-DDBUS_PROXY_EXECUTABLE=${lib.getExe xdg-dbus-proxy}"
|
||||||
|
"-DWAYLAND_SCANNER=${buildPackages.wayland-scanner}/bin/wayland-scanner"
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
"-DENABLE_GAMEPAD=OFF"
|
"-DENABLE_GAMEPAD=OFF"
|
||||||
"-DENABLE_GTKDOC=OFF"
|
"-DENABLE_GTKDOC=OFF"
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "azure-eventhub";
|
pname = "azure-eventhub";
|
||||||
version = "5.11.6";
|
version = "5.11.7";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-89Q1o/cnR64i4Jblypx2w1BTTyrZk5l9EvTO+ZMq58E=";
|
hash = "sha256-C0Ywon7jrAxEjD8jdSHV3K71qKGnJBQjUGwEY3oKRLA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "dirigera";
|
pname = "dirigera";
|
||||||
version = "1.1.0";
|
version = "1.1.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "Leggin";
|
owner = "Leggin";
|
||||||
repo = "dirigera";
|
repo = "dirigera";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-UhHW7lwTvXncP3TVbIhtLl7sB0H2eOLOqrswRZk5xzs=";
|
hash = "sha256-k5xChz3qfClWU131WH0CqaY8qrJXh85NQ0y1iPfnX5Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
|
|
@ -1,37 +1,39 @@
|
||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, aiohttp
|
stdenv,
|
||||||
, blinker
|
aiohttp,
|
||||||
, buildPythonPackage
|
blinker,
|
||||||
, certifi
|
buildPythonPackage,
|
||||||
, ecs-logging
|
certifi,
|
||||||
, fetchFromGitHub
|
ecs-logging,
|
||||||
, httpx
|
fetchFromGitHub,
|
||||||
, jinja2
|
httpx,
|
||||||
, jsonschema
|
jinja2,
|
||||||
, logbook
|
jsonschema,
|
||||||
, mock
|
logbook,
|
||||||
, pytest-asyncio
|
mock,
|
||||||
, pytest-bdd
|
pytest-asyncio,
|
||||||
, pytest-localserver
|
pytest-bdd,
|
||||||
, pytest-mock
|
pytest-localserver,
|
||||||
, pytest-random-order
|
pytest-mock,
|
||||||
, pytestCheckHook
|
pytest-random-order,
|
||||||
, pythonOlder
|
pytestCheckHook,
|
||||||
, sanic
|
pythonOlder,
|
||||||
, sanic-testing
|
pythonRelaxDepsHook,
|
||||||
, setuptools
|
sanic,
|
||||||
, starlette
|
sanic-testing,
|
||||||
, structlog
|
setuptools,
|
||||||
, tornado
|
starlette,
|
||||||
, urllib3
|
structlog,
|
||||||
, webob
|
tornado,
|
||||||
, wrapt
|
urllib3,
|
||||||
|
webob,
|
||||||
|
wrapt,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "elastic-apm";
|
pname = "elastic-apm";
|
||||||
version = "6.21.3";
|
version = "6.22.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -40,14 +42,16 @@ buildPythonPackage rec {
|
||||||
owner = "elastic";
|
owner = "elastic";
|
||||||
repo = "apm-agent-python";
|
repo = "apm-agent-python";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-Ejix31cMyHOc/IGe4bRp/Nchm9Ps1cRYE8jIaIYlJjs=";
|
hash = "sha256-VuVx+QUiV4M/ebyv2uF/YZwfvcaPDJAEi55fXfoIttU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
pythonRelaxDeps = [ "wrapt" ];
|
||||||
setuptools
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
build-system = [ setuptools ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
aiohttp
|
aiohttp
|
||||||
blinker
|
blinker
|
||||||
certifi
|
certifi
|
||||||
|
@ -76,21 +80,19 @@ buildPythonPackage rec {
|
||||||
webob
|
webob
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [ "elasticapm_client" ];
|
||||||
"elasticapm_client"
|
|
||||||
];
|
|
||||||
|
|
||||||
disabledTestPaths = [
|
disabledTestPaths =
|
||||||
# Exclude tornado tests
|
[
|
||||||
"tests/contrib/asyncio/tornado/tornado_tests.py"
|
# Exclude tornado tests
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
"tests/contrib/asyncio/tornado/tornado_tests.py"
|
||||||
# Flaky tests on Darwin
|
]
|
||||||
"tests/utils/threading_tests.py"
|
++ lib.optionals stdenv.isDarwin [
|
||||||
];
|
# Flaky tests on Darwin
|
||||||
|
"tests/utils/threading_tests.py"
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [ "elasticapm" ];
|
||||||
"elasticapm"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python agent for the Elastic APM";
|
description = "Python agent for the Elastic APM";
|
||||||
|
|
|
@ -1,26 +1,27 @@
|
||||||
{ lib
|
{
|
||||||
, buildPythonPackage
|
lib,
|
||||||
, certifi
|
buildPythonPackage,
|
||||||
, click
|
certifi,
|
||||||
, ecs-logging
|
click,
|
||||||
, elastic-transport
|
ecs-logging,
|
||||||
, elasticsearch8
|
elastic-transport,
|
||||||
, fetchFromGitHub
|
elasticsearch8,
|
||||||
, hatchling
|
fetchFromGitHub,
|
||||||
, mock
|
hatchling,
|
||||||
, pytest-asyncio
|
mock,
|
||||||
, pytestCheckHook
|
pytest-asyncio,
|
||||||
, pythonOlder
|
pytestCheckHook,
|
||||||
, pythonRelaxDepsHook
|
pythonOlder,
|
||||||
, pyyaml
|
pythonRelaxDepsHook,
|
||||||
, requests
|
pyyaml,
|
||||||
, six
|
requests,
|
||||||
, voluptuous
|
six,
|
||||||
|
voluptuous,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "es-client";
|
pname = "es-client";
|
||||||
version = "8.12.8";
|
version = "8.13.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -29,17 +30,16 @@ buildPythonPackage rec {
|
||||||
owner = "untergeek";
|
owner = "untergeek";
|
||||||
repo = "es_client";
|
repo = "es_client";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-qv06zb3hIK/TeOZwtMXrV+n8mYSA/UKiyHvRyKEvZkQ=";
|
hash = "sha256-4v9SRWVG9p4kCob4C3by2JxNqX6L3yMHpbnMYEAM7A0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = true;
|
pythonRelaxDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [ hatchling ];
|
||||||
hatchling
|
|
||||||
pythonRelaxDepsHook
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
certifi
|
certifi
|
||||||
click
|
click
|
||||||
ecs-logging
|
ecs-logging
|
||||||
|
@ -57,9 +57,7 @@ buildPythonPackage rec {
|
||||||
requests
|
requests
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [ "es_client" ];
|
||||||
"es_client"
|
|
||||||
];
|
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# Tests require network access
|
# Tests require network access
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "fyta-cli";
|
pname = "fyta-cli";
|
||||||
version = "0.3.5";
|
version = "0.4.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||||
owner = "dontinelli";
|
owner = "dontinelli";
|
||||||
repo = "fyta_cli";
|
repo = "fyta_cli";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-mC/6qL6mPyk32Yo+m+Jlp6C86T6oTHNwH7lmmB2YeYE=";
|
hash = "sha256-ThxC+s0vkvFQw9FKMWO+cHJB1ci+USdxQa4PRqHrKLM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ hatchling ];
|
build-system = [ hatchling ];
|
||||||
|
|
|
@ -1,30 +1,38 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
, setuptools
|
||||||
, setuptools-scm
|
, setuptools-scm
|
||||||
, pycryptodome
|
, pycryptodome
|
||||||
, requests
|
, requests
|
||||||
, six
|
, six
|
||||||
|
, pytestCheckHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "httpsig";
|
pname = "httpsig";
|
||||||
version = "1.3.0";
|
version = "1.3.0";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1rkc3zwsq53rjsmc47335m4viljiwdbmw3y2zry4z70j8q1dbmki";
|
hash = "sha256-cdbVAkYSnE98/sIPXlfjUdK4SS1jHMKqlnkUrPkfbOY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
build-system = [
|
||||||
|
setuptools
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
pycryptodome
|
pycryptodome
|
||||||
requests
|
requests
|
||||||
six
|
six
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "httpsig" ];
|
pythonImportsCheck = [ "httpsig" ];
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ping3";
|
pname = "ping3";
|
||||||
version = "4.0.7";
|
version = "4.0.8";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-uO2ObCZvizdGSrobagC6GDh116z5q5yIH9P8PcvpCi8=";
|
hash = "sha256-mrRg61fwBrcfl3ppPRVyFaq9a7y8bNZCi2lR6q4MKHU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
|
|
@ -1,71 +1,56 @@
|
||||||
{ lib
|
{
|
||||||
, buildPythonPackage
|
lib,
|
||||||
, fetchFromGitHub
|
buildPythonPackage,
|
||||||
, fetchpatch
|
fetchFromGitHub,
|
||||||
, mako
|
mako,
|
||||||
, parse
|
parse,
|
||||||
, parse-type
|
parse-type,
|
||||||
, poetry-core
|
poetry-core,
|
||||||
, pytest
|
pytest,
|
||||||
, pytestCheckHook
|
pytestCheckHook,
|
||||||
, pythonOlder
|
pythonOlder,
|
||||||
, typing-extensions
|
typing-extensions,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest-bdd";
|
pname = "pytest-bdd";
|
||||||
version = "6.1.1";
|
version = "7.1.2";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pytest-dev";
|
owner = "pytest-dev";
|
||||||
repo = pname;
|
repo = "pytest-bdd";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-+76jIgfDQPdIoesTr1+QUu8wmOnrdf4KT+TJr9F2Hqk=";
|
hash = "sha256-PC4VSsUU5qEFp/C/7OTgHINo8wmOo0w2d1Hpe0EnFzE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
build-system = [ poetry-core ];
|
||||||
(fetchpatch {
|
|
||||||
name = "remove-setuptools.patch";
|
|
||||||
url = "https://github.com/pytest-dev/pytest-bdd/commit/5d8eda3a30b47d3bd27849884a851adafca765cb.patch";
|
|
||||||
hash = "sha256-G2WHaRKlQ9HINufh8wl7+ly7HfDGobMLzzlbwDwd+o8=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
buildInputs = [ pytest ];
|
||||||
poetry-core
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
dependencies = [
|
||||||
pytest
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
mako
|
mako
|
||||||
parse
|
parse
|
||||||
parse-type
|
parse-type
|
||||||
typing-extensions
|
typing-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [ pytestCheckHook ];
|
||||||
pytestCheckHook
|
|
||||||
];
|
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export PATH=$PATH:$out/bin
|
export PATH=$PATH:$out/bin
|
||||||
'';
|
'';
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [ "pytest_bdd" ];
|
||||||
"pytest_bdd"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "BDD library for the pytest";
|
description = "BDD library for the pytest";
|
||||||
mainProgram = "pytest-bdd";
|
|
||||||
homepage = "https://github.com/pytest-dev/pytest-bdd";
|
homepage = "https://github.com/pytest-dev/pytest-bdd";
|
||||||
|
changelog = "https://github.com/pytest-dev/pytest-bdd/blob/${version}/CHANGES.rst";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ jm2dev ];
|
maintainers = with maintainers; [ jm2dev ];
|
||||||
|
mainProgram = "pytest-bdd";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "snakemake-interface-common";
|
pname = "snakemake-interface-common";
|
||||||
version = "1.17.1";
|
version = "1.17.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "snakemake";
|
owner = "snakemake";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-23PGKSBX7KMt0Q7sWiLIPfCkxr2HtBas7flYeNHABWM=";
|
hash = "sha256-N8mSS+gABAgXm01BcsMk89a3HsIsc3RHxCAi3GlxtRg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "yolink-api";
|
pname = "yolink-api";
|
||||||
version = "0.4.2";
|
version = "0.4.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "YoSmart-Inc";
|
owner = "YoSmart-Inc";
|
||||||
repo = "yolink-api";
|
repo = "yolink-api";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-De3uMrLAz8LdX2pU5pn+6W6UvB+M9fSv80RSjgleo3M=";
|
hash = "sha256-cLuto2V5i3au1MRYYbgR2plw9YBpgIAxsG2fu4t37jk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }:
|
writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.22.1";
|
version = "3.23.0";
|
||||||
owner = "erlang";
|
owner = "erlang";
|
||||||
deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchgit fetchHex; };
|
deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchgit fetchHex; };
|
||||||
rebar3 = stdenv.mkDerivation rec {
|
rebar3 = stdenv.mkDerivation rec {
|
||||||
|
@ -16,7 +16,7 @@ let
|
||||||
inherit owner;
|
inherit owner;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "bSsDNuwG3LLvBS7P/Ft0rpM/atwy36JonwP0fPRsEis=";
|
sha256 = "dLJ1ca7Tlx6Cfk/AyJ0HmAgH9+qRrto/m0GWWUeXNko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ erlang ];
|
buildInputs = [ erlang ];
|
||||||
|
|
|
@ -1,90 +1,89 @@
|
||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchurl
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, makeWrapper
|
, makeBinaryWrapper
|
||||||
, buildGoModule
|
|
||||||
, fetchYarnDeps
|
|
||||||
, fixup_yarn_lock
|
|
||||||
, pkg-config
|
|
||||||
, nodejs
|
|
||||||
, yarn
|
|
||||||
, nodePackages
|
|
||||||
, python3
|
|
||||||
, terraform
|
, terraform
|
||||||
|
, stdenvNoCC
|
||||||
|
, unzip
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
let
|
||||||
|
inherit (stdenvNoCC.hostPlatform) system;
|
||||||
|
in
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "coder";
|
pname = "coder";
|
||||||
version = "0.17.1";
|
version = "2.9.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchurl {
|
||||||
owner = pname;
|
hash = {
|
||||||
repo = pname;
|
x86_64-linux = "sha256-r4+u/s/dOn2GhyhEROu8i03QY3VA/bIyO/Yj7KSqicY=";
|
||||||
rev = "v${version}";
|
x86_64-darwin = "sha256-uShCmMvb5OcinqP0CmrlP9QAJkjfG3g1QuHE4JRDOjE=";
|
||||||
hash = "sha256-FHBaefwSGZXwn1jdU7zK8WhwjarknvyeUJTlhmk/hPM=";
|
aarch64-linux = "sha256-tvpzfJ95YYfCY5V4iayjAmY5PDw+1uHUhY5F3pv/2Uk=";
|
||||||
|
aarch64-darwin = "sha256-sP9HnB2DzAU9IvL3+QPmIFLvRkGkoxSoa68uXGQrNkw=";
|
||||||
|
}.${system};
|
||||||
|
|
||||||
|
url =
|
||||||
|
let
|
||||||
|
systemName = {
|
||||||
|
x86_64-linux = "linux_amd64";
|
||||||
|
aarch64-linux = "linux_arm64";
|
||||||
|
x86_64-darwin = "darwin_amd64";
|
||||||
|
aarch64-darwin = "darwin_arm64";
|
||||||
|
}.${system};
|
||||||
|
|
||||||
|
ext = {
|
||||||
|
x86_64-linux = "tar.gz";
|
||||||
|
aarch64-linux = "tar.gz";
|
||||||
|
x86_64-darwin = "zip";
|
||||||
|
aarch64-darwin = "zip";
|
||||||
|
}.${system};
|
||||||
|
in
|
||||||
|
"https://github.com/coder/coder/releases/download/v${finalAttrs.version}/coder_${finalAttrs.version}_${systemName}.${ext}";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
|
||||||
yarnLock = src + "/site/yarn.lock";
|
|
||||||
hash = "sha256-nRmEXR9fjDxvpbnT+qpGeM0Cc/qW/kN53sKOXwZiBXY=";
|
|
||||||
};
|
|
||||||
|
|
||||||
vendorHash = "sha256-+AvmJkZCFovE2+5Lg98tUvA7f2kBHUMzhl5IyrEGuy8=";
|
|
||||||
|
|
||||||
tags = [ "embed" ];
|
|
||||||
|
|
||||||
ldflags = [
|
|
||||||
"-s"
|
|
||||||
"-w"
|
|
||||||
"-X github.com/coder/coder/buildinfo.tag=${version}"
|
|
||||||
];
|
|
||||||
|
|
||||||
subPackages = [ "cmd/..." ];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
export HOME=$TEMPDIR
|
|
||||||
|
|
||||||
pushd site
|
|
||||||
yarn config --offline set yarn-offline-mirror ${offlineCache}
|
|
||||||
fixup_yarn_lock yarn.lock
|
|
||||||
|
|
||||||
# node-gyp tries to download always the headers and fails: https://github.com/NixOS/nixpkgs/issues/195404
|
|
||||||
# playwright tries to download Chrome and fails
|
|
||||||
yarn remove --offline jest-canvas-mock canvas @playwright/test playwright
|
|
||||||
|
|
||||||
export PATH=$PATH:$(pwd)/node_modules/.bin
|
|
||||||
NODE_ENV=production node node_modules/.bin/vite build
|
|
||||||
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
fixup_yarn_lock
|
|
||||||
installShellFiles
|
installShellFiles
|
||||||
makeWrapper
|
makeBinaryWrapper
|
||||||
nodePackages.node-pre-gyp
|
unzip
|
||||||
nodejs
|
|
||||||
pkg-config
|
|
||||||
python3
|
|
||||||
yarn
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
case $src in
|
||||||
|
*.tar.gz) tar -xz -f "$src" ;;
|
||||||
|
*.zip) unzip "$src" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -D -m755 coder $out/bin/coder
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installShellCompletion --cmd coder \
|
installShellCompletion --cmd coder \
|
||||||
--bash <($out/bin/coder completion bash) \
|
--bash <($out/bin/coder completion bash) \
|
||||||
--fish <($out/bin/coder completion fish) \
|
--fish <($out/bin/coder completion fish) \
|
||||||
--zsh <($out/bin/coder completion zsh)
|
--zsh <($out/bin/coder completion zsh)
|
||||||
|
|
||||||
wrapProgram $out/bin/coder --prefix PATH : ${lib.makeBinPath [ terraform ]}
|
wrapProgram $out/bin/coder \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ terraform ]}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# integration tests require network access
|
# integration tests require network access
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Provision software development environments via Terraform on Linux, macOS, Windows, X86, ARM, and of course, Kubernetes";
|
description = "Provision remote development environments via Terraform";
|
||||||
homepage = "https://coder.com";
|
homepage = "https://coder.com";
|
||||||
license = lib.licenses.agpl3Only;
|
license = lib.licenses.agpl3Only;
|
||||||
maintainers = [ lib.maintainers.ghuntley lib.maintainers.urandom ];
|
mainProgram = "coder";
|
||||||
|
maintainers = with lib.maintainers; [ ghuntley urandom ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
"deps": {
|
"deps": {
|
||||||
"src/electron": {
|
"src/electron": {
|
||||||
"fetcher": "fetchFromGitHub",
|
"fetcher": "fetchFromGitHub",
|
||||||
"hash": "sha256-fu2/PUgZZR8OWtD04X31RaLHkhF5QeHvtdg1UX3SoBw=",
|
"hash": "sha256-AHiOejVRSeJ14Xn+A6yjfICbERDPr/eCbBq+2qPjGDc=",
|
||||||
"owner": "electron",
|
"owner": "electron",
|
||||||
"repo": "electron",
|
"repo": "electron",
|
||||||
"rev": "v28.2.10"
|
"rev": "v28.3.0"
|
||||||
},
|
},
|
||||||
"src": {
|
"src": {
|
||||||
"fetcher": "fetchFromGitiles",
|
"fetcher": "fetchFromGitiles",
|
||||||
|
@ -873,7 +873,7 @@
|
||||||
"rev": "78d3966b3c331292ea29ec38661b25df0a245948"
|
"rev": "78d3966b3c331292ea29ec38661b25df0a245948"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "28.2.10",
|
"version": "28.3.0",
|
||||||
"modules": "119",
|
"modules": "119",
|
||||||
"chrome": "120.0.6099.291",
|
"chrome": "120.0.6099.291",
|
||||||
"node": "18.18.2",
|
"node": "18.18.2",
|
||||||
|
@ -895,10 +895,10 @@
|
||||||
"deps": {
|
"deps": {
|
||||||
"src/electron": {
|
"src/electron": {
|
||||||
"fetcher": "fetchFromGitHub",
|
"fetcher": "fetchFromGitHub",
|
||||||
"hash": "sha256-/Bd91mSKGqsEThDZKnQCBSy/eWW+MnPDsPML2WafhtI=",
|
"hash": "sha256-vCM74wty0JN4PL9snwa4oFbNebA3cMZ8lorXz5DIVcE=",
|
||||||
"owner": "electron",
|
"owner": "electron",
|
||||||
"repo": "electron",
|
"repo": "electron",
|
||||||
"rev": "v27.3.9"
|
"rev": "v27.3.10"
|
||||||
},
|
},
|
||||||
"src": {
|
"src": {
|
||||||
"fetcher": "fetchFromGitiles",
|
"fetcher": "fetchFromGitiles",
|
||||||
|
@ -1765,7 +1765,7 @@
|
||||||
"rev": "78d3966b3c331292ea29ec38661b25df0a245948"
|
"rev": "78d3966b3c331292ea29ec38661b25df0a245948"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "27.3.9",
|
"version": "27.3.10",
|
||||||
"modules": "118",
|
"modules": "118",
|
||||||
"chrome": "118.0.5993.159",
|
"chrome": "118.0.5993.159",
|
||||||
"node": "18.17.1",
|
"node": "18.17.1",
|
||||||
|
@ -1780,17 +1780,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron_yarn_hash": "1yq854829a4q0yqyjyn2lq4l3amsqdhfd7fjcnc3mz8l2ci3n964",
|
"chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
|
||||||
"chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ="
|
"electron_yarn_hash": "1yq854829a4q0yqyjyn2lq4l3amsqdhfd7fjcnc3mz8l2ci3n964"
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"deps": {
|
"deps": {
|
||||||
"src/electron": {
|
"src/electron": {
|
||||||
"fetcher": "fetchFromGitHub",
|
"fetcher": "fetchFromGitHub",
|
||||||
"hash": "sha256-M/0dbmNELh9ZnH0FAtj0vItWhMwEd2vwrXx2JTqJGr0=",
|
"hash": "sha256-buW6hC7GIA59MTuyWg9/+EzQlFgJVN2IZrxlfisLemM=",
|
||||||
"owner": "electron",
|
"owner": "electron",
|
||||||
"repo": "electron",
|
"repo": "electron",
|
||||||
"rev": "v29.2.0"
|
"rev": "v29.3.0"
|
||||||
},
|
},
|
||||||
"src": {
|
"src": {
|
||||||
"fetcher": "fetchFromGitiles",
|
"fetcher": "fetchFromGitiles",
|
||||||
|
@ -2670,7 +2670,7 @@
|
||||||
"rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
|
"rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "29.2.0",
|
"version": "29.3.0",
|
||||||
"modules": "121",
|
"modules": "121",
|
||||||
"chrome": "122.0.6261.156",
|
"chrome": "122.0.6261.156",
|
||||||
"node": "20.9.0",
|
"node": "20.9.0",
|
||||||
|
@ -2685,7 +2685,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chromium_npm_hash": "sha256-9eFsK673j3pTDOcsU35RN4hagFygA/v/ahCqVVEV0Rs=",
|
"electron_yarn_hash": "0f868gk3d2cablpczav8a4vhk4nfirph45yzjz18mgzgday7w8hf",
|
||||||
"electron_yarn_hash": "0spwnax6g3050z2bjylzs67l7m551is86nizzy4hp0306v57xdpz"
|
"chromium_npm_hash": "sha256-9eFsK673j3pTDOcsU35RN4hagFygA/v/ahCqVVEV0Rs="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,10 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
defaultVersion = "2024.01";
|
defaultVersion = "2024.04";
|
||||||
defaultSrc = fetchurl {
|
defaultSrc = fetchurl {
|
||||||
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
|
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
|
||||||
hash = "sha256-uZYR8e0je/NUG9yENLaMlqbgWWcGH5kkQ8swqr6+9bM=";
|
hash = "sha256-GKhT/jn6160DqQzC1Cda6u1tppc13vrDSSuAUIhD3Uo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Dependencies for the tools need to be included as either native or cross,
|
# Dependencies for the tools need to be included as either native or cross,
|
||||||
|
@ -386,12 +386,6 @@ in {
|
||||||
extraMeta.platforms = ["aarch64-linux"];
|
extraMeta.platforms = ["aarch64-linux"];
|
||||||
BL31 = "${armTrustedFirmwareRK3588}/bl31.elf";
|
BL31 = "${armTrustedFirmwareRK3588}/bl31.elf";
|
||||||
ROCKCHIP_TPL = rkbin.TPL_RK3588;
|
ROCKCHIP_TPL = rkbin.TPL_RK3588;
|
||||||
|
|
||||||
# FIXME: applied upstream, remove in 2024.04
|
|
||||||
extraConfig = ''
|
|
||||||
CONFIG_ROCKCHIP_SPI_IMAGE=y
|
|
||||||
'';
|
|
||||||
|
|
||||||
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ];
|
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -613,6 +607,14 @@ in {
|
||||||
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
|
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ubootTuringRK1 = buildUBoot {
|
||||||
|
defconfig = "turing-rk1-rk3588_defconfig";
|
||||||
|
extraMeta.platforms = [ "aarch64-linux" ];
|
||||||
|
BL31 = "${armTrustedFirmwareRK3588}/bl31.elf";
|
||||||
|
ROCKCHIP_TPL = rkbin.TPL_RK3588;
|
||||||
|
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ];
|
||||||
|
};
|
||||||
|
|
||||||
ubootUtilite = buildUBoot {
|
ubootUtilite = buildUBoot {
|
||||||
defconfig = "cm_fx6_defconfig";
|
defconfig = "cm_fx6_defconfig";
|
||||||
extraMeta.platforms = ["armv7l-linux"];
|
extraMeta.platforms = ["armv7l-linux"];
|
||||||
|
|
|
@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-i3IcqTnTEq+qbvMdy9avtRYe04Wsgo5vzNTFt2vhidY=";
|
sha256 = "sha256-i3IcqTnTEq+qbvMdy9avtRYe04Wsgo5vzNTFt2vhidY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
separateDebugInfo = true;
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs tests
|
patchShebangs tests
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildGoModule
|
, buildGoModule
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, runtimeShell
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, bc
|
, bc
|
||||||
, ncurses
|
, ncurses
|
||||||
|
@ -55,6 +56,23 @@ buildGoModule rec {
|
||||||
install -D plugin/* -t $out/share/vim-plugins/${pname}/plugin
|
install -D plugin/* -t $out/share/vim-plugins/${pname}/plugin
|
||||||
mkdir -p $out/share/nvim
|
mkdir -p $out/share/nvim
|
||||||
ln -s $out/share/vim-plugins/${pname} $out/share/nvim/site
|
ln -s $out/share/vim-plugins/${pname} $out/share/nvim/site
|
||||||
|
|
||||||
|
# Install shell integrations
|
||||||
|
install -D shell/* -t $out/share/fzf/
|
||||||
|
install -D shell/key-bindings.fish $out/share/fish/vendor_functions.d/fzf_key_bindings.fish
|
||||||
|
mkdir -p $out/share/fish/vendor_conf.d
|
||||||
|
cat << EOF > $out/share/fish/vendor_conf.d/load-fzf-key-bindings.fish
|
||||||
|
status is-interactive; or exit 0
|
||||||
|
fzf_key_bindings
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<SCRIPT > $out/bin/fzf-share
|
||||||
|
#!${runtimeShell}
|
||||||
|
# Run this script to find the fzf shared folder where all the shell
|
||||||
|
# integration scripts are living.
|
||||||
|
echo $out/share/fzf
|
||||||
|
SCRIPT
|
||||||
|
chmod +x $out/bin/fzf-share
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests.version = testers.testVersion {
|
passthru.tests.version = testers.testVersion {
|
||||||
|
|
|
@ -74,6 +74,7 @@ mapAliases ({
|
||||||
angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
|
angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
|
||||||
ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
|
ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
|
||||||
ansible_2_13 = throw "Ansible 2.13 goes end of life in 2023/11"; # Added 2023-12-30
|
ansible_2_13 = throw "Ansible 2.13 goes end of life in 2023/11"; # Added 2023-12-30
|
||||||
|
ansible_2_14 = throw "Ansible 2.14 goes end of life in 2024/05 and can't be supported throughout the 24.05 release cycle"; # Added 2024-04-11
|
||||||
apacheAnt_1_9 = throw "Ant 1.9 has been removed since it's not used in nixpkgs anymore"; # Added 2023-11-12
|
apacheAnt_1_9 = throw "Ant 1.9 has been removed since it's not used in nixpkgs anymore"; # Added 2023-11-12
|
||||||
antimicroX = antimicrox; # Added 2021-10-31
|
antimicroX = antimicrox; # Added 2021-10-31
|
||||||
appthreat-depscan = dep-scan; # Added 2024-04-10
|
appthreat-depscan = dep-scan; # Added 2024-04-10
|
||||||
|
|
|
@ -18020,13 +18020,6 @@ with pkgs;
|
||||||
hash = "sha256-JfmxtaWvPAmGvTko7QhurduGdSf7XIOv7xoDz60080U=";
|
hash = "sha256-JfmxtaWvPAmGvTko7QhurduGdSf7XIOv7xoDz60080U=";
|
||||||
};
|
};
|
||||||
}));
|
}));
|
||||||
ansible_2_14 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "2.14.13";
|
|
||||||
src = oldAttrs.src.override {
|
|
||||||
inherit version;
|
|
||||||
hash = "sha256-ThuzNPDDImq0jFme/knNX+A/JdRVi8BsJ0reK6PiV2o=";
|
|
||||||
};
|
|
||||||
}));
|
|
||||||
|
|
||||||
ansible-builder = with python3Packages; toPythonApplication ansible-builder;
|
ansible-builder = with python3Packages; toPythonApplication ansible-builder;
|
||||||
|
|
||||||
|
@ -28330,6 +28323,7 @@ with pkgs;
|
||||||
ubootROCPCRK3399
|
ubootROCPCRK3399
|
||||||
ubootSheevaplug
|
ubootSheevaplug
|
||||||
ubootSopine
|
ubootSopine
|
||||||
|
ubootTuringRK1
|
||||||
ubootUtilite
|
ubootUtilite
|
||||||
ubootWandboard
|
ubootWandboard
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user