Merge branch 'master' into haskell-updates
This commit is contained in:
commit
a7a6e3dfe5
@ -162,7 +162,8 @@ following are specific to `buildPythonPackage`:
|
||||
* `dontWrapPythonPrograms ? false`: Skip wrapping of Python programs.
|
||||
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment
|
||||
variable in wrapped programs.
|
||||
* `pyproject`: Whether the pyproject format should be used. When set to `true`,
|
||||
* `pyproject`: Whether the pyproject format should be used. As all other formats
|
||||
are deprecated, you are recommended to set this to `true`. When you do so,
|
||||
`pypaBuildHook` will be used, and you can add the required build dependencies
|
||||
from `build-system.requires` to `build-system`. Note that the pyproject
|
||||
format falls back to using `setuptools`, so you can use `pyproject = true`
|
||||
|
@ -642,6 +642,7 @@ builds the `retworkx` Python package. `fetchCargoTarball` and
|
||||
buildPythonPackage rec {
|
||||
pname = "retworkx";
|
||||
version = "0.6.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Qiskit";
|
||||
@ -656,8 +657,6 @@ buildPythonPackage rec {
|
||||
hash = "sha256-heOBK8qi2nuc/Ib+I/vLzZ1fUUD/G/KTw9d7M4Hz5O0=";
|
||||
};
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
|
||||
|
||||
# ...
|
||||
|
@ -1099,6 +1099,11 @@ lib.mapAttrs mkLicense ({
|
||||
url = "https://qwt.sourceforge.io/qwtlicense.html";
|
||||
};
|
||||
|
||||
radiance = {
|
||||
fullName = "The Radiance Software License, Version 2.0";
|
||||
url = "https://github.com/LBNL-ETA/Radiance/blob/master/License.txt";
|
||||
};
|
||||
|
||||
ruby = {
|
||||
spdxId = "Ruby";
|
||||
fullName = "Ruby License";
|
||||
|
@ -4780,6 +4780,12 @@
|
||||
githubId = 41747605;
|
||||
keys = [ { fingerprint = "6130 3BBA D7D1 BF74 EFA4 4E3B E7FE 2087 E438 0E64"; } ];
|
||||
};
|
||||
definfo = {
|
||||
name = "Adrien SUN";
|
||||
email = "hjsdbb1@gmail.com";
|
||||
github = "definfo";
|
||||
githubId = 66514911;
|
||||
};
|
||||
deifactor = {
|
||||
name = "Ash Zahlen";
|
||||
email = "ext0l@riseup.net";
|
||||
@ -8415,6 +8421,13 @@
|
||||
githubId = 6109326;
|
||||
name = "David Hummel";
|
||||
};
|
||||
husky = {
|
||||
email = "husky@husky.sh";
|
||||
github = "huskyistaken";
|
||||
githubId = 20684258;
|
||||
name = "Luna Perego";
|
||||
keys = [ { fingerprint = "09E4 B981 9B93 5B0C 0B91 1274 0578 7332 9217 08FF"; } ];
|
||||
};
|
||||
huyngo = {
|
||||
email = "huyngo@disroot.org";
|
||||
github = "Huy-Ngo";
|
||||
|
@ -96,6 +96,11 @@
|
||||
|
||||
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`.
|
||||
|
||||
- `systemd.enableUnifiedCgroupHierarchy` option has been removed.
|
||||
In systemd 256 support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd by default will refuse to boot under it.
|
||||
To forcibly reenable cgroup v1 support, you can `set boot.kernelParams = [ "systemd.unified_cgroup_hierachy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]`.
|
||||
NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own.
|
||||
|
||||
- `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can
|
||||
use the new `opensshWithKerberos` and `openssh_hpnWithKerberos` flavors (e.g. `programs.ssh.package = pkgs.openssh_gssapi`).
|
||||
|
||||
@ -107,7 +112,7 @@
|
||||
The option `services.fgciwrap` now takes an attribute set of the
|
||||
configuration of each individual instance.
|
||||
This requires migrating any previous configuration keys from
|
||||
`services.fcgiwrap.*` to `services.fcgiwrap.some-instance.*`.
|
||||
`services.fcgiwrap.*` to `services.fcgiwrap.instances.some-instance.*`.
|
||||
The ownership and mode of the UNIX sockets created by this service are now
|
||||
configurable and private by default.
|
||||
Processes also now run as a dynamically allocated user by default instead of
|
||||
@ -259,6 +264,8 @@
|
||||
- `ffmpeg_5` has been removed. Please use the unversioned `ffmpeg`,
|
||||
pin a newer version, or if necessary pin `ffmpeg_4` for compatibility.
|
||||
|
||||
- The `xdg.portal.gtkUsePortal` option has been removed, as it had been deprecated for over 2 years. Using the `GTK_USE_PORTAL` environment variable in this manner is not intended nor encouraged by the GTK developers, but can still be done manually via `environment.sessionVariables`.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -6,6 +6,7 @@ let
|
||||
mkIf
|
||||
mkOption
|
||||
mkRenamedOptionModule
|
||||
mkRemovedOptionModule
|
||||
teams
|
||||
types;
|
||||
|
||||
@ -17,18 +18,7 @@ in
|
||||
{
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ])
|
||||
|
||||
({ config, lib, options, ... }:
|
||||
let
|
||||
from = [ "xdg" "portal" "gtkUsePortal" ];
|
||||
fromOpt = lib.getAttrFromPath from options;
|
||||
in
|
||||
{
|
||||
warnings = lib.mkIf config.xdg.portal.gtkUsePortal [
|
||||
"The option `${lib.showOption from}' defined in ${lib.showFiles fromOpt.files} has been deprecated. Setting the variable globally with `environment.sessionVariables' NixOS option can have unforeseen side-effects."
|
||||
];
|
||||
}
|
||||
)
|
||||
(mkRemovedOptionModule [ "xdg" "portal" "gtkUsePortal" ] "This option has been removed due to being unsupported and discouraged by the GTK developers.")
|
||||
];
|
||||
|
||||
meta = {
|
||||
@ -54,18 +44,6 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
gtkUsePortal = mkOption {
|
||||
type = types.bool;
|
||||
visible = false;
|
||||
default = false;
|
||||
description = ''
|
||||
Sets environment variable `GTK_USE_PORTAL` to `1`.
|
||||
This will force GTK-based programs ran outside Flatpak to respect and use XDG Desktop Portals
|
||||
for features like file chooser but it is an unsupported hack that can easily break things.
|
||||
Defaults to `false` to respect its opt-in nature.
|
||||
'';
|
||||
};
|
||||
|
||||
xdgOpenUsePortal = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -154,7 +132,6 @@ in
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = mkIf cfg.xdgOpenUsePortal "1";
|
||||
NIX_XDG_DESKTOP_PORTAL_DIR = "/run/current-system/sw/share/xdg-desktop-portal/portals";
|
||||
};
|
||||
|
@ -43,7 +43,6 @@ in {
|
||||
rtl8192su-firmware
|
||||
rt5677-firmware
|
||||
rtl8761b-firmware
|
||||
rtw88-firmware
|
||||
zd1211fw
|
||||
alsa-firmware
|
||||
sof-firmware
|
||||
|
@ -59,14 +59,7 @@ in
|
||||
'';
|
||||
})
|
||||
(builtins.filter builtins.isInt cfg.users)
|
||||
) ++ [
|
||||
{
|
||||
assertion = config.systemd.enableUnifiedCgroupHierarchy == true;
|
||||
message = ''
|
||||
The BenchExec module `${opt.enable}` only supports control groups 2 (`${options.systemd.enableUnifiedCgroupHierarchy} = true`).
|
||||
'';
|
||||
}
|
||||
];
|
||||
);
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
|
@ -99,6 +99,7 @@ let
|
||||
}));
|
||||
};
|
||||
|
||||
package = config.security.pam.package;
|
||||
parentConfig = config;
|
||||
|
||||
pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in {
|
||||
@ -648,16 +649,16 @@ let
|
||||
# The required pam_unix.so module has to come after all the sufficient modules
|
||||
# because otherwise, the account lookup will fail if the user does not exist
|
||||
# locally, for example with MySQL- or LDAP-auth.
|
||||
{ name = "unix"; control = "required"; modulePath = "pam_unix.so"; }
|
||||
{ name = "unix"; control = "required"; modulePath = "${package}/lib/security/pam_unix.so"; }
|
||||
];
|
||||
|
||||
auth = autoOrderRules ([
|
||||
{ name = "oslogin_login"; enable = cfg.googleOsLoginAuthentication; control = "[success=done perm_denied=die default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; }
|
||||
{ name = "rootok"; enable = cfg.rootOK; control = "sufficient"; modulePath = "pam_rootok.so"; }
|
||||
{ name = "wheel"; enable = cfg.requireWheel; control = "required"; modulePath = "pam_wheel.so"; settings = {
|
||||
{ name = "rootok"; enable = cfg.rootOK; control = "sufficient"; modulePath = "${package}/lib/security/pam_rootok.so"; }
|
||||
{ name = "wheel"; enable = cfg.requireWheel; control = "required"; modulePath = "${package}/lib/security/pam_wheel.so"; settings = {
|
||||
use_uid = true;
|
||||
}; }
|
||||
{ name = "faillock"; enable = cfg.logFailures; control = "required"; modulePath = "pam_faillock.so"; }
|
||||
{ name = "faillock"; enable = cfg.logFailures; control = "required"; modulePath = "${package}/lib/security/pam_faillock.so"; }
|
||||
{ name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = {
|
||||
config_file = "/etc/security/pam_mysql.conf";
|
||||
}; }
|
||||
@ -710,7 +711,7 @@ let
|
||||
|| cfg.zfs))
|
||||
[
|
||||
{ name = "systemd_home-early"; enable = config.services.homed.enable; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix-early"; enable = cfg.unixAuth; control = "optional"; modulePath = "pam_unix.so"; settings = {
|
||||
{ name = "unix-early"; enable = cfg.unixAuth; control = "optional"; modulePath = "${package}/lib/security/pam_unix.so"; settings = {
|
||||
nullok = cfg.allowNullPassword;
|
||||
inherit (cfg) nodelay;
|
||||
likeauth = true;
|
||||
@ -731,7 +732,7 @@ let
|
||||
{ name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = {
|
||||
store-only = cfg.gnupg.storeOnly;
|
||||
}; }
|
||||
{ name = "faildelay"; enable = cfg.failDelay.enable; control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_faildelay.so"; settings = {
|
||||
{ name = "faildelay"; enable = cfg.failDelay.enable; control = "optional"; modulePath = "${package}/lib/security/pam_faildelay.so"; settings = {
|
||||
inherit (cfg.failDelay) delay;
|
||||
}; }
|
||||
{ name = "google_authenticator"; enable = cfg.googleAuthenticator.enable; control = "required"; modulePath = "${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so"; settings = {
|
||||
@ -740,7 +741,7 @@ let
|
||||
{ name = "duo"; enable = cfg.duoSecurity.enable; control = "required"; modulePath = "${pkgs.duo-unix}/lib/security/pam_duo.so"; }
|
||||
]) ++ [
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix"; enable = cfg.unixAuth; control = "sufficient"; modulePath = "pam_unix.so"; settings = {
|
||||
{ name = "unix"; enable = cfg.unixAuth; control = "sufficient"; modulePath = "${package}/lib/security/pam_unix.so"; settings = {
|
||||
nullok = cfg.allowNullPassword;
|
||||
inherit (cfg) nodelay;
|
||||
likeauth = true;
|
||||
@ -768,12 +769,12 @@ let
|
||||
action = "store";
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "deny"; control = "required"; modulePath = "pam_deny.so"; }
|
||||
{ name = "deny"; control = "required"; modulePath = "${package}/lib/security/pam_deny.so"; }
|
||||
]);
|
||||
|
||||
password = autoOrderRules [
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix"; control = "sufficient"; modulePath = "pam_unix.so"; settings = {
|
||||
{ name = "unix"; control = "sufficient"; modulePath = "${package}/lib/security/pam_unix.so"; settings = {
|
||||
nullok = true;
|
||||
yescrypt = true;
|
||||
}; }
|
||||
@ -798,24 +799,24 @@ let
|
||||
];
|
||||
|
||||
session = autoOrderRules [
|
||||
{ name = "env"; enable = cfg.setEnvironment; control = "required"; modulePath = "pam_env.so"; settings = {
|
||||
{ name = "env"; enable = cfg.setEnvironment; control = "required"; modulePath = "${package}/lib/security/pam_env.so"; settings = {
|
||||
conffile = "/etc/pam/environment";
|
||||
readenv = 0;
|
||||
}; }
|
||||
{ name = "unix"; control = "required"; modulePath = "pam_unix.so"; }
|
||||
{ name = "loginuid"; enable = cfg.setLoginUid; control = if config.boot.isContainer then "optional" else "required"; modulePath = "pam_loginuid.so"; }
|
||||
{ name = "tty_audit"; enable = cfg.ttyAudit.enable; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_tty_audit.so"; settings = {
|
||||
{ name = "unix"; control = "required"; modulePath = "${package}/lib/security/pam_unix.so"; }
|
||||
{ name = "loginuid"; enable = cfg.setLoginUid; control = if config.boot.isContainer then "optional" else "required"; modulePath = "${package}/lib/security/pam_loginuid.so"; }
|
||||
{ name = "tty_audit"; enable = cfg.ttyAudit.enable; control = "required"; modulePath = "${package}/lib/security/pam_tty_audit.so"; settings = {
|
||||
open_only = cfg.ttyAudit.openOnly;
|
||||
enable = cfg.ttyAudit.enablePattern;
|
||||
disable = cfg.ttyAudit.disablePattern;
|
||||
}; }
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "required"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "mkhomedir"; enable = cfg.makeHomeDir; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_mkhomedir.so"; settings = {
|
||||
{ name = "mkhomedir"; enable = cfg.makeHomeDir; control = "required"; modulePath = "${package}/lib/security/pam_mkhomedir.so"; settings = {
|
||||
silent = true;
|
||||
skel = config.security.pam.makeHomeDir.skelDirectory;
|
||||
inherit (config.security.pam.makeHomeDir) umask;
|
||||
}; }
|
||||
{ name = "lastlog"; enable = cfg.updateWtmp; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_lastlog.so"; settings = {
|
||||
{ name = "lastlog"; enable = cfg.updateWtmp; control = "required"; modulePath = "${package}/lib/security/pam_lastlog.so"; settings = {
|
||||
silent = true;
|
||||
}; }
|
||||
{ name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; }
|
||||
@ -823,11 +824,11 @@ let
|
||||
# Skips the pam_fscrypt module for systemd-user sessions which do not have a password
|
||||
# anyways.
|
||||
# See also https://github.com/google/fscrypt/issues/95
|
||||
{ name = "fscrypt-skip-systemd"; enable = config.security.pam.enableFscrypt; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [
|
||||
{ name = "fscrypt-skip-systemd"; enable = config.security.pam.enableFscrypt; control = "[success=1 default=ignore]"; modulePath = "${package}/lib/security/pam_succeed_if.so"; args = [
|
||||
"service" "=" "systemd-user"
|
||||
]; }
|
||||
{ name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; }
|
||||
{ name = "zfs_key-skip-systemd"; enable = cfg.zfs; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [
|
||||
{ name = "zfs_key-skip-systemd"; enable = cfg.zfs; control = "[success=1 default=ignore]"; modulePath = "${package}/lib/security/pam_succeed_if.so"; args = [
|
||||
"service" "=" "systemd-user"
|
||||
]; }
|
||||
{ name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = {
|
||||
@ -846,14 +847,14 @@ let
|
||||
{ name = "krb5"; enable = config.security.pam.krb5.enable; control = "optional"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; }
|
||||
{ name = "otpw"; enable = cfg.otpwAuth; control = "optional"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; }
|
||||
{ name = "systemd"; enable = cfg.startSession; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd.so"; }
|
||||
{ name = "xauth"; enable = cfg.forwardXAuth; control = "optional"; modulePath = "pam_xauth.so"; settings = {
|
||||
{ name = "xauth"; enable = cfg.forwardXAuth; control = "optional"; modulePath = "${package}/lib/security/pam_xauth.so"; settings = {
|
||||
xauthpath = "${pkgs.xorg.xauth}/bin/xauth";
|
||||
systemuser = 99;
|
||||
}; }
|
||||
{ name = "limits"; enable = cfg.limits != []; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_limits.so"; settings = {
|
||||
{ name = "limits"; enable = cfg.limits != []; control = "required"; modulePath = "${package}/lib/security/pam_limits.so"; settings = {
|
||||
conf = "${makeLimitsConf cfg.limits}";
|
||||
}; }
|
||||
{ name = "motd"; enable = cfg.showMotd && (config.users.motd != null || config.users.motdFile != null); control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_motd.so"; settings = {
|
||||
{ name = "motd"; enable = cfg.showMotd && (config.users.motd != null || config.users.motdFile != null); control = "optional"; modulePath = "${package}/lib/security/pam_motd.so"; settings = {
|
||||
inherit motd;
|
||||
}; }
|
||||
{ name = "apparmor"; enable = cfg.enableAppArmor && config.security.apparmor.enable; control = "optional"; modulePath = "${pkgs.apparmor-pam}/lib/security/pam_apparmor.so"; settings = {
|
||||
@ -967,6 +968,8 @@ in
|
||||
|
||||
options = {
|
||||
|
||||
security.pam.package = mkPackageOption pkgs "pam" { };
|
||||
|
||||
security.pam.loginLimits = mkOption {
|
||||
default = [];
|
||||
type = limitsType;
|
||||
@ -1515,7 +1518,7 @@ in
|
||||
|
||||
environment.systemPackages =
|
||||
# Include the PAM modules in the system path mostly for the manpages.
|
||||
[ pkgs.pam ]
|
||||
[ package ]
|
||||
++ optional config.users.ldap.enable pam_ldap
|
||||
++ optional config.services.kanidm.enablePam config.services.kanidm.package
|
||||
++ optional config.services.sssd.enable pkgs.sssd
|
||||
@ -1533,7 +1536,7 @@ in
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
source = "${pkgs.pam}/bin/unix_chkpwd";
|
||||
source = "${package}/bin/unix_chkpwd";
|
||||
};
|
||||
};
|
||||
|
||||
@ -1574,11 +1577,6 @@ in
|
||||
lib.concatMapStrings
|
||||
(name: "r ${config.environment.etc."pam.d/${name}".source},\n")
|
||||
(attrNames config.security.pam.services) +
|
||||
''
|
||||
mr ${getLib pkgs.pam}/lib/security/pam_filter/*,
|
||||
mr ${getLib pkgs.pam}/lib/security/pam_*.so,
|
||||
r ${getLib pkgs.pam}/lib/security/,
|
||||
'' +
|
||||
(with lib; pipe config.security.pam.services [
|
||||
attrValues
|
||||
(catAttrs "rules")
|
||||
@ -1586,6 +1584,12 @@ in
|
||||
(concatMap attrValues)
|
||||
(filter (rule: rule.enable))
|
||||
(catAttrs "modulePath")
|
||||
# TODO(@uninsane): replace this warning + filter with just an assertion
|
||||
(map (modulePath: lib.warnIfNot
|
||||
(hasPrefix "/" modulePath)
|
||||
''non-absolute PAM modulePath "${modulePath}" is unsupported by apparmor and will be treated as an error by future versions of nixpkgs; see <https://github.com/NixOS/nixpkgs/pull/314791>''
|
||||
modulePath
|
||||
))
|
||||
(filter (hasPrefix "/"))
|
||||
unique
|
||||
(map (module: "mr ${module},"))
|
||||
|
@ -22,6 +22,7 @@ in {
|
||||
libusermetrics
|
||||
lomiri
|
||||
lomiri-calculator-app
|
||||
lomiri-camera-app
|
||||
lomiri-clock-app
|
||||
lomiri-download-manager
|
||||
lomiri-filemanager-app
|
||||
|
@ -116,7 +116,7 @@ in
|
||||
} // (if ((lib.getName cfg.package) == (lib.getName pkgs.ananicy-cpp)) then {
|
||||
# https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/config.cpp#L12
|
||||
loglevel = mkOD "warn"; # default is info but its spammy
|
||||
cgroup_realtime_workaround = mkOD config.systemd.enableUnifiedCgroupHierarchy;
|
||||
cgroup_realtime_workaround = true;
|
||||
log_applied_rule = mkOD false;
|
||||
} else {
|
||||
# https://github.com/Nefelim4ag/Ananicy/blob/master/ananicy.d/ananicy.conf
|
||||
@ -125,8 +125,6 @@ in
|
||||
});
|
||||
|
||||
systemd = {
|
||||
# https://gitlab.com/ananicy-cpp/ananicy-cpp/#cgroups applies to both ananicy and -cpp
|
||||
enableUnifiedCgroupHierarchy = mkDefault false;
|
||||
packages = [ cfg.package ];
|
||||
services."${servicename}" = {
|
||||
wantedBy = [ "default.target" ];
|
||||
|
@ -202,10 +202,11 @@ in {
|
||||
];
|
||||
|
||||
services = {
|
||||
fcgiwrap.zoneminder = lib.mkIf useNginx {
|
||||
fcgiwrap.instances.zoneminder = lib.mkIf useNginx {
|
||||
process.prefork = cfg.cameras;
|
||||
process.user = user;
|
||||
process.group = group;
|
||||
socket = { inherit (config.services.nginx) user group; };
|
||||
};
|
||||
|
||||
mysql = lib.mkIf cfg.database.createLocally {
|
||||
@ -255,7 +256,7 @@ in {
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_intercept_errors on;
|
||||
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.zoneminder.socket.address};
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.instances.zoneminder.socket.address};
|
||||
}
|
||||
|
||||
location /cache/ {
|
||||
|
@ -2,20 +2,23 @@
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.smartctl;
|
||||
|
||||
inherit (lib) mkOption types literalExpression;
|
||||
|
||||
args = lib.escapeShellArgs ([
|
||||
"--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
|
||||
"--smartctl.path=${pkgs.smartmontools}/bin/smartctl"
|
||||
"--smartctl.interval=${cfg.maxInterval}"
|
||||
] ++ map (device: "--smartctl.device=${device}") cfg.devices
|
||||
++ cfg.extraFlags);
|
||||
in {
|
||||
|
||||
in
|
||||
{
|
||||
port = 9633;
|
||||
|
||||
extraOpts = {
|
||||
devices = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
default = [ ];
|
||||
example = literalExpression ''
|
||||
[ "/dev/sda", "/dev/nvme0n1" ];
|
||||
'';
|
||||
@ -24,6 +27,7 @@ in {
|
||||
all disks if none given.
|
||||
'';
|
||||
};
|
||||
|
||||
maxInterval = mkOption {
|
||||
type = types.str;
|
||||
default = "60s";
|
||||
@ -50,9 +54,7 @@ in {
|
||||
"block-sd rw"
|
||||
"char-nvme rw"
|
||||
];
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter ${args}
|
||||
'';
|
||||
ExecStart = "${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter ${args}";
|
||||
PrivateDevices = lib.mkForce false;
|
||||
ProtectProc = "invisible";
|
||||
ProcSubset = "pid";
|
||||
|
@ -32,7 +32,7 @@ let
|
||||
fastcgi_split_path_info ^(${regexLocation cfg})(/.+)$;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
''
|
||||
}fastcgi_pass unix:${config.services.fcgiwrap."cgit-${name}".socket.address};
|
||||
}fastcgi_pass unix:${config.services.fcgiwrap.instances."cgit-${name}".socket.address};
|
||||
'';
|
||||
|
||||
cgitrcLine = name: value: "${name}=${
|
||||
@ -171,7 +171,7 @@ in
|
||||
groups.${cfg.group} = { };
|
||||
}));
|
||||
|
||||
services.fcgiwrap = flip mapAttrs' cfgs (name: cfg:
|
||||
services.fcgiwrap.instances = flip mapAttrs' cfgs (name: cfg:
|
||||
nameValuePair "cgit-${name}" {
|
||||
process = { inherit (cfg) user group; };
|
||||
socket = { inherit (config.services.nginx) user group; };
|
||||
|
@ -12,6 +12,8 @@ in
|
||||
services.nar-serve = {
|
||||
enable = mkEnableOption "serving NAR file contents via HTTP";
|
||||
|
||||
package = mkPackageOption pkgs "nar-serve" { };
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8383;
|
||||
@ -32,6 +34,17 @@ in
|
||||
- gs:// for binary caches stored in Google Cloud Storage
|
||||
'';
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
When set, enables the feature of serving <nar-hash>.<domain>
|
||||
on top of <domain>/nix/store/<nar-hash>-<pname>.
|
||||
|
||||
Useful to preview static websites where paths are absolute.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -47,7 +60,7 @@ in
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
RestartSec = "5s";
|
||||
ExecStart = "${pkgs.nar-serve}/bin/nar-serve";
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
|
@ -337,7 +337,7 @@ in
|
||||
};
|
||||
|
||||
# use nginx to serve the smokeping web service
|
||||
services.fcgiwrap.smokeping = mkIf cfg.webService {
|
||||
services.fcgiwrap.instances.smokeping = mkIf cfg.webService {
|
||||
process.user = cfg.user;
|
||||
process.group = cfg.user;
|
||||
socket = { inherit (config.services.nginx) user group; };
|
||||
@ -353,7 +353,7 @@ in
|
||||
locations."/smokeping.fcgi" = {
|
||||
extraConfig = ''
|
||||
include ${config.services.nginx.package}/conf/fastcgi_params;
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.smokeping.socket.address};
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.instances.smokeping.socket.address};
|
||||
fastcgi_param SCRIPT_FILENAME ${smokepingHome}/smokeping.fcgi;
|
||||
fastcgi_param DOCUMENT_ROOT ${smokepingHome};
|
||||
'';
|
||||
|
@ -1,49 +1,90 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.gotify;
|
||||
in {
|
||||
options = {
|
||||
services.gotify = {
|
||||
enable = mkEnableOption "Gotify webserver";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule
|
||||
[
|
||||
"services"
|
||||
"gotify"
|
||||
"port"
|
||||
]
|
||||
[
|
||||
"services"
|
||||
"gotify"
|
||||
"environment"
|
||||
"GOTIFY_SERVER_PORT"
|
||||
]
|
||||
)
|
||||
];
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
description = ''
|
||||
Port the server listens to.
|
||||
'';
|
||||
};
|
||||
options.services.gotify = {
|
||||
enable = lib.mkEnableOption "Gotify webserver";
|
||||
|
||||
stateDirectoryName = mkOption {
|
||||
type = types.str;
|
||||
default = "gotify-server";
|
||||
description = ''
|
||||
The name of the directory below {file}`/var/lib` where
|
||||
gotify stores its runtime data.
|
||||
'';
|
||||
package = lib.mkPackageOption pkgs "gotify-server" { };
|
||||
|
||||
environment = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
lib.types.oneOf [
|
||||
lib.types.str
|
||||
lib.types.int
|
||||
]
|
||||
);
|
||||
default = { };
|
||||
example = {
|
||||
GOTIFY_SERVER_PORT = 8080;
|
||||
GOTIFY_DATABASE_DIALECT = "sqlite3";
|
||||
};
|
||||
description = ''
|
||||
Config environment variables for the gotify-server.
|
||||
See https://gotify.net/docs/config for more details.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFiles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.path;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Files containing additional config environment variables for gotify-server.
|
||||
Secrets should be set in environmentFiles instead of environment.
|
||||
'';
|
||||
};
|
||||
|
||||
stateDirectoryName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "gotify-server";
|
||||
description = ''
|
||||
The name of the directory below {file}`/var/lib` where
|
||||
gotify stores its runtime data.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.gotify-server = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
description = "Simple server for sending and receiving messages";
|
||||
|
||||
environment = {
|
||||
GOTIFY_SERVER_PORT = toString cfg.port;
|
||||
};
|
||||
environment = lib.mapAttrs (_: toString) cfg.environment;
|
||||
|
||||
serviceConfig = {
|
||||
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
|
||||
StateDirectory = cfg.stateDirectoryName;
|
||||
EnvironmentFile = cfg.environmentFiles;
|
||||
Restart = "always";
|
||||
DynamicUser = "yes";
|
||||
ExecStart = "${pkgs.gotify-server}/bin/server";
|
||||
DynamicUser = true;
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ DCsunset ];
|
||||
}
|
||||
|
@ -3,12 +3,26 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
forEachInstance = f: flip mapAttrs' config.services.fcgiwrap (name: cfg:
|
||||
nameValuePair "fcgiwrap-${name}" (f cfg)
|
||||
forEachInstance = f: flip mapAttrs' config.services.fcgiwrap.instances (
|
||||
name: cfg: nameValuePair "fcgiwrap-${name}" (f cfg)
|
||||
);
|
||||
|
||||
in {
|
||||
options.services.fcgiwrap = mkOption {
|
||||
imports = forEach [
|
||||
"enable"
|
||||
"user"
|
||||
"group"
|
||||
"socketType"
|
||||
"socketAddress"
|
||||
"preforkProcesses"
|
||||
] (attr: mkRemovedOptionModule [ "services" "fcgiwrap" attr ] ''
|
||||
The global shared fcgiwrap instance is no longer supported due to
|
||||
security issues.
|
||||
Isolated instances should instead be configured through
|
||||
`services.fcgiwrap.instances.*'.
|
||||
'');
|
||||
|
||||
options.services.fcgiwrap.instances = mkOption {
|
||||
description = "Configuration for fcgiwrap instances.";
|
||||
default = { };
|
||||
type = types.attrsOf (types.submodule ({ config, ... }: { options = {
|
||||
@ -54,7 +68,6 @@ in {
|
||||
default = null;
|
||||
description = ''
|
||||
User to be set as owner of the UNIX socket.
|
||||
Defaults to the process running user.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -63,7 +76,6 @@ in {
|
||||
default = null;
|
||||
description = ''
|
||||
Group to be set as owner of the UNIX socket.
|
||||
Defaults to the process running group.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -83,6 +95,14 @@ in {
|
||||
|
||||
config = {
|
||||
assertions = concatLists (mapAttrsToList (name: cfg: [
|
||||
{
|
||||
assertion = cfg.socket.type == "unix" -> cfg.socket.user != null;
|
||||
message = "Socket owner is required for the UNIX socket type.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.socket.type == "unix" -> cfg.socket.group != null;
|
||||
message = "Socket owner is required for the UNIX socket type.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.socket.user != null -> cfg.socket.type == "unix";
|
||||
message = "Socket owner can only be set for the UNIX socket type.";
|
||||
@ -95,7 +115,7 @@ in {
|
||||
assertion = cfg.socket.mode != null -> cfg.socket.type == "unix";
|
||||
message = "Socket mode can only be set for the UNIX socket type.";
|
||||
}
|
||||
]) config.services.fcgiwrap);
|
||||
]) config.services.fcgiwrap.instances);
|
||||
|
||||
systemd.services = forEachInstance (cfg: {
|
||||
after = [ "nss-user-lookup.target" ];
|
||||
|
@ -341,14 +341,6 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
enableUnifiedCgroupHierarchy = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Whether to enable the unified cgroup hierarchy (cgroupsv2); see {manpage}`cgroups(7)`.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
@ -694,12 +686,6 @@ in
|
||||
# https://github.com/systemd/systemd/pull/12226
|
||||
boot.kernel.sysctl."kernel.pid_max" = mkIf pkgs.stdenv.is64bit (lib.mkDefault 4194304);
|
||||
|
||||
boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
|
||||
|
||||
# Avoid potentially degraded system state due to
|
||||
# "Userspace Out-Of-Memory (OOM) Killer was skipped because of a failed condition check (ConditionControlGroupController=v2)."
|
||||
systemd.oomd.enable = mkIf (!cfg.enableUnifiedCgroupHierarchy) false;
|
||||
|
||||
services.logrotate.settings = {
|
||||
"/var/log/btmp" = mapAttrs (_: mkDefault) {
|
||||
frequency = "monthly";
|
||||
@ -723,5 +709,10 @@ in
|
||||
(mkRenamedOptionModule [ "boot" "systemd" "services" ] [ "systemd" "services" ])
|
||||
(mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
|
||||
(mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
|
||||
(mkRemovedOptionModule ["systemd" "enableUnifiedCgroupHierarchy"] ''
|
||||
In 256 support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd by default will refuse to boot under it.
|
||||
To forcibly reenable cgroup v1 support, you can set boot.kernelParams = [ "systemd.unified_cgroup_hierachy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ].
|
||||
NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own.
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ with lib;
|
||||
# ec2-get-console-output.
|
||||
echo "-----BEGIN SSH HOST KEY FINGERPRINTS-----" > /dev/console
|
||||
for i in /etc/ssh/ssh_host_*_key.pub; do
|
||||
${config.programs.ssh.package}/bin/ssh-keygen -l -f $i > /dev/console
|
||||
${config.programs.ssh.package}/bin/ssh-keygen -l -f $i || true > /dev/console
|
||||
done
|
||||
echo "-----END SSH HOST KEY FINGERPRINTS-----" > /dev/console
|
||||
'';
|
||||
|
@ -166,10 +166,6 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: remove once LXD gets proper support for cgroupsv2
|
||||
# (currently most of the e.g. CPU accounting stuff doesn't work)
|
||||
systemd.enableUnifiedCgroupHierarchy = false;
|
||||
|
||||
systemd.sockets.lxd = {
|
||||
description = "LXD UNIX socket";
|
||||
wantedBy = [ "sockets.target" ];
|
||||
@ -214,6 +210,7 @@ in {
|
||||
LimitNOFILE = "1048576";
|
||||
LimitNPROC = "infinity";
|
||||
TasksMax = "infinity";
|
||||
Delegate = true; # LXD needs to manage cgroups in its subtree
|
||||
|
||||
# By default, `lxd` loads configuration files from hard-coded
|
||||
# `/usr/share/lxc/config` - since this is a no-go for us, we have to
|
||||
|
@ -538,6 +538,7 @@ in {
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lomiri = handleTest ./lomiri.nix {};
|
||||
lomiri-calculator-app = runTest ./lomiri-calculator-app.nix;
|
||||
lomiri-camera-app = runTest ./lomiri-camera-app.nix;
|
||||
lomiri-clock-app = runTest ./lomiri-clock-app.nix;
|
||||
lomiri-filemanager-app = runTest ./lomiri-filemanager-app.nix;
|
||||
lomiri-system-settings = handleTest ./lomiri-system-settings.nix {};
|
||||
|
@ -13,7 +13,7 @@ let
|
||||
|
||||
{ imports = [ ./common/user-account.nix ./common/x11.nix ];
|
||||
hardware.graphics.enable = true;
|
||||
virtualisation.memorySize = 256;
|
||||
virtualisation.memorySize = 384;
|
||||
environment = {
|
||||
systemPackages = [ pkgs.armagetronad ];
|
||||
variables.XAUTHORITY = "/home/${user}/.Xauthority";
|
||||
@ -208,7 +208,7 @@ makeTest {
|
||||
barrier.wait()
|
||||
|
||||
# Get to the Server Bookmarks screen on both clients. This takes a while so do it asynchronously.
|
||||
barrier = threading.Barrier(3, timeout=120)
|
||||
barrier = threading.Barrier(len(clients) + 1, timeout=240)
|
||||
for client in clients:
|
||||
threading.Thread(target=client_setup, args=(client, servers, barrier)).start()
|
||||
barrier.wait()
|
||||
|
@ -24,7 +24,7 @@ import ./make-test-python.nix (
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
services.fcgiwrap.gitolite = {
|
||||
services.fcgiwrap.instances.gitolite = {
|
||||
process.user = "gitolite";
|
||||
process.group = "gitolite";
|
||||
socket = { inherit (config.services.nginx) user group; };
|
||||
@ -64,7 +64,7 @@ import ./make-test-python.nix (
|
||||
fastcgi_param SCRIPT_FILENAME ${pkgs.gitolite}/bin/gitolite-shell;
|
||||
|
||||
# use Unix domain socket or inet socket
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.gitolite.socket.address};
|
||||
fastcgi_pass unix:${config.services.fcgiwrap.instances.gitolite.socket.address};
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -9,7 +9,9 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
|
||||
services.gotify = {
|
||||
enable = true;
|
||||
port = 3000;
|
||||
environment = {
|
||||
GOTIFY_SERVER_PORT = 3000;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
135
nixos/tests/lomiri-camera-app.nix
Normal file
135
nixos/tests/lomiri-camera-app.nix
Normal file
@ -0,0 +1,135 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "lomiri-camera-app-standalone";
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
feh # view photo result
|
||||
ffmpeg # fake webcam stream
|
||||
gnome-text-editor # somewhere to paste QR result
|
||||
(imagemagick.override { ghostscriptSupport = true; }) # add label for OCR
|
||||
qrtool # generate QR code
|
||||
xdotool # clicking on QR button
|
||||
]
|
||||
++ (with pkgs.lomiri; [
|
||||
suru-icon-theme
|
||||
lomiri-camera-app
|
||||
]);
|
||||
variables = {
|
||||
UITK_ICON_THEME = "suru";
|
||||
};
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
# Intended font & helps with OCR
|
||||
ubuntu-classic
|
||||
];
|
||||
};
|
||||
|
||||
# Fake camera
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript =
|
||||
let
|
||||
qrLabel = "Image";
|
||||
qrContent = "Test";
|
||||
in
|
||||
''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("lomiri camera launches"):
|
||||
machine.succeed("lomiri-camera-app >&2 &")
|
||||
machine.wait_for_text("Cannot access")
|
||||
machine.screenshot("lomiri-camera_open")
|
||||
|
||||
machine.succeed("pkill -f lomiri-camera-app")
|
||||
|
||||
# Setup fake v4l2 camera
|
||||
machine.succeed("modprobe v4l2loopback video_nr=10 card_label=Video-Loopback exclusive_caps=1")
|
||||
machine.succeed("qrtool encode '${qrContent}' -s 20 -m 10 > qr.png")
|
||||
# Horizontal flip, add text, flip back. Camera displays image mirrored, so need reversed text for OCR
|
||||
machine.succeed("magick qr.png -flop -pointsize 70 -fill black -annotate +100+100 '${qrLabel}' -flop output.png")
|
||||
machine.succeed("ffmpeg -re -loop 1 -i output.png -vf format=yuv420p -f v4l2 /dev/video10 -loglevel fatal >&2 &")
|
||||
|
||||
with subtest("lomiri camera uses camera"):
|
||||
machine.succeed("lomiri-camera-app >&2 &")
|
||||
machine.wait_for_text("${qrLabel}")
|
||||
machine.screenshot("lomiri-camera_feed")
|
||||
|
||||
machine.succeed("xdotool mousemove 320 610 click 1") # take photo
|
||||
machine.wait_until_succeeds("find /root/Pictures/camera.ubports -name '*.jpg'")
|
||||
|
||||
# Check that the image is correct
|
||||
machine.send_key("ctrl-alt-right")
|
||||
machine.succeed("magick /root/Pictures/camera.ubports/IMG_00000001.jpg -flop photo_flip.png")
|
||||
machine.succeed("feh photo_flip.png >&2 &")
|
||||
machine.wait_for_text("${qrLabel}")
|
||||
machine.screenshot("lomiri-camera_photo")
|
||||
|
||||
machine.succeed("pkill -f feh")
|
||||
machine.send_key("ctrl-alt-left")
|
||||
machine.succeed("pkill -f lomiri-camera-app")
|
||||
|
||||
with subtest("lomiri barcode scanner uses camera"):
|
||||
machine.succeed("lomiri-camera-app --mode=barcode-reader >&2 &")
|
||||
machine.wait_for_text("${qrLabel}")
|
||||
machine.succeed("xdotool mousemove 320 610 click 1") # open up QR decode result
|
||||
|
||||
# OCR is struggling to recognise the text. Click the clipboard button and paste the result somewhere else
|
||||
machine.sleep(5)
|
||||
machine.screenshot("lomiri-barcode_decode")
|
||||
machine.succeed("xdotool mousemove 350 530 click 1")
|
||||
machine.sleep(5)
|
||||
|
||||
# Need to make a new window without closing camera app, otherwise clipboard content gets lost?
|
||||
machine.send_key("ctrl-alt-right")
|
||||
machine.succeed("gnome-text-editor >&2 &")
|
||||
machine.wait_for_text("New")
|
||||
|
||||
# Font size up to help with OCR
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
machine.send_key("ctrl-kp_add")
|
||||
|
||||
machine.send_key("ctrl-v")
|
||||
machine.wait_for_text("${qrContent}")
|
||||
|
||||
machine.succeed("pkill -f gnome-text-editor")
|
||||
machine.send_key("ctrl-alt-left")
|
||||
machine.succeed("pkill -f lomiri-camera-app")
|
||||
|
||||
with subtest("lomiri camera localisation works"):
|
||||
machine.succeed("env LANG=de_DE.UTF-8 lomiri-camera-app >&2 &")
|
||||
machine.wait_for_text("Kamera")
|
||||
machine.screenshot("lomiri-camera_localised")
|
||||
'';
|
||||
}
|
@ -174,9 +174,6 @@ in {
|
||||
# Using the keybind has a chance of instantly closing the menu again? Just click the button
|
||||
mouse_click(20, 30)
|
||||
|
||||
# Look for Search box & GUI-less content-hub examples, highest chances of avoiding false positives
|
||||
machine.wait_for_text(r"(Search|Export|Import|Share)")
|
||||
|
||||
start_all()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
|
@ -506,7 +506,7 @@ rec {
|
||||
baseConfig = { pkgs, lib, ... }: {
|
||||
imports = [ common ];
|
||||
boot.loader.systemd-boot.bootCounting.enable = true;
|
||||
boot.loader.systemd-boot.bootCounting.trials = 2;
|
||||
boot.loader.systemd-boot.bootCounting.tries = 2;
|
||||
};
|
||||
in
|
||||
makeTest {
|
||||
|
@ -28,13 +28,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "7.18";
|
||||
version = "7.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||
hash = if stdenv.isDarwin then "sha256-ETvWq+71G4v25F/iUjP7NWJ0QkPMKn7akfBOA7EKzKg=" else {
|
||||
x86_64-linux = "sha256-kddqIKgTTImbDIFtPqV/6YsnfNYsDPLhcelJIBC4R8s=";
|
||||
aarch64-linux = "sha256-PNFSifZwH+VzfljyrlQZKZ+NEiiINXnVecOXgn1gY/Q=";
|
||||
hash = if stdenv.isDarwin then "sha256-uxrLtq7rTmsgYHeE1yizHsnuijiL17RkbeBJPRUqRnw=" else {
|
||||
x86_64-linux = "sha256-f38WtxmIbkZpi0P8Cn5jEU7aP2AzEvbnalBg9N/rbMY=";
|
||||
aarch64-linux = "sha256-WTXF/l7Z33LKzjrTQ8YesgJUBVtKUTDkjfO8curuL2o=";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
};
|
||||
|
||||
|
@ -44,13 +44,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "strawberry";
|
||||
version = "1.0.23";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonaski";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-hzZx530HD7R3JOG6cCsoaW9puYkmu7m5lr+EfobKX7o=";
|
||||
hash = "sha256-REoki+8rneQ+4rL9rC7Md5Hrj6ftd7RePEF1fK4FnKY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -5,23 +5,23 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "restic-integrity";
|
||||
version = "1.2.2";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.nwex.de";
|
||||
owner = "networkException";
|
||||
repo = "restic-integrity";
|
||||
rev = version;
|
||||
hash = "sha256-QiISJCxxJH8wQeH/klB48POn6W9juQmIMCLGzGSyl6w=";
|
||||
hash = "sha256-mryHePqfEawW/vLgxfm+eh4oSbcALhxvRid4kF9klTs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-GxehJjDd0AHbEc8kPWyLXAOPbrPCT59LddAL1ydnT5g=";
|
||||
cargoHash = "sha256-0BvB1ijsppblEC2PNLfVt+sgM4wTdSLZ/RoDH4JrQy4=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool to check the integrity of a restic repository without unlocking it";
|
||||
homepage = "https://git.nwex.de/networkException/restic-integrity";
|
||||
license = with licenses; [ bsd2 ];
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ networkexception ];
|
||||
mainProgram = "restic-integrity";
|
||||
};
|
||||
}
|
||||
|
@ -76,18 +76,18 @@
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "7c05b5ade8c5eea48677d83a2ec816a86559dadfcf04c67f2c8584acf8716bc3",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.3.tar.gz",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "043c33371cb5fb31fdeab6deccc809189efdc6d404f771c541d4dd779adcd2fa",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.4.tar.gz",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "be3be94349ec55726fe9180d8a46097e7110a9e1cb7fd2cca85b961814a6e415",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.3.tar.gz",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "3a12ada098a839ba3c32820071ecc04cb71e8e1066d0753397399c2e52941de9",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.4.tar.gz",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
@ -108,10 +108,10 @@
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
|
||||
"version": "2024.1.2",
|
||||
"sha256": "68a94f4d57ca937629f825be9c1375328b4fbf50c4bf0561d1b9b8db04102a62",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.2.tar.gz",
|
||||
"build_number": "241.17011.169"
|
||||
"version": "2024.1.6",
|
||||
"sha256": "42cf845a9159ab5ab182f501cb95154a27701af04ea01e309308ef6a5bb9ebfa",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.6.tar.gz",
|
||||
"build_number": "241.17890.43"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
@ -125,9 +125,9 @@
|
||||
"update-channel": "Writerside EAP",
|
||||
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.tar.gz",
|
||||
"version": "2024.1 EAP",
|
||||
"sha256": "efb69c46ab8f3a461c42d5b6d4f7e843d01f584ae97030110d36d71de453e320",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.16003.85.tar.gz",
|
||||
"build_number": "241.16003.85"
|
||||
"sha256": "47b3323fc18e6f8c9edc71ed309b95f09385123d9b9c9492b55ad6a77b2925ee",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.18775.98.tar.gz",
|
||||
"build_number": "241.18775.98"
|
||||
}
|
||||
},
|
||||
"aarch64-linux": {
|
||||
@ -207,18 +207,18 @@
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "bf3156d442119f6a522c08e888a591d6c199a441550bff90ee5729087d0401b9",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.3-aarch64.tar.gz",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "40dc15c31f44afd8ea5b42de54863253036b0d0f41b20612d0abd937e36af267",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.4-aarch64.tar.gz",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "44f6134f352d0d3754a29d6ca6a6c2a084a2918d302946b45141714f3b8ceaaf",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.3-aarch64.tar.gz",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "a90c657a333e1825c934d524cb426115c85d19d7aebfa4a149fda5062be29fab",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.4-aarch64.tar.gz",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
@ -239,10 +239,10 @@
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
|
||||
"version": "2024.1.2",
|
||||
"sha256": "a6abde77ef84f10d342b57c3f6bff84d0b973d8265c2baeb2490fc36dbcca13f",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.2-aarch64.tar.gz",
|
||||
"build_number": "241.17011.169"
|
||||
"version": "2024.1.6",
|
||||
"sha256": "4671d426dfbf89f614c1ce367c7afba0ef64b7058b4777b72ce145715a352fd1",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.6-aarch64.tar.gz",
|
||||
"build_number": "241.17890.43"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
@ -256,9 +256,9 @@
|
||||
"update-channel": "Writerside EAP",
|
||||
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.tar.gz",
|
||||
"version": "2024.1 EAP",
|
||||
"sha256": "d9f764a8fcbdf13e67f1f152f790c38602792b07fdfd7a8935d320ed8ae68921",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.16003.85-aarch64.tar.gz",
|
||||
"build_number": "241.16003.85"
|
||||
"sha256": "937c30cdfd1431bcdde10bf47f1236ea57c10eca8cd1210a04629a64b383c054",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.18775.98-aarch64.tar.gz",
|
||||
"build_number": "241.18775.98"
|
||||
}
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
@ -338,18 +338,18 @@
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "e115df42536457558b632647b93f86605feaca23bcec5af2d03a8c50ce80e81e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.3.dmg",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "22558efc74b2d10fcde02650765cc3b500841d71796dba48d018fc8f794cfd5f",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.4.dmg",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "01e29968ef3b5ef18b5425a1aa23d5a36d8c9f413a8ff6b0565f0d59e8601779",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.3.dmg",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "99f22cba7855dbe8acaa0ec222dfaa75cea2ebe5975f1adca6c7b52c7fa763a5",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.4.dmg",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
@ -370,10 +370,10 @@
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
|
||||
"version": "2024.1.2",
|
||||
"sha256": "d937f1f8eb6a7d0ce35218a616d6e7e237b86c7fdb9562b2ff3213ad3c3730de",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.2.dmg",
|
||||
"build_number": "241.17011.169"
|
||||
"version": "2024.1.6",
|
||||
"sha256": "c5f079356ae9e38424be3257734b8665393146c831bddc917a4b1086321682cf",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.6.dmg",
|
||||
"build_number": "241.17890.43"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
@ -387,9 +387,9 @@
|
||||
"update-channel": "Writerside EAP",
|
||||
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.dmg",
|
||||
"version": "2024.1 EAP",
|
||||
"sha256": "a9ad84d95ad86b38f35bec25032235b907e19ddf3ef696404f4341650a7eb7b1",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.16003.85.dmg",
|
||||
"build_number": "241.16003.85"
|
||||
"sha256": "0e97d9a2ef53f18930b63a48d7303783aca7422c5d6818543f4805c01991ba41",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.18775.98.dmg",
|
||||
"build_number": "241.18775.98"
|
||||
}
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
@ -469,18 +469,18 @@
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "4f0112b2629faa60325e82d70e8864bb796a41942eb06ddb287ca1ef0d9feba9",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.3-aarch64.dmg",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "63c0a14bbad81ab0c1c733802eaf86328e46ebc2de4e7bc0e240f76aefbdf54e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2024.1.4-aarch64.dmg",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
|
||||
"version": "2024.1.3",
|
||||
"sha256": "28ec2b34fecc8abd38a1ba1661f8a3e784b7cb8d7cf496a51235475db66a190a",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.3-aarch64.dmg",
|
||||
"build_number": "241.17890.14"
|
||||
"version": "2024.1.4",
|
||||
"sha256": "ecfd340566f8c9ed6afcd42331568db5d91fa3a036c511ae8427f573199c3a44",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.4-aarch64.dmg",
|
||||
"build_number": "241.18034.82"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
@ -501,10 +501,10 @@
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
|
||||
"version": "2024.1.2",
|
||||
"sha256": "af973b73e5ced9982703d7f5d163e3bd8bee8b095aac16b2151ec2c7f1d4d870",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.2-aarch64.dmg",
|
||||
"build_number": "241.17011.169"
|
||||
"version": "2024.1.6",
|
||||
"sha256": "5216ea7e5e994a3df4f1095772f5a44e999d7ca0ac02a21698149c8023c46893",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-2024.1.6-aarch64.dmg",
|
||||
"build_number": "241.17890.43"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
@ -518,9 +518,9 @@
|
||||
"update-channel": "Writerside EAP",
|
||||
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.dmg",
|
||||
"version": "2024.1 EAP",
|
||||
"sha256": "d3bb0079046570dbfa5175b388e091b1567c024a7ec8587e7c8e5389cf1bd721",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.16003.85-aarch64.dmg",
|
||||
"build_number": "241.16003.85"
|
||||
"sha256": "956fc3d39a2aa34648c272780843729356a20c0a4a1ceb20e69a9f86a562278c",
|
||||
"url": "https://download.jetbrains.com/writerside/writerside-241.18775.98-aarch64.dmg",
|
||||
"build_number": "241.18775.98"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -18,16 +18,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip"
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip"
|
||||
},
|
||||
"name": "ideavim"
|
||||
},
|
||||
@ -46,7 +46,7 @@
|
||||
"idea-ultimate"
|
||||
],
|
||||
"builds": {
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/1347/560035/scala-intellij-bin-2024.1.24.zip"
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/1347/572480/scala-intellij-bin-2024.1.25.zip"
|
||||
},
|
||||
"name": "scala"
|
||||
},
|
||||
@ -68,16 +68,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip"
|
||||
},
|
||||
"name": "string-manipulation"
|
||||
},
|
||||
@ -99,16 +99,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": null,
|
||||
"241.17011.169": null,
|
||||
"241.17890.14": null,
|
||||
"241.17890.24": null,
|
||||
"241.17890.43": null,
|
||||
"241.18034.45": null,
|
||||
"241.18034.50": null,
|
||||
"241.18034.61": null,
|
||||
"241.18034.62": null,
|
||||
"241.18034.63": null,
|
||||
"241.18034.69": null,
|
||||
"241.18034.76": null
|
||||
"241.18034.76": null,
|
||||
"241.18034.82": null
|
||||
},
|
||||
"name": "kotlin"
|
||||
},
|
||||
@ -130,16 +130,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": null,
|
||||
"241.17011.169": null,
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/6981/552764/ini-241.17890.13.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/6981/552764/ini-241.17890.13.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip"
|
||||
"241.17890.24": null,
|
||||
"241.17890.43": null,
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip"
|
||||
},
|
||||
"name": "ini"
|
||||
},
|
||||
@ -161,16 +161,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip"
|
||||
},
|
||||
"name": "acejump"
|
||||
},
|
||||
@ -208,13 +208,13 @@
|
||||
"rust-rover"
|
||||
],
|
||||
"builds": {
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/7322/540027/python-ce-241.17011.48.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip"
|
||||
},
|
||||
"name": "python-community-edition"
|
||||
},
|
||||
@ -236,16 +236,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip"
|
||||
},
|
||||
"name": "asciidoc"
|
||||
},
|
||||
@ -266,7 +266,6 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"241.17890.14": null,
|
||||
"241.17890.24": null,
|
||||
"241.18034.45": null,
|
||||
"241.18034.50": null,
|
||||
@ -274,7 +273,8 @@
|
||||
"241.18034.62": null,
|
||||
"241.18034.63": null,
|
||||
"241.18034.69": null,
|
||||
"241.18034.76": null
|
||||
"241.18034.76": null,
|
||||
"241.18034.82": null
|
||||
},
|
||||
"name": "-deprecated-rust"
|
||||
},
|
||||
@ -295,7 +295,6 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": null,
|
||||
"241.17890.14": null,
|
||||
"241.17890.24": null,
|
||||
"241.18034.45": null,
|
||||
"241.18034.50": null,
|
||||
@ -303,7 +302,8 @@
|
||||
"241.18034.62": null,
|
||||
"241.18034.63": null,
|
||||
"241.18034.69": null,
|
||||
"241.18034.76": null
|
||||
"241.18034.76": null,
|
||||
"241.18034.82": null
|
||||
},
|
||||
"name": "-deprecated-rust-beta"
|
||||
},
|
||||
@ -317,10 +317,10 @@
|
||||
"ruby-mine"
|
||||
],
|
||||
"builds": {
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip"
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip"
|
||||
},
|
||||
"name": "ide-features-trainer"
|
||||
},
|
||||
@ -342,16 +342,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip"
|
||||
},
|
||||
"name": "nixidea"
|
||||
},
|
||||
@ -384,16 +384,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
|
||||
},
|
||||
"name": "csv-editor"
|
||||
},
|
||||
@ -414,17 +414,17 @@
|
||||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/11349/561478/aws-toolkit-jetbrains-standalone-3.13-233.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip"
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/11349/578646/aws-toolkit-jetbrains-standalone-3.20-233.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip"
|
||||
},
|
||||
"name": "aws-toolkit"
|
||||
},
|
||||
@ -445,17 +445,17 @@
|
||||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"233.13135.1068": null,
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
|
||||
},
|
||||
"name": "vscode-keymap"
|
||||
},
|
||||
@ -477,16 +477,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
|
||||
},
|
||||
"name": "eclipse-keymap"
|
||||
},
|
||||
@ -508,16 +508,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
|
||||
},
|
||||
"name": "visual-studio-keymap"
|
||||
},
|
||||
@ -539,16 +539,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": null,
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip"
|
||||
},
|
||||
"name": "protocol-buffers"
|
||||
},
|
||||
@ -570,16 +570,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
||||
},
|
||||
"name": "darcula-pitch-black"
|
||||
},
|
||||
@ -600,17 +600,17 @@
|
||||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip"
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip"
|
||||
},
|
||||
"name": "github-copilot"
|
||||
},
|
||||
@ -632,16 +632,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
||||
},
|
||||
"name": "netbeans-6-5-keymap"
|
||||
},
|
||||
@ -663,16 +663,16 @@
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.1068": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.17890.14": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.17890.24": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.50": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.61": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.63": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.69": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip"
|
||||
"241.18034.76": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
|
||||
"241.18034.82": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip"
|
||||
},
|
||||
"name": "mermaid"
|
||||
},
|
||||
@ -683,9 +683,9 @@
|
||||
"rust-rover"
|
||||
],
|
||||
"builds": {
|
||||
"241.17011.169": "https://plugins.jetbrains.com/files/22407/555351/intellij-rust-241.27011.169.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/22407/555351/intellij-rust-241.27011.169.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/22407/555351/intellij-rust-241.27011.169.zip"
|
||||
"241.17890.43": "https://plugins.jetbrains.com/files/22407/578199/intellij-rust-241.37890.44.zip",
|
||||
"241.18034.45": "https://plugins.jetbrains.com/files/22407/578199/intellij-rust-241.37890.44.zip",
|
||||
"241.18034.62": "https://plugins.jetbrains.com/files/22407/578199/intellij-rust-241.37890.44.zip"
|
||||
},
|
||||
"name": "rust"
|
||||
}
|
||||
@ -693,30 +693,28 @@
|
||||
"files": {
|
||||
"https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip": "sha256-P8AFMVp/rFi7zTh9f/i45q/QalvI37itnK57Dz/W/z4=",
|
||||
"https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=",
|
||||
"https://plugins.jetbrains.com/files/11349/561478/aws-toolkit-jetbrains-standalone-3.13-233.zip": "sha256-Cc87UUI1dAFqmmydPRAcirlF2kF1v1sMcYMdHVZ5lK8=",
|
||||
"https://plugins.jetbrains.com/files/11349/561482/aws-toolkit-jetbrains-standalone-3.13-241.zip": "sha256-uk9DVZ7K+EwkoNubC5eoVwxlvYCd7KVTl90zJsKc4r0=",
|
||||
"https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=",
|
||||
"https://plugins.jetbrains.com/files/11349/578646/aws-toolkit-jetbrains-standalone-3.20-233.zip": "sha256-Xa+swM/llXNDTg5ol5Li25VPKZuZQYpboCnaxIQuVLI=",
|
||||
"https://plugins.jetbrains.com/files/11349/578649/aws-toolkit-jetbrains-standalone-3.20-241.zip": "sha256-M4xEhew2p2fPrEuVgnrkfuWs8HYQwi89dSda5o0f9/s=",
|
||||
"https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip": "sha256-LeQ5vi9PCJYmWNmT/sutWjSlwZaAYYuEljVJBYG2VpY=",
|
||||
"https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=",
|
||||
"https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip": "sha256-/hEx0gIFvUXD799tRmMHAt9Z5ziFgaQs1RX0zQwTJIA=",
|
||||
"https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip": "sha256-Nb2tSxL+mAY1qJ3waipgV8ep+0R/BaYnzz7zfwtLHmk=",
|
||||
"https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip": "sha256-tNgt0vIkdCB/LcaSj58mT6cNlw4lytRo0cZSt7sIERU=",
|
||||
"https://plugins.jetbrains.com/files/1347/560035/scala-intellij-bin-2024.1.24.zip": "sha256-lXAZCaCTxyVqV6SPJeSZ7EJmDf5SA+eby64kIsC9sVY=",
|
||||
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
|
||||
"https://plugins.jetbrains.com/files/1347/572480/scala-intellij-bin-2024.1.25.zip": "sha256-hyg9YS3XgvAxouVnn+v1+fk6kF6M6I560e9LqLVKgdw=",
|
||||
"https://plugins.jetbrains.com/files/14004/523287/protoeditor-241.15989.49.zip": "sha256-cltbHY5OOvf29otDNsF9Q2shJHDdW6UMbzDdZ6OATtI=",
|
||||
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
|
||||
"https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip": "sha256-6ibo1vdwO4olQTCWpWAefT3QCwgtzTo1ojilDes8Rvg=",
|
||||
"https://plugins.jetbrains.com/files/17718/561438/github-copilot-intellij-1.5.11.5872.zip": "sha256-4bYtBaLvcXZv8eVfG09ywSbcP+7SUb4j+NZ5mb2aluE=",
|
||||
"https://plugins.jetbrains.com/files/164/578496/IdeaVIM-2.15.2.zip": "sha256-87U5KPVLKQ76UfXS021+lhuaWLcxGdBdZeH4l/ccFPU=",
|
||||
"https://plugins.jetbrains.com/files/17718/578624/github-copilot-intellij-1.5.17.6356.zip": "sha256-oIH+bJ9ucU+tIs3m0tz5Mr2oqE6BeA4x9RjxJ95OZR0=",
|
||||
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
|
||||
"https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip": "sha256-DUiIQYIzYoXmgtBakSLtMB+xxJMaR70Jgg9erySa3wQ=",
|
||||
"https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip": "sha256-OqeQCqFe8iW/8NPg+9i+UKh+twIPQ9uLZrItMukCi7k=",
|
||||
"https://plugins.jetbrains.com/files/22407/555351/intellij-rust-241.27011.169.zip": "sha256-7rbYfO5CUvsW3HXWmEadreKbhJhX6joX15miODb2N+4=",
|
||||
"https://plugins.jetbrains.com/files/22407/578199/intellij-rust-241.37890.44.zip": "sha256-p9A3RzGg0cTX6zgqSIX1qxlrroypIdPkSoW12leI2Hs=",
|
||||
"https://plugins.jetbrains.com/files/631/559769/python-241.18034.62.zip": "sha256-DnjjUcwRL9dbNrHTnZacQYPE0biRFLmq6lR2ApRGgXI=",
|
||||
"https://plugins.jetbrains.com/files/6981/552764/ini-241.17890.13.zip": "sha256-7JQpKNttNfTvzfZ2Qj42FZAtSqx6GjWHhT0WRecK3tc=",
|
||||
"https://plugins.jetbrains.com/files/6981/560226/ini-241.18034.69.zip": "sha256-85KeM0H3Jw8WP6LjKf1L7mIRXxnTR3YUCT6xUduAN/s=",
|
||||
"https://plugins.jetbrains.com/files/6981/561911/ini-241.18034.82.zip": "sha256-PdS+qm3vG4JB5J/kNc9/hsVvjO/gMl/RZTg69jCNWlQ=",
|
||||
"https://plugins.jetbrains.com/files/7086/518678/AceJump.zip": "sha256-kVUEgfEKUupV/qlB4Dpzi5pFHjhVvX74XIPetKtjysM=",
|
||||
"https://plugins.jetbrains.com/files/7219/542990/Symfony_Plugin-2024.1.274.zip": "sha256-92uUIFz5kEjrbgPnomi0VXc9Du17evzGsO5ApsrtHrA=",
|
||||
"https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
|
||||
"https://plugins.jetbrains.com/files/7322/540027/python-ce-241.17011.48.zip": "sha256-UrvhbGhcqxGke5tZTktyaWVYIWO5NhOU/WiswMYr83Y=",
|
||||
"https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip": "sha256-njHcuJmpc/5JsfZ6mmjcRK2j78J0E4bu68T1A0DNdVU=",
|
||||
"https://plugins.jetbrains.com/files/7322/559299/python-ce-241.18034.55.zip": "sha256-e+MewymlNWzbut8eADe8jwqco921ULe83eLEGpDf1GY=",
|
||||
"https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip": "sha256-icVvR79Ut6RopPKqvUQf4ZHKg14LV8/KWUZfQh/BYV8=",
|
||||
|
@ -1,67 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, callPackage
|
||||
, wl-clipboard
|
||||
, xclip
|
||||
, makeWrapper
|
||||
, withXclip ? true
|
||||
, withWlclip ? true
|
||||
}:
|
||||
let
|
||||
clipboardPkgs = if stdenv.isLinux then
|
||||
lib.optional withXclip xclip ++
|
||||
lib.optional withWlclip wl-clipboard
|
||||
else [ ];
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "micro";
|
||||
version = "2.0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zyedidia";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fe+7RkUwCveBk14bYzg5uLGOqTVVJsrqixBQhCS79hY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ePhObvm3m/nT+7IyT0W6K+y+9UNkfd2kYjle2ffAd9Y=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
|
||||
subPackages = [ "cmd/micro" ];
|
||||
|
||||
ldflags = let t = "github.com/zyedidia/micro/v2/internal"; in [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X ${t}/util.Version=${version}"
|
||||
"-X ${t}/util.CommitHash=${src.rev}"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
GOOS= GOARCH= go generate ./runtime
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installManPage assets/packaging/micro.1
|
||||
install -Dm444 -t $out/share/applications assets/packaging/micro.desktop
|
||||
install -Dm644 assets/micro-logo-mark.svg $out/share/icons/hicolor/scalable/apps/micro.svg
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/micro" \
|
||||
--prefix PATH : "${lib.makeBinPath clipboardPkgs}"
|
||||
'';
|
||||
|
||||
passthru.tests.expect = callPackage ./test-with-expect.nix { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://micro-editor.github.io";
|
||||
description = "Modern and intuitive terminal-based text editor";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
mainProgram = "micro";
|
||||
};
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{ micro, expect, runCommand, writeScript }:
|
||||
|
||||
let expect-script = writeScript "expect-script" ''
|
||||
#!${expect}/bin/expect -f
|
||||
|
||||
spawn micro file.txt
|
||||
expect "file.txt"
|
||||
|
||||
send "Hello world!"
|
||||
expect "Hello world!"
|
||||
|
||||
# Send ctrl-q (exit)
|
||||
send "\021"
|
||||
|
||||
expect "Save changes to file.txt before closing?"
|
||||
send "y"
|
||||
|
||||
expect eof
|
||||
''; in
|
||||
runCommand "micro-test-expect"
|
||||
{
|
||||
nativeBuildInputs = [ micro expect ];
|
||||
passthru = { inherit expect-script; };
|
||||
} ''
|
||||
# Micro really wants a writable $HOME for its config directory.
|
||||
export HOME=$(pwd)
|
||||
expect -f ${expect-script}
|
||||
grep "Hello world!" file.txt
|
||||
touch $out
|
||||
''
|
@ -2020,8 +2020,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot";
|
||||
version = "1.200.920";
|
||||
hash = "sha256-LMShW9GN/wsDBodVn33Ui4qW0619r13VO2rSTPVE9TQ=";
|
||||
version = "1.219.1019"; # compatible with vscode ^1.91.0
|
||||
hash = "sha256-W39hZyJ5XtDghkKu4Ml99M0/jZ1tVMGesKAKPquTkb8=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -2037,8 +2037,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot-chat";
|
||||
version = "0.16.2024060502"; # compatible with vscode 1.90.0
|
||||
hash = "sha256-SAydDc3JlJzfCtbJICy3rWx8psVPdRdPfOuzR9Dqtp8=";
|
||||
version = "0.17.2024062801"; # compatible with vscode ^1.91.0
|
||||
hash = "sha256-aDTqHDGdWE/CG5bt/9um62sGFngHsJJvTl38NEqNq8E=";
|
||||
};
|
||||
meta = {
|
||||
description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features";
|
||||
@ -4439,8 +4439,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "code-spell-checker";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "4.0.4";
|
||||
hash = "sha256-WbEhTIuPqH77IuEDgjPUz9chHM/aYjMdpCI9Kf0KS2Q=";
|
||||
version = "4.0.5";
|
||||
hash = "sha256-vrM3a13S1LKQq2Bl/DN/vasVMyClBdYBOt8DiUbh61I=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||
|
@ -5,17 +5,22 @@
|
||||
, makeWrapper
|
||||
, wrapGAppsHook3
|
||||
|
||||
, withOpenGL ? true
|
||||
|
||||
, bison
|
||||
, blas
|
||||
, cairo
|
||||
, ffmpeg
|
||||
, fftw
|
||||
, flex
|
||||
, freetype
|
||||
, gdal
|
||||
, geos
|
||||
, lapack
|
||||
, libGLU
|
||||
, libiconv
|
||||
, libmysqlclient
|
||||
, libpng
|
||||
, libsvm
|
||||
, libtiff
|
||||
, libxml2
|
||||
, netcdf
|
||||
@ -33,16 +38,17 @@
|
||||
|
||||
let
|
||||
pyPackages = python311Packages;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "grass";
|
||||
version = "8.3.2";
|
||||
version = "8.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSGeo";
|
||||
repo = "grass";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-loeg+7h676d2WdYOMcJFyzeEZcxjBynir6Hz0J/GBns=";
|
||||
hash = "sha256-NKMshd6pr2O62ZjmQ/oPttmeVBYVD0Nqhh3SwQrhZf8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -53,7 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
flex
|
||||
gdal # for `gdal-config`
|
||||
geos # for `geos-config`
|
||||
libmysqlclient # for `mysql_config`
|
||||
netcdf # for `nc-config`
|
||||
pkg-config
|
||||
] ++ (with pyPackages; [ python-dateutil numpy wxpython ]);
|
||||
@ -63,12 +68,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cairo
|
||||
ffmpeg
|
||||
fftw
|
||||
freetype
|
||||
gdal
|
||||
geos
|
||||
libmysqlclient
|
||||
lapack
|
||||
libpng
|
||||
libsvm
|
||||
libtiff
|
||||
libxml2
|
||||
(libxml2.override { enableHttp = true; })
|
||||
netcdf
|
||||
pdal
|
||||
postgresql
|
||||
@ -78,7 +85,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wxGTK32
|
||||
zlib
|
||||
zstd
|
||||
] ++ lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
] ++ lib.optionals withOpenGL [ libGLU ]
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@ -87,26 +95,30 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./clang-integer-conversion.patch
|
||||
];
|
||||
|
||||
# Correct mysql_config query
|
||||
postPatch = ''
|
||||
substituteInPlace configure --replace "--libmysqld-libs" "--libs"
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-blas"
|
||||
"--with-cairo-ldflags=-lfontconfig"
|
||||
"--with-cxx"
|
||||
"--with-fftw"
|
||||
"--with-freetype"
|
||||
"--with-geos"
|
||||
# It complains about missing libmysqld but doesn't really seem to need it
|
||||
"--with-mysql"
|
||||
"--with-mysql-includes=${lib.getDev libmysqlclient}/include/mysql"
|
||||
"--with-mysql-libs=${libmysqlclient}/lib/mysql"
|
||||
"--with-netcdf"
|
||||
"--with-gdal"
|
||||
"--with-lapack"
|
||||
"--with-libsvm"
|
||||
"--with-nls"
|
||||
"--with-openmp"
|
||||
"--with-pdal"
|
||||
"--with-postgres"
|
||||
"--with-postgres-libs=${postgresql.lib}/lib/"
|
||||
"--with-proj-includes=${proj.dev}/include"
|
||||
"--with-proj-libs=${proj}/lib"
|
||||
"--with-proj-share=${proj}/share/proj"
|
||||
"--with-pthread"
|
||||
"--with-readline"
|
||||
"--with-sqlite"
|
||||
"--with-zstd"
|
||||
"--without-bzlib"
|
||||
"--without-mysql"
|
||||
"--without-odbc"
|
||||
] ++ lib.optionals (! withOpenGL) [
|
||||
"--without-opengl"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"--without-cairo"
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, lib, fetchFromGitHub, copyDesktopItems, makeDesktopItem, qmake
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch2, copyDesktopItems, makeDesktopItem, qmake
|
||||
, qtbase, qtxmlpatterns, qttools, qtwebengine, libGL, fontconfig, openssl, poppler, wrapQtAppsHook
|
||||
, ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg
|
||||
, ffmpeg_7, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg
|
||||
, libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }:
|
||||
|
||||
let
|
||||
@ -34,6 +34,22 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-OSAogtZoMisyRziv63ag9w8HQaaRdz0J28jQZR7cTMM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix: Support FFmpeg 7.0
|
||||
# https://github.com/OpenBoard-org/OpenBoard/pull/1017
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/OpenBoard-org/OpenBoard/commit/4f45b6c4016972cf5835f9188bda6197b1b4ed2f.patch?full_index=1";
|
||||
hash = "sha256-MUJbHfOCMlRO4pg5scm+DrBsngZwB7UPuDJZss5x9Zs=";
|
||||
})
|
||||
|
||||
# fix: Resolve FFmpeg 7.0 warnings
|
||||
# https://github.com/OpenBoard-org/OpenBoard/pull/1017
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/OpenBoard-org/OpenBoard/commit/315bcac782e10cc6ceef1fc8b78fff40541ea38f.patch?full_index=1";
|
||||
hash = "sha256-736eX+uXuZwHJxOXAgxs2/vjjD1JY9mMyj3rR45/7xk=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace OpenBoard.pro \
|
||||
--replace '/usr/include/quazip5' '${lib.getDev quazip}/include/QuaZip-Qt5-${quazip.version}/quazip' \
|
||||
@ -52,7 +68,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
fontconfig
|
||||
openssl
|
||||
poppler
|
||||
ffmpeg
|
||||
ffmpeg_7
|
||||
libva
|
||||
alsa-lib
|
||||
SDL
|
||||
|
@ -4,7 +4,6 @@
|
||||
, pkg-config
|
||||
, cmake
|
||||
, libvorbis
|
||||
, ffmpeg
|
||||
, libeb
|
||||
, hunspell
|
||||
, opencc
|
||||
@ -61,7 +60,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libiconv
|
||||
opencc
|
||||
libeb
|
||||
ffmpeg
|
||||
xapian
|
||||
libzim
|
||||
];
|
||||
@ -76,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cmakeFlags = [
|
||||
"-DWITH_XAPIAN=ON"
|
||||
"-DWITH_ZIM=ON"
|
||||
"-DWITH_FFMPEG_PLAYER=ON"
|
||||
"-DWITH_FFMPEG_PLAYER=OFF"
|
||||
"-DWITH_EPWING_SUPPORT=ON"
|
||||
"-DUSE_SYSTEM_FMT=ON"
|
||||
"-DUSE_SYSTEM_TOML=ON"
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hcl2json";
|
||||
version = "0.6.3";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmccombs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RBzx6TxkR6GwMGHIpkJeswZ3zV4hRf38rTGUO6u2OI4=";
|
||||
sha256 = "sha256-aYsE4Tmi2h+XiLZH0faoB17UA7xHht8bec5Kud+NLIk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-G/2bSFCXbph0bVjmWmcFgv4i/pCOQHhYxsVRVkpHPo4=";
|
||||
vendorHash = "sha256-Rjpru0SfGm9hdMQwvk8yM/E65YFB0NicaJ7a56/uwLE=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -57,6 +57,14 @@ python3.pkgs.buildPythonApplication rec {
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
# AttributeError: 'called_once' is not a valid assertion.
|
||||
"test_commit"
|
||||
# AttributeError: 'not_called' is not a valid assertion.
|
||||
"test_finalize_no_evolve"
|
||||
"test_patch"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# codestyle doesn't matter to us
|
||||
"tests/test_style.py"
|
||||
|
@ -76,26 +76,14 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
knownVulnerabilities = [
|
||||
"CVE-2019-9587: loop in PDF objects"
|
||||
"CVE-2019-9588: loop in PDF objects"
|
||||
"CVE-2019-16088: loop in PDF objects"
|
||||
"CVE-2022-38334"
|
||||
"CVE-2022-38928"
|
||||
"CVE-2022-41842"
|
||||
"CVE-2022-41843"
|
||||
"CVE-2022-43071"
|
||||
"CVE-2022-43295"
|
||||
"CVE-2022-45586"
|
||||
"CVE-2022-45587"
|
||||
"CVE-2023-26930"
|
||||
"CVE-2023-26931"
|
||||
"CVE-2023-26934"
|
||||
"CVE-2023-26935"
|
||||
"CVE-2023-26936"
|
||||
"CVE-2023-26937"
|
||||
"CVE-2023-26938"
|
||||
"CVE-2023-27655"
|
||||
"CVE-2023-31557"
|
||||
"CVE-2024-2971"
|
||||
"CVE-2024-3247"
|
||||
"CVE-2024-3248"
|
||||
"CVE-2024-3900"
|
||||
"CVE-2024-4141"
|
||||
"CVE-2024-4568"
|
||||
"CVE-2024-4976"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeconform";
|
||||
version = "0.6.6";
|
||||
version = "0.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yannh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pE5DDtraN5ubEsM+QfY5y/dqM31VsQ3FeM/c56AJ648=";
|
||||
sha256 = "sha256-Yq9lJ3rSG8v/PeofkZrnO2nzEgtyB5vtNafKabp8hnQ=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -22,6 +22,8 @@
|
||||
, libxslt
|
||||
, lyx
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, perl
|
||||
, perlPackages
|
||||
, pkg-config
|
||||
@ -66,35 +68,36 @@ let filters = {
|
||||
perl = perl.passthru.withPackages (p: [ p.ImageExifTool ]);
|
||||
};
|
||||
filterPath = lib.makeBinPath (map lib.getBin (builtins.attrValues filters));
|
||||
useInotify = if stdenv.isLinux then "true" else "false";
|
||||
in
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "recoll";
|
||||
version = "1.37.5";
|
||||
version = "1.39.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-vv2AMt6ufrfxRX2yF28X3E500MYP9hnGfDb3I9RdMVU=";
|
||||
url = "https://www.recoll.org/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-Eeadj/AnuztCb7VIYEy4hKbduH3CzK53tADvI9+PWmQ=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--enable-recollq"
|
||||
"--disable-webkit"
|
||||
"--without-systemd"
|
||||
mesonFlags = [
|
||||
"-Drecollq=true"
|
||||
"-Dwebkit=false"
|
||||
"-Dsystemd=false"
|
||||
|
||||
# this leaks into the final `librecoll-*.so` binary, so we need
|
||||
# to be sure it is taken from `pkgs.file` rather than `stdenv`,
|
||||
# especially when cross-compiling
|
||||
"--with-file-command=${file}/bin/file"
|
||||
"-Dfile-command=${file}/bin/file"
|
||||
|
||||
] ++ lib.optionals (!withPython) [
|
||||
"--disable-python-module"
|
||||
"--disable-python-chm"
|
||||
"-Dpython-module=false"
|
||||
"-Dpython-chm=false"
|
||||
] ++ lib.optionals (!withGui) [
|
||||
"--disable-qtgui"
|
||||
"--disable-x11mon"
|
||||
"-Dqtgui=false"
|
||||
"-Dx11mon=false"
|
||||
] ++ [
|
||||
(lib.withFeature stdenv.isLinux "inotify")
|
||||
"-Dinotify=${useInotify}"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
@ -111,6 +114,8 @@ mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
which
|
||||
] ++ lib.optionals withGui [
|
||||
@ -174,7 +179,7 @@ mkDerivation rec {
|
||||
ln -s ../Applications/recoll.app/Contents/MacOS/recoll $out/bin/recoll
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
enableParallelBuilding = false; # XXX: -j44 tried linking befoire librecoll had been created
|
||||
|
||||
meta = with lib; {
|
||||
description = "Full-text search tool";
|
||||
@ -182,8 +187,8 @@ mkDerivation rec {
|
||||
Recoll is an Xapian frontend that can search through files, archive
|
||||
members, email attachments.
|
||||
'';
|
||||
homepage = "https://www.lesbonscomptes.com/recoll/";
|
||||
changelog = "https://www.lesbonscomptes.com/recoll/pages/release-${versions.majorMinor version}.html";
|
||||
homepage = "https://www.recoll.org";
|
||||
changelog = "https://www.recoll.org/pages/release-history.html";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ jcumming ehmry ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
buildKodiBinaryAddon rec {
|
||||
pname = "pvr-hts";
|
||||
namespace = "pvr.hts";
|
||||
version = "21.2.4";
|
||||
version = "21.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kodi-pvr";
|
||||
repo = "pvr.hts";
|
||||
rev = "${version}-${rel}";
|
||||
sha256 = "sha256-3q78rJ+LGRD/pqeWfcP2Z469HAu1T0LoidvD6mjNkwg=";
|
||||
sha256 = "sha256-BG5mGD674gvjUSdydu4g3F/4GH53gkJoKMDuvaFNi6k=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -6,13 +6,13 @@
|
||||
buildKodiBinaryAddon rec {
|
||||
pname = "pvr-iptvsimple";
|
||||
namespace = "pvr.iptvsimple";
|
||||
version = "21.8.4";
|
||||
version = "21.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kodi-pvr";
|
||||
repo = "pvr.iptvsimple";
|
||||
rev = "${version}-${rel}";
|
||||
sha256 = "sha256-uuqk1kJnioCaRWIkC5liPSVRQPpviuaE+wmE4rq6fJw=";
|
||||
sha256 = "sha256-UFEZZr7Z6GqnN8ZSA+JkdsiAlf7p5xPwDOcwLzJc9v8=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
buildKodiBinaryAddon rec {
|
||||
pname = "pvr-vdr-vnsi";
|
||||
namespace = "pvr.vdr.vnsi";
|
||||
version = "21.1.1";
|
||||
version = "21.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kodi-pvr";
|
||||
repo = "pvr.vdr.vnsi";
|
||||
rev = "${version}-${rel}";
|
||||
sha256 = "sha256-Bd/21y3oAhQMmvrZzrN5Z6jLHySBd2LXNbLt/Me4jSw=";
|
||||
sha256 = "sha256-o7WVO/TvSK6bZEnUeNQhapXOVQbDlpJDObC93/9XpJo=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ libGL ];
|
||||
|
@ -261,5 +261,6 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.kodi.members;
|
||||
mainProgram = "kodi";
|
||||
};
|
||||
})
|
||||
|
@ -1,98 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitea
|
||||
, installShellFiles
|
||||
, libX11
|
||||
, libinput
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, pixman
|
||||
, pkg-config
|
||||
, wayland-scanner
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, wlroots
|
||||
, writeText
|
||||
, xcbutilwm
|
||||
, xwayland
|
||||
, enableXWayland ? true
|
||||
, conf ? null
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dwl";
|
||||
version = "0.5";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dwl";
|
||||
repo = "dwl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-U/vqGE1dJKgEGTfPMw02z5KJbZLWY1vwDJWnJxT8urM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pkg-config
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libinput
|
||||
libxcb
|
||||
libxkbcommon
|
||||
pixman
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlroots
|
||||
] ++ lib.optionals enableXWayland [
|
||||
libX11
|
||||
xcbutilwm
|
||||
xwayland
|
||||
];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
# Allow users to set an alternative config.def.h
|
||||
postPatch = let
|
||||
configFile = if lib.isDerivation conf || builtins.isPath conf
|
||||
then conf
|
||||
else writeText "config.def.h" conf;
|
||||
in lib.optionalString (conf != null) "cp ${configFile} config.def.h";
|
||||
|
||||
makeFlags = [
|
||||
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
|
||||
"WAYLAND_SCANNER=wayland-scanner"
|
||||
"PREFIX=$(out)"
|
||||
"MANDIR=$(man)/share/man"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=(
|
||||
XWAYLAND=${lib.optionalString enableXWayland "-DXWAYLAND"}
|
||||
XLIBS=${lib.optionalString enableXWayland "xcb\\ xcb-icccm"}
|
||||
)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/djpohly/dwl/";
|
||||
description = "Dynamic window manager for Wayland";
|
||||
longDescription = ''
|
||||
dwl is a compact, hackable compositor for Wayland based on wlroots. It is
|
||||
intended to fill the same space in the Wayland world that dwm does in X11,
|
||||
primarily in terms of philosophy, and secondarily in terms of
|
||||
functionality. Like dwm, dwl is:
|
||||
|
||||
- Easy to understand, hack on, and extend with patches
|
||||
- One C source file (or a very small number) configurable via config.h
|
||||
- Limited to 2000 SLOC to promote hackability
|
||||
- Tied to as few external dependencies as possible
|
||||
'';
|
||||
changelog = "https://github.com/djpohly/dwl/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = [ lib.maintainers.AndersonTorres ];
|
||||
inherit (wayland.meta) platforms;
|
||||
mainProgram = "dwl";
|
||||
};
|
||||
})
|
||||
# TODO: custom patches from upstream website
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "api-linter";
|
||||
version = "1.66.2";
|
||||
version = "1.67.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "googleapis";
|
||||
repo = "api-linter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-W4v+/XTtKE5MLRK8eaI1oz4ZB5K+QlY467WSz+RSaH0=";
|
||||
hash = "sha256-B98YFQYjBzHmKTc3yowT9JfWe8fiOVu0pFyyrwKk3Ws=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-czLcy/9QbBuKu3lPISx3Pzf2ccvdp7gF0SWVbSZ6Nn8=";
|
||||
vendorHash = "sha256-+dyoWK5iXH480c+akg26BCF/J8lKQoATVqZUfqMa080=";
|
||||
|
||||
subPackages = [ "cmd/api-linter" ];
|
||||
|
||||
|
@ -22,13 +22,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "aquamarine";
|
||||
version = "0.1.1";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "aquamarine";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-rux5XA+ixI0fuiQGSOerLKxsW2D8cfjmP1B7FY24xF8=";
|
||||
hash = "sha256-UKdFUKA/h6SeiXpQ06BSZkBJKDwFOFaGI3NtiuaDOhg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -38,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
hwdata
|
||||
hyprutils
|
||||
libdisplay-info
|
||||
libdrm
|
||||
@ -52,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
depsBuildBuild = [ hwdata ];
|
||||
strictDeps = true;
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
|
38
pkgs/by-name/ar/ares-cli/package.nix
Normal file
38
pkgs/by-name/ar/ares-cli/package.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "ares-cli";
|
||||
version = "3.1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "webos-tools";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gMAGMg/hobV8WhqutDmYBjqjZqfAdw+EoJX7j8pux18=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
ln -s npm-shrinkwrap.json package-lock.json
|
||||
'';
|
||||
|
||||
dontNpmBuild = true;
|
||||
npmDepsHash = "sha256-3ZUlGJY0aEf7wBig75txlkA6a6JcdkphJILFfIGIN04=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://webostv.developer.lge.com/develop/tools/cli-introduction";
|
||||
description = "A collection of commands used for creating, packaging, installing, and launching web apps for LG webOS TV.";
|
||||
longDescription = ''
|
||||
webOS CLI (Command Line Interface) provides a collection of commands used for creating, packaging, installing,
|
||||
and launching web apps in the command line environment. The CLI allows you to develop and test your app without using
|
||||
a specific IDE.
|
||||
'';
|
||||
mainProgram = "ares";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ rucadi ];
|
||||
};
|
||||
}
|
2063
pkgs/by-name/av/avbroot/Cargo.lock
generated
Normal file
2063
pkgs/by-name/av/avbroot/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
46
pkgs/by-name/av/avbroot/package.nix
Normal file
46
pkgs/by-name/av/avbroot/package.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
protobuf,
|
||||
bzip2,
|
||||
stdenv,
|
||||
darwin,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "avbroot";
|
||||
version = "3.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chenxiaolong";
|
||||
repo = "avbroot";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gG8pR/D5oaPPqq0e815J6z+dDVxh4VSoHIm1Yl3x2p4=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"bzip2-0.4.4" = "sha256-9YKPFvaGNdGPn2mLsfX8Dh90vR+X4l3YSrsz0u4d+uQ=";
|
||||
"zip-0.6.6" = "sha256-oZQOW7xlSsb7Tw8lby4LjmySpWty9glcZfzpPuQSSz0=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
protobuf
|
||||
];
|
||||
|
||||
buildInputs = [ bzip2 ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||
|
||||
meta = {
|
||||
description = "Sign (and root) Android A/B OTAs with custom keys while preserving Android Verified Boot";
|
||||
homepage = "https://github.com/chenxiaolong/avbroot";
|
||||
changelog = "https://github.com/chenxiaolong/avbroot/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ oluceps ];
|
||||
mainProgram = "avbroot";
|
||||
};
|
||||
}
|
@ -11,13 +11,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.15.0";
|
||||
version = "1.15.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "detachhead";
|
||||
repo = "basedpyright";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-SMF7BXPhoMyUqGY8WK5pIVAy+p/mS+Li+Lz0uLyhFjY=";
|
||||
hash = "sha256-x4hSzkVDTbF6CyJttTLbZmnA3Ccs3k9mW90lp2Krk6E=";
|
||||
};
|
||||
|
||||
patchedPackageJSON = runCommand "package.json" { } ''
|
||||
@ -47,7 +47,7 @@ let
|
||||
pname = "pyright-internal";
|
||||
inherit version src;
|
||||
sourceRoot = "${src.name}/packages/pyright-internal";
|
||||
npmDepsHash = "sha256-GO6ozBtf9P6tKhqtgNJjNdziJ9rYImH0fdYi7KZ1NgI=";
|
||||
npmDepsHash = "sha256-Kg2y+z1izv3KV83UdUqEdyd8m0geMseb8uSb6tv4c5o=";
|
||||
dontNpmBuild = true;
|
||||
# FIXME: Remove this flag when TypeScript 5.5 is released
|
||||
npmFlags = [ "--legacy-peer-deps" ];
|
||||
@ -94,7 +94,7 @@ buildNpmPackage rec {
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/packages/pyright";
|
||||
npmDepsHash = "sha256-areRNvJXmnK/yNCwQ//SNVI6eDOqweYxTULvrANLwPo=";
|
||||
npmDepsHash = "sha256-0zLSTePWvf3ZB6OE3cmjimYuAkoCmQ0besM2PiEEWao=";
|
||||
|
||||
postPatch = ''
|
||||
chmod +w ../../
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "boxbuddy";
|
||||
version = "2.2.8";
|
||||
version = "2.2.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dvlv";
|
||||
repo = "BoxBuddyRS";
|
||||
rev = version;
|
||||
hash = "sha256-AW2RKtxvF4WxCyb6QEDuTEAOy/DqBxoZrtc2JGeKFtk=";
|
||||
hash = "sha256-u5roZFpeVsqO/4kNdwnD2BCMSM8C0jVG98p/IdlHA8o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-J7VJSOY7Cj9Dsq0jj9uVTGJOessyx3WOlDbg7dS+1dg=";
|
||||
cargoHash = "sha256-LjHPIQoC/Nldfgl5sjbd+sxjtjY2ZeUd5rVaEEELQq4=";
|
||||
|
||||
# The software assumes it is installed either in flatpak or in the home directory
|
||||
# so the xdg data path needs to be patched here
|
||||
|
132
pkgs/by-name/dw/dwl/package.nix
Normal file
132
pkgs/by-name/dw/dwl/package.nix
Normal file
@ -0,0 +1,132 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitea,
|
||||
installShellFiles,
|
||||
libX11,
|
||||
libinput,
|
||||
libxcb,
|
||||
libxkbcommon,
|
||||
pixman,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
testers,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
wayland-scanner,
|
||||
wlroots,
|
||||
writeText,
|
||||
xcbutilwm,
|
||||
xwayland,
|
||||
# Boolean flags
|
||||
enableXWayland ? true,
|
||||
withCustomConfigH ? (configH != null),
|
||||
# Configurable options
|
||||
configH ?
|
||||
if conf != null then
|
||||
lib.warn ''
|
||||
conf parameter is deprecated;
|
||||
use configH instead
|
||||
'' conf
|
||||
else
|
||||
null,
|
||||
# Deprecated options
|
||||
# Remove them before next version of either Nixpkgs or dwl itself
|
||||
conf ? null,
|
||||
}:
|
||||
|
||||
# If we set withCustomConfigH, let's not forget configH
|
||||
assert withCustomConfigH -> (configH != null);
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dwl";
|
||||
version = "0.6";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dwl";
|
||||
repo = "dwl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-fygUzEi4bgopesvHByfpatkLFYI98qozJOUBNM2t9Mg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pkg-config
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libinput
|
||||
libxcb
|
||||
libxkbcommon
|
||||
pixman
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlroots
|
||||
]
|
||||
++ lib.optionals enableXWayland [
|
||||
libX11
|
||||
xcbutilwm
|
||||
xwayland
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
postPatch =
|
||||
let
|
||||
configFile =
|
||||
if lib.isDerivation configH || builtins.isPath configH then
|
||||
configH
|
||||
else
|
||||
writeText "config.h" configH;
|
||||
in
|
||||
lib.optionalString withCustomConfigH "cp ${configFile} config.h";
|
||||
|
||||
makeFlags =
|
||||
[
|
||||
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
|
||||
"WAYLAND_SCANNER=wayland-scanner"
|
||||
"PREFIX=$(out)"
|
||||
"MANDIR=$(man)/share/man"
|
||||
]
|
||||
++ lib.optionals enableXWayland [
|
||||
''XWAYLAND="-DXWAYLAND"''
|
||||
''XLIBS="xcb xcb-icccm"''
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# required for whitespaces in makeFlags
|
||||
__structuredAttrs = true;
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
# `dwl -v` emits its version string to stderr and returns 1
|
||||
command = "dwl -v 2>&1; return 0";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://codeberg.org/dwl/dwl";
|
||||
description = "Dynamic window manager for Wayland";
|
||||
longDescription = ''
|
||||
dwl is a compact, hackable compositor for Wayland based on wlroots. It is
|
||||
intended to fill the same space in the Wayland world that dwm does in X11,
|
||||
primarily in terms of philosophy, and secondarily in terms of
|
||||
functionality. Like dwm, dwl is:
|
||||
|
||||
- Easy to understand, hack on, and extend with patches
|
||||
- One C source file (or a very small number) configurable via config.h
|
||||
- Tied to as few external dependencies as possible
|
||||
'';
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = [ lib.maintainers.AndersonTorres ];
|
||||
inherit (wayland.meta) platforms;
|
||||
mainProgram = "dwl";
|
||||
};
|
||||
})
|
||||
# TODO: custom patches from upstream website
|
@ -1,4 +1,7 @@
|
||||
{ lib, stdenv, fetchFromGitHub
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, python3
|
||||
, installShellFiles
|
||||
}:
|
||||
@ -39,6 +42,19 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
doCheck = false;
|
||||
|
||||
patches = [
|
||||
# Adjust sshd filter for OpenSSH 9.8 new daemon name - remove next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/fail2ban/fail2ban/commit/2fed408c05ac5206b490368d94599869bd6a056d.patch";
|
||||
hash = "sha256-uyrCdcBm0QyA97IpHzuGfiQbSSvhGH6YaQluG5jVIiI=";
|
||||
})
|
||||
# filter.d/sshd.conf: ungroup (unneeded for _daemon) - remove next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/fail2ban/fail2ban/commit/50ff131a0fd8f54fdeb14b48353f842ee8ae8c1a.patch";
|
||||
hash = "sha256-YGsUPfQRRDVqhBl7LogEfY0JqpLNkwPjihWIjfGdtnQ=";
|
||||
})
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fooyin";
|
||||
version = "0.5.1";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ludouzi";
|
||||
repo = "fooyin";
|
||||
rev = "v" + finalAttrs.version;
|
||||
hash = "sha256-X546vdHSfED2LBztPj+3eK86pjD97I8H+PfhzXV2R3E=";
|
||||
hash = "sha256-h8unOzDSQ9ME6nbfLxau1EctJeNH8P2VG0IBQoqhwGs=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hugo";
|
||||
version = "0.129.0";
|
||||
version = "0.130.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-F76iT6rBloVNCc16VjQa7aoZP5hvcfGzqoVhXG43TGo=";
|
||||
hash = "sha256-ZZYItkQI9qxQ/STmvZQoL9kbQGIa+t7zeINeEvGHiG8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3ILFdQ3B/q5SX0JBlatN41swl0ijMne0AWnGbmcXMDc=";
|
||||
vendorHash = "sha256-k4huXZR2BJLMEsaGpfgEM11ZTbU1Tyfan9fOraCNXFY=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, installShellFiles
|
||||
, libxml2
|
||||
@ -22,6 +23,16 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoHash = "sha256-dY00xcMnOCWhdRzC+3mTHSIqeYEPUDBJeYd/GiLM/38=";
|
||||
|
||||
patches = [
|
||||
# Fix for rust 1.79, see https://github.com/Orange-OpenSource/hurl/issues/3057
|
||||
# We should be able to remove this at the next hurl version bump
|
||||
(fetchpatch {
|
||||
name = "hurl-fix-rust-1.79";
|
||||
url = "https://github.com/Orange-OpenSource/hurl/commit/d51c275fc63d1ee5bbdc6fc70279ec8dae86a9c1.patch";
|
||||
hash = "sha256-peA4Zq5J8ynL7trvydQ3ZqyHpJWrRmJeFeMKH9XT2n4=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
installShellFiles
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprutils";
|
||||
version = "0.2.0";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprutils";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-qmC9jGfbE4+EIBbbSAkrfR/p49wShjpv4/KztgE/P54=";
|
||||
hash = "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -53,13 +53,13 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "koboldcpp";
|
||||
version = "1.70.1";
|
||||
version = "1.71.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LostRuins";
|
||||
repo = "koboldcpp";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
sha256 = "sha256-wtSkmjx5mzESMvIflqH+QEavH5oeBgKBz8/JjU+CASo=";
|
||||
hash = "sha256-69iqpXzG9NXrqv08lJ36hlHWXwXUJs6yqcaGr32cHPw=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -7,13 +7,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "matrix-media-repo";
|
||||
version = "1.3.6";
|
||||
version = "1.3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "t2bot";
|
||||
repo = "matrix-media-repo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Yrw+6WKHm9Y31YvW5iXnUDhIg0TcSctaouIGhAN4iBo=";
|
||||
hash = "sha256-trVn+Mn98aJLQCpQX1+qps/uuA5+8zeDoM94eauxHO8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-fKDdL7C3L33caoXxlutzoND2izB5GH+5qTeojTskIUg=";
|
||||
|
28
pkgs/by-name/md/mdbook-yml-header/package.nix
Normal file
28
pkgs/by-name/md/mdbook-yml-header/package.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchCrate,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "mdbook-yml-header";
|
||||
version = "0.1.4";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-qRAqZUKOiXTh4cJjczBQ9zAL6voaDvko7elfE6eB2jA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-cn+R36koBSEp+wKtCQJK/L+mxeb8sHkZu8kWYRigIvw=";
|
||||
|
||||
meta = {
|
||||
description = "MdBook preprocessor for removing yml header within --- (front-matter)";
|
||||
homepage = "https://github.com/dvogt23/mdbook-yml-header";
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "mdbook-yml-header";
|
||||
maintainers = [ lib.maintainers.pinage404 ];
|
||||
};
|
||||
}
|
113
pkgs/by-name/mi/micro/package.nix
Normal file
113
pkgs/by-name/mi/micro/package.nix
Normal file
@ -0,0 +1,113 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
callPackage,
|
||||
wl-clipboard,
|
||||
xclip,
|
||||
makeWrapper,
|
||||
# Boolean flags
|
||||
withXclip ? stdenv.isLinux,
|
||||
withWlClipboard ?
|
||||
if withWlclip != null then
|
||||
lib.warn ''
|
||||
withWlclip is deprecated and will be removed;
|
||||
use withWlClipboard instead.
|
||||
'' withWlclip
|
||||
else
|
||||
stdenv.isLinux,
|
||||
# Deprecated options
|
||||
# Remove them before or right after next version update from Nixpkgs or this
|
||||
# package itself
|
||||
withWlclip ? null,
|
||||
}:
|
||||
|
||||
let
|
||||
self = buildGoModule {
|
||||
pname = "micro";
|
||||
version = "2.0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zyedidia";
|
||||
repo = "micro";
|
||||
rev = "v${self.version}";
|
||||
hash = "sha256-fe+7RkUwCveBk14bYzg5uLGOqTVVJsrqixBQhCS79hY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ePhObvm3m/nT+7IyT0W6K+y+9UNkfd2kYjle2ffAd9Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
subPackages = [ "cmd/micro" ];
|
||||
|
||||
ldflags =
|
||||
let
|
||||
t = "github.com/zyedidia/micro/v2/internal";
|
||||
in
|
||||
[
|
||||
"-s"
|
||||
"-w"
|
||||
"-X ${t}/util.Version=${self.version}"
|
||||
"-X ${t}/util.CommitHash=${self.src.rev}"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
preBuild = ''
|
||||
GOOS= GOARCH= go generate ./runtime
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installManPage assets/packaging/micro.1
|
||||
install -Dm444 assets/packaging/micro.desktop $out/share/applications/micro.desktop
|
||||
install -Dm644 assets/micro-logo-mark.svg $out/share/icons/hicolor/scalable/apps/micro.svg
|
||||
'';
|
||||
|
||||
postFixup =
|
||||
let
|
||||
clipboardPackages =
|
||||
lib.optionals withXclip [ xclip ]
|
||||
++ lib.optionals withWlClipboard [ wl-clipboard ];
|
||||
in
|
||||
lib.optionalString (withXclip || withWlClipboard) ''
|
||||
wrapProgram "$out/bin/micro" \
|
||||
--prefix PATH : "${lib.makeBinPath clipboardPackages}"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = lib.packagesFromDirectoryRecursive {
|
||||
inherit callPackage;
|
||||
directory = ./tests;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://micro-editor.github.io";
|
||||
description = "Modern and intuitive terminal-based text editor";
|
||||
longDescription = ''
|
||||
micro is a terminal-based text editor that aims to be easy to use and
|
||||
intuitive, while also taking advantage of the capabilities of modern
|
||||
terminals.
|
||||
|
||||
As its name indicates, micro aims to be somewhat of a successor to the
|
||||
nano editor by being easy to install and use. It strives to be enjoyable
|
||||
as a full-time editor for people who prefer to work in a terminal, or
|
||||
those who regularly edit files over SSH.
|
||||
'';
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "micro";
|
||||
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||
};
|
||||
};
|
||||
in
|
||||
self
|
13
pkgs/by-name/mi/micro/tests/_001-hello-expect/hello.tcl
Normal file
13
pkgs/by-name/mi/micro/tests/_001-hello-expect/hello.tcl
Normal file
@ -0,0 +1,13 @@
|
||||
spawn micro file.txt
|
||||
expect "file.txt"
|
||||
|
||||
send "Hello world!"
|
||||
expect "Hello world!"
|
||||
|
||||
# ctrl-q (exit)
|
||||
send "\021"
|
||||
|
||||
expect "Save changes to file.txt before closing?"
|
||||
send "y"
|
||||
|
||||
expect eof
|
26
pkgs/by-name/mi/micro/tests/_001-hello-expect/package.nix
Normal file
26
pkgs/by-name/mi/micro/tests/_001-hello-expect/package.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
expect,
|
||||
micro,
|
||||
runCommand,
|
||||
}:
|
||||
|
||||
let
|
||||
expect-script = builtins.path {
|
||||
name = "hello.tcl";
|
||||
path = ./hello.tcl;
|
||||
};
|
||||
in
|
||||
runCommand "micro-expect-hello-world"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
expect
|
||||
micro
|
||||
];
|
||||
}
|
||||
# Micro needs a writable $HOME for throwing its configuration
|
||||
''
|
||||
export HOME=$(pwd)
|
||||
expect -f ${expect-script}
|
||||
grep "Hello world!" file.txt
|
||||
cat file.txt > $out
|
||||
''
|
6
pkgs/by-name/mi/micro/tests/version.nix
Normal file
6
pkgs/by-name/mi/micro/tests/version.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{ micro, testers }:
|
||||
|
||||
testers.testVersion {
|
||||
package = micro;
|
||||
command = "micro -version";
|
||||
}
|
@ -4,16 +4,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "nar-serve";
|
||||
version = "0.6.1";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "numtide";
|
||||
repo = "nar-serve";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cSOYHYJJEGzFtkD4mjTmYBiM9CaWKt64xgV/JeNHpfM=";
|
||||
hash = "sha256-8QuMS00EutmqzAIPxyJEPxM8EHiWlSKs6E2Htoh3Kes=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-RpjLs4+9abbbysYAlPDUXBLe1cz4Lp+QmR1yv+LpYwQ=";
|
||||
vendorHash = "sha256-td9NYHGYJYPlIj2tnf5I/GnJQOOgODc6TakHFwxyvLQ=";
|
||||
|
||||
doCheck = false;
|
||||
|
@ -1,2 +0,0 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'neocities'
|
@ -1,48 +0,0 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
equatable (0.5.0)
|
||||
httpclient-fixcerts (2.8.5)
|
||||
necromancer (0.4.0)
|
||||
neocities (0.0.18)
|
||||
httpclient-fixcerts (~> 2.8, >= 2.8.5)
|
||||
pastel (~> 0.7, = 0.7.2)
|
||||
rake (~> 12.3, >= 12.3.1)
|
||||
tty-prompt (~> 0.12, = 0.12.0)
|
||||
tty-table (~> 0.10, = 0.10.0)
|
||||
pastel (0.7.2)
|
||||
equatable (~> 0.5.0)
|
||||
tty-color (~> 0.4.0)
|
||||
rake (12.3.3)
|
||||
strings (0.1.8)
|
||||
strings-ansi (~> 0.1)
|
||||
unicode-display_width (~> 1.5)
|
||||
unicode_utils (~> 1.4)
|
||||
strings-ansi (0.2.0)
|
||||
tty-color (0.4.3)
|
||||
tty-cursor (0.4.0)
|
||||
tty-prompt (0.12.0)
|
||||
necromancer (~> 0.4.0)
|
||||
pastel (~> 0.7.0)
|
||||
tty-cursor (~> 0.4.0)
|
||||
wisper (~> 1.6.1)
|
||||
tty-screen (0.6.5)
|
||||
tty-table (0.10.0)
|
||||
equatable (~> 0.5.0)
|
||||
necromancer (~> 0.4.0)
|
||||
pastel (~> 0.7.2)
|
||||
strings (~> 0.1.0)
|
||||
tty-screen (~> 0.6.4)
|
||||
unicode-display_width (1.8.0)
|
||||
unicode_utils (1.4.0)
|
||||
wisper (1.6.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
neocities
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.5
|
@ -1,169 +0,0 @@
|
||||
{
|
||||
equatable = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.0";
|
||||
};
|
||||
httpclient-fixcerts = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1zfszylh51y8ic8sbff3mwf30jb0gj270r5nxkcm1ydxad19w6sl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.5";
|
||||
};
|
||||
necromancer = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.0";
|
||||
};
|
||||
neocities = {
|
||||
dependencies =
|
||||
[ "httpclient-fixcerts" "pastel" "rake" "tty-prompt" "tty-table" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1hfvy4gc7rzxkgl2dbrjs2fqzi5mphmr22rjfhk6n0i3bd0wazbw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.18";
|
||||
};
|
||||
pastel = {
|
||||
dependencies = [ "equatable" "tty-color" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.2";
|
||||
};
|
||||
rake = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1cvaqarr1m84mhc006g3l1vw7sa5qpkcw0138lsxlf769zdllsgp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "12.3.3";
|
||||
};
|
||||
strings = {
|
||||
dependencies = [ "strings-ansi" "unicode-display_width" "unicode_utils" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "111876lcqrykh30w7zzkrl06d6rj9lq24y625m28674vgfxkkcz0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.8";
|
||||
};
|
||||
strings-ansi = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
tty-color = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0zz5xa6xbrj69h334d8nx7z732fz80s1a0b02b53mim95p80s7bk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.3";
|
||||
};
|
||||
tty-cursor = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "07whfm8mnp7l49s2cm2qy1snhsqq3a90sqwb71gvym4hm2kx822a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.0";
|
||||
};
|
||||
tty-prompt = {
|
||||
dependencies = [ "necromancer" "pastel" "tty-cursor" "wisper" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1026nyqhgmgxi2nmk8xk3hca07gy5rpisjs8y6w00wnw4f01kpv0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.12.0";
|
||||
};
|
||||
tty-screen = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.5";
|
||||
};
|
||||
tty-table = {
|
||||
dependencies =
|
||||
[ "equatable" "necromancer" "pastel" "strings" "tty-screen" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "05krrj1x5pmfbz74paszrsr1316w9b9jlc4wpd9s9gpzqfzwjzcg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.10.0";
|
||||
};
|
||||
unicode-display_width = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.0";
|
||||
};
|
||||
unicode_utils = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
wisper = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "19bw0z1qw1dhv7gn9lad25hgbgpb1bkw8d599744xdfam158ms2s";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.1";
|
||||
};
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{ lib
|
||||
, bundlerApp
|
||||
, bundlerUpdateScript
|
||||
}:
|
||||
|
||||
bundlerApp {
|
||||
pname = "neocities";
|
||||
gemdir = ./.;
|
||||
exes = [ "neocities" ];
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "neocities";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Neocities Gem - A CLI and library for using the Neocities web site API";
|
||||
homepage = "https://github.com/neocities/neocities-ruby";
|
||||
license = licenses.mit;
|
||||
mainProgram = "neocities";
|
||||
maintainers = with maintainers; [ dawoox ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -39,9 +39,10 @@ GEM
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
neocities
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2.5.5
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user