Merge master into haskell-updates
This commit is contained in:
+12
-11
@@ -64,22 +64,21 @@ let
|
||||
# linux kernel configuration
|
||||
kernel = callLibs ./kernel.nix;
|
||||
|
||||
inherit (builtins) add addErrorContext attrNames concatLists
|
||||
deepSeq elem elemAt filter genericClosure genList getAttr
|
||||
hasAttr head isAttrs isBool isInt isList isPath isString length
|
||||
lessThan listToAttrs pathExists readFile replaceStrings seq
|
||||
stringLength sub substring tail trace;
|
||||
# TODO: For consistency, all builtins should also be available from a sub-library;
|
||||
# these are the only ones that are currently not
|
||||
inherit (builtins) addErrorContext isPath trace;
|
||||
inherit (self.trivial) id const pipe concat or and xor bitAnd bitOr bitXor
|
||||
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
|
||||
importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
|
||||
info showWarnings nixpkgsVersion version isInOldestRelease
|
||||
mod compare splitByAndCompare
|
||||
mod compare splitByAndCompare seq deepSeq lessThan add sub
|
||||
functionArgs setFunctionArgs isFunction toFunction mirrorFunctionArgs
|
||||
toHexString toBaseDigits inPureEvalMode;
|
||||
toHexString toBaseDigits inPureEvalMode isBool isInt pathExists
|
||||
genericClosure readFile;
|
||||
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
|
||||
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
|
||||
inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath
|
||||
getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs
|
||||
getAttrFromPath attrVals attrNames attrValues getAttrs catAttrs filterAttrs
|
||||
filterAttrsRecursive foldlAttrs foldAttrs collect nameValuePair mapAttrs
|
||||
mapAttrs' mapAttrsToList attrsToList concatMapAttrs mapAttrsRecursive
|
||||
mapAttrsRecursiveCond genAttrs isDerivation toDerivation optionalAttrs
|
||||
@@ -87,14 +86,16 @@ let
|
||||
recursiveUpdate matchAttrs mergeAttrsList overrideExisting showAttrPath getOutput
|
||||
getBin getLib getDev getMan chooseDevOutputs zipWithNames zip
|
||||
recurseIntoAttrs dontRecurseIntoAttrs cartesianProduct cartesianProductOfSets
|
||||
mapCartesianProduct updateManyAttrsByPath intersectAttrs removeAttrs;
|
||||
mapCartesianProduct updateManyAttrsByPath listToAttrs hasAttr getAttr isAttrs intersectAttrs removeAttrs;
|
||||
inherit (self.lists) singleton forEach map foldr fold foldl foldl' imap0 imap1
|
||||
ifilter0 concatMap flatten remove findSingle findFirst any all count
|
||||
filter ifilter0 concatMap flatten remove findSingle findFirst any all count
|
||||
optional optionals toList range replicate partition zipListsWith zipLists
|
||||
reverseList listDfs toposort sort sortOn naturalSort compareLists take
|
||||
drop sublist last init crossLists unique allUnique intersectLists
|
||||
subtractLists mutuallyExclusive groupBy groupBy';
|
||||
subtractLists mutuallyExclusive groupBy groupBy' concatLists genList
|
||||
length head tail elem elemAt isList;
|
||||
inherit (self.strings) concatStrings concatMapStrings concatImapStrings
|
||||
stringLength substring isString replaceStrings
|
||||
intersperse concatStringsSep concatMapStringsSep
|
||||
concatImapStringsSep concatLines makeSearchPath makeSearchPathOutput
|
||||
makeLibraryPath makeIncludePath makeBinPath optionalString
|
||||
|
||||
@@ -530,6 +530,13 @@ in mkLicense lset) ({
|
||||
fullName = "Unspecified free software license";
|
||||
};
|
||||
|
||||
fsl11Mit = {
|
||||
fullName = "Functional Source License, Version 1.1, MIT Future License";
|
||||
url = "https://fsl.software/FSL-1.1-MIT.template.md";
|
||||
free = false;
|
||||
redistributable = true;
|
||||
};
|
||||
|
||||
ftl = {
|
||||
spdxId = "FTL";
|
||||
fullName = "Freetype Project License";
|
||||
|
||||
@@ -1977,6 +1977,12 @@
|
||||
githubId = 12958979;
|
||||
name = "Mika Naylor";
|
||||
};
|
||||
autra = {
|
||||
email = "augustin.trancart@gmail.com";
|
||||
github = "autra";
|
||||
githubId = 1576598;
|
||||
name = "Augustin Trancart";
|
||||
};
|
||||
autrimpo = {
|
||||
email = "michal@koutensky.net";
|
||||
github = "autrimpo";
|
||||
@@ -3956,6 +3962,12 @@
|
||||
githubId = 40290417;
|
||||
name = "Seb Blair";
|
||||
};
|
||||
CompileTime = {
|
||||
email = "socialcoms@posteo.de";
|
||||
github = "Compile-Time";
|
||||
githubId = 18414241;
|
||||
name = "Andreas Erdes";
|
||||
};
|
||||
confus = {
|
||||
email = "con-f-use@gmx.net";
|
||||
github = "con-f-use";
|
||||
@@ -11636,6 +11648,13 @@
|
||||
githubId = 10626;
|
||||
name = "Andreas Wagner";
|
||||
};
|
||||
lpchaim = {
|
||||
email = "lpchaim@gmail.comm";
|
||||
matrix = "@lpchaim:matrix.org";
|
||||
github = "lpchaim";
|
||||
githubId = 4030336;
|
||||
name = "Lucas Chaim";
|
||||
};
|
||||
lpostula = {
|
||||
email = "lois@postu.la";
|
||||
github = "loispostula";
|
||||
@@ -15797,6 +15816,12 @@
|
||||
githubId = 4303706;
|
||||
keys = [ { fingerprint = "B00F E582 FD3F 0732 EA48 3937 F558 14E4 D687 4375"; } ];
|
||||
};
|
||||
pladypus = {
|
||||
name = "Peter Loftus";
|
||||
email = "loftusp5976+nixpkgs@gmail.com";
|
||||
github = "pladypus";
|
||||
githubId = 56337621;
|
||||
};
|
||||
plchldr = {
|
||||
email = "mail@oddco.de";
|
||||
github = "plchldr";
|
||||
@@ -21539,12 +21564,6 @@
|
||||
githubId = 11740700;
|
||||
name = "Andrei Pampu";
|
||||
};
|
||||
wolfangaukang = {
|
||||
email = "clone.gleeful135+nixpkgs@anonaddy.me";
|
||||
github = "WolfangAukang";
|
||||
githubId = 8378365;
|
||||
name = "P. R. d. O.";
|
||||
};
|
||||
wolfgangwalther = {
|
||||
name = "Wolfgang Walther";
|
||||
email = "walther@technowledgy.de";
|
||||
|
||||
@@ -453,7 +453,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
The new names are as follows:
|
||||
- `bindAddress`: [`services.keycloak.settings.http-host`](#opt-services.keycloak.settings.http-host)
|
||||
- `forceBackendUrlToFrontendUrl`: [`services.keycloak.settings.hostname-strict-backchannel`](#opt-services.keycloak.settings.hostname-strict-backchannel)
|
||||
- `forceBackendUrlToFrontendUrl`: `services.keycloak.settings.hostname-strict-backchannel`
|
||||
- `httpPort`: [`services.keycloak.settings.http-port`](#opt-services.keycloak.settings.http-port)
|
||||
- `httpsPort`: [`services.keycloak.settings.https-port`](#opt-services.keycloak.settings.https-port)
|
||||
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
||||
|
||||
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
||||
- `transmission-gtk`: `~/.config/transmission`
|
||||
- `transmission-daemon` using NixOS module: `${config.services.transmission.home}/.config/transmission-daemon` (defaults to `/var/lib/transmission/.config/transmission-daemon`)
|
||||
|
||||
- `androidenv.androidPkgs_9_0` has been removed, and replaced with `androidenv.androidPkgs` for a more complete Android SDK including support for Android 9 and later.
|
||||
|
||||
- `wstunnel` has had a major version upgrade that entailed rewriting the program in Rust.
|
||||
@@ -35,11 +39,19 @@
|
||||
Also be aware that if you have set additional options in `services.wstunnel.{clients,servers}.<name>.extraArgs`,
|
||||
that those might have been removed or modified upstream.
|
||||
|
||||
- `clang-tools_<version>` packages have been moved into `llvmPackages_<version>` (i.e. `clang-tools_18` is now `llvmPackages_18.clang-tools`).
|
||||
- For convenience, the top-level `clang-tools` attribute remains and is now bound to `llvmPackages.clang-tools`.
|
||||
- Top-level `clang_tools_<version>` attributes are now aliases; these will be removed in a future release.
|
||||
|
||||
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`.
|
||||
|
||||
- `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`).
|
||||
|
||||
- `security.ipa.ipaHostname` now defaults to the value of `networking.fqdn` if
|
||||
it is set, instead of the previous hardcoded default of
|
||||
`${networking.hostName}.${security.ipa.domain}`.
|
||||
|
||||
- `nvimpager` was updated to version 0.13.0, which changes the order of user and
|
||||
nvimpager settings: user commands in `-c` and `--cmd` now override the
|
||||
respective default settings because they are executed later.
|
||||
@@ -87,6 +99,9 @@
|
||||
services.portunus.ldap.package = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
|
||||
```
|
||||
|
||||
- `keycloak` was updated to version 25, which introduces new hostname related options.
|
||||
See [Upgrading Guide](https://www.keycloak.org/docs/25.0.1/upgrading/#migrating-to-25-0-0) for instructions.
|
||||
|
||||
- The `tracy` package no longer works on X11, since it's moved to Wayland
|
||||
support, which is the intended default behavior by Tracy maintainers.
|
||||
X11 users have to switch to the new package `tracy-x11`.
|
||||
|
||||
@@ -85,6 +85,18 @@ in {
|
||||
description = "Whether to cache credentials.";
|
||||
};
|
||||
|
||||
ipaHostname = mkOption {
|
||||
type = types.str;
|
||||
example = "myworkstation.example.com";
|
||||
default = if config.networking.domain != null then config.networking.fqdn
|
||||
else "${config.networking.hostName}.${cfg.domain}";
|
||||
defaultText = literalExpression ''
|
||||
if config.networking.domain != null then config.networking.fqdn
|
||||
else "''${networking.hostName}.''${security.ipa.domain}"
|
||||
'';
|
||||
description = "Fully-qualified hostname used to identify this host in the IPA domain.";
|
||||
};
|
||||
|
||||
ifpAllowedUids = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = ["root"];
|
||||
@@ -218,7 +230,7 @@ in {
|
||||
|
||||
ipa_domain = ${cfg.domain}
|
||||
ipa_server = _srv_, ${cfg.server}
|
||||
ipa_hostname = ${config.networking.hostName}.${cfg.domain}
|
||||
ipa_hostname = ${cfg.ipaHostname}
|
||||
|
||||
cache_credentials = ${pyBool cfg.cacheCredentials}
|
||||
krb5_store_password_if_offline = ${pyBool cfg.offlinePasswords}
|
||||
@@ -232,7 +244,6 @@ in {
|
||||
ldap_user_extra_attrs = mail:mail, sn:sn, givenname:givenname, telephoneNumber:telephoneNumber, lock:nsaccountlock
|
||||
|
||||
[sssd]
|
||||
debug_level = 65510
|
||||
services = nss, sudo, pam, ssh, ifp
|
||||
domains = ${cfg.domain}
|
||||
|
||||
@@ -244,7 +255,6 @@ in {
|
||||
pam_verbosity = 3
|
||||
|
||||
[sudo]
|
||||
debug_level = 65510
|
||||
|
||||
[autofs]
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ in {
|
||||
name = "service-account";
|
||||
CN = "system:service-account-signer";
|
||||
action = ''
|
||||
systemctl reload \
|
||||
systemctl restart \
|
||||
kube-apiserver.service \
|
||||
kube-controller-manager.service
|
||||
'';
|
||||
|
||||
@@ -22,7 +22,7 @@ let
|
||||
${lib.toShellVars env}
|
||||
eval "$(${config.systemd.package}/bin/systemctl show -pUID,GID,MainPID tandoor-recipes.service)"
|
||||
exec ${pkgs.util-linux}/bin/nsenter \
|
||||
-t $MainPID -m -S $UID -G $GID \
|
||||
-t $MainPID -m -S $UID -G $GID --wdns=${env.MEDIA_ROOT} \
|
||||
${pkg}/bin/tandoor-recipes "$@"
|
||||
'';
|
||||
in
|
||||
@@ -88,7 +88,7 @@ in
|
||||
Group = "tandoor_recipes";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "tandoor-recipes";
|
||||
WorkingDirectory = "/var/lib/tandoor-recipes";
|
||||
WorkingDirectory = env.MEDIA_ROOT;
|
||||
RuntimeDirectory = "tandoor-recipes";
|
||||
|
||||
BindReadOnlyPaths = [
|
||||
|
||||
@@ -4,7 +4,7 @@ let
|
||||
inherit (lib.attrsets) optionalAttrs;
|
||||
inherit (lib.generators) toINIWithGlobalSection;
|
||||
inherit (lib.lists) optional;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.modules) mkIf mkRemovedOptionModule;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.strings) escape;
|
||||
inherit (lib.types) attrsOf bool int lines oneOf str submodule;
|
||||
@@ -27,6 +27,13 @@ let
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "davfs2" "extraConfig" ] ''
|
||||
The option extraConfig got removed, please migrate to
|
||||
services.davfs2.settings instead.
|
||||
'')
|
||||
];
|
||||
|
||||
options.services.davfs2 = {
|
||||
enable = mkEnableOption "davfs2";
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ let
|
||||
cfg = config.services.sslmate-agent;
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ wolfangaukang ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
options = {
|
||||
services.sslmate-agent = {
|
||||
|
||||
@@ -174,7 +174,10 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "transmission" {};
|
||||
package = mkPackageOption pkgs "transmission" {
|
||||
default = "transmission_3";
|
||||
example = "pkgs.transmission_4";
|
||||
};
|
||||
|
||||
downloadDirPermissions = mkOption {
|
||||
type = with types; nullOr str;
|
||||
|
||||
@@ -68,13 +68,11 @@ to `/auth`. See the option description
|
||||
for more details.
|
||||
:::
|
||||
|
||||
[](#opt-services.keycloak.settings.hostname-strict-backchannel)
|
||||
determines whether Keycloak should force all requests to go
|
||||
through the frontend URL. By default,
|
||||
Keycloak allows backend requests to
|
||||
instead use its local hostname or IP address and may also
|
||||
advertise it to clients through its OpenID Connect Discovery
|
||||
endpoint.
|
||||
[](#opt-services.keycloak.settings.hostname-backchannel-dynamic)
|
||||
Keycloak has the capability to offer a separate URL for backchannel requests,
|
||||
enabling internal communication while maintaining the use of a public URL
|
||||
for frontchannel requests. Moreover, the backchannel is dynamically
|
||||
resolved based on incoming headers endpoint.
|
||||
|
||||
For more information on hostname configuration, see the [Hostname
|
||||
section of the Keycloak Server Installation and Configuration
|
||||
|
||||
@@ -328,8 +328,7 @@ in
|
||||
};
|
||||
|
||||
hostname = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
type = str;
|
||||
example = "keycloak.example.com";
|
||||
description = ''
|
||||
The hostname part of the public URL used as base for
|
||||
@@ -340,16 +339,13 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
hostname-strict-backchannel = mkOption {
|
||||
hostname-backchannel-dynamic = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Whether Keycloak should force all requests to go
|
||||
through the frontend URL. By default, Keycloak allows
|
||||
backend requests to instead use its local hostname or
|
||||
IP address and may also advertise it to clients
|
||||
through its OpenID Connect Discovery endpoint.
|
||||
Enables dynamic resolving of backchannel URLs,
|
||||
including hostname, scheme, port and context path.
|
||||
|
||||
See <https://www.keycloak.org/server/hostname>
|
||||
for more information about hostname configuration.
|
||||
@@ -482,12 +478,20 @@ in
|
||||
message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
|
||||
}
|
||||
{
|
||||
assertion = cfg.settings.hostname != null || cfg.settings.hostname-url or null != null;
|
||||
message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`";
|
||||
assertion = cfg.settings.hostname-url or null == null;
|
||||
message = ''
|
||||
The option `services.keycloak.settings.hostname-url' has been removed.
|
||||
Set `services.keycloak.settings.hostname' instead.
|
||||
See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = !(cfg.settings.hostname != null && cfg.settings.hostname-url or null != null);
|
||||
message = "`services.keycloak.settings.hostname` and `services.keycloak.settings.hostname-url` are mutually exclusive";
|
||||
assertion = cfg.settings.hostname-strict-backchannel or null == null;
|
||||
message = ''
|
||||
The option `services.keycloak.settings.hostname-strict-backchannel' has been removed.
|
||||
Set `services.keycloak.settings.hostname-backchannel-dynamic' instead.
|
||||
See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -446,7 +446,13 @@ in {
|
||||
dbtableprefix = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Table prefix in Nextcloud's database.";
|
||||
description = ''
|
||||
Table prefix in Nextcloud's database.
|
||||
|
||||
__Note:__ since Nextcloud 20 it's not an option anymore to create a database
|
||||
schema with a custom table prefix. This option only exists for backwards compatibility
|
||||
with installations that were originally provisioned with Nextcloud <20.
|
||||
'';
|
||||
};
|
||||
adminuser = mkOption {
|
||||
type = types.str;
|
||||
@@ -826,6 +832,13 @@ in {
|
||||
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
|
||||
Please migrate your configuration to config.services.nextcloud.poolSettings.
|
||||
'')
|
||||
++ (optional (cfg.config.dbtableprefix != null) ''
|
||||
Using `services.nextcloud.config.dbtableprefix` is deprecated. Fresh installations with this
|
||||
option set are not allowed anymore since v20.
|
||||
|
||||
If you have an existing installation with a custom table prefix, make sure it is
|
||||
set correctly in `config.php` and remove the option from your NixOS config.
|
||||
'')
|
||||
++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
|
||||
++ (optional (versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05"))
|
||||
++ (optional (versionOlder cfg.package.version "27") (upgradeWarning 26 "23.11"))
|
||||
|
||||
@@ -958,6 +958,7 @@ in {
|
||||
systemd-homed = handleTest ./systemd-homed.nix {};
|
||||
systemtap = handleTest ./systemtap.nix {};
|
||||
tandoor-recipes = handleTest ./tandoor-recipes.nix {};
|
||||
tandoor-recipes-script-name = handleTest ./tandoor-recipes-script-name.nix {};
|
||||
tang = handleTest ./tang.nix {};
|
||||
taskserver = handleTest ./taskserver.nix {};
|
||||
tayga = handleTest ./tayga.nix {};
|
||||
@@ -981,7 +982,7 @@ in {
|
||||
traefik = handleTestOn ["aarch64-linux" "x86_64-linux"] ./traefik.nix {};
|
||||
trafficserver = handleTest ./trafficserver.nix {};
|
||||
transfer-sh = handleTest ./transfer-sh.nix {};
|
||||
transmission = handleTest ./transmission.nix { transmission = pkgs.transmission; };
|
||||
transmission_3 = handleTest ./transmission.nix { transmission = pkgs.transmission_3; };
|
||||
transmission_4 = handleTest ./transmission.nix { transmission = pkgs.transmission_4; };
|
||||
# tracee requires bpf
|
||||
tracee = handleTestOn ["x86_64-linux"] ./tracee.nix {};
|
||||
|
||||
@@ -44,7 +44,6 @@ let
|
||||
};
|
||||
plugins = with config.services.keycloak.package.plugins; [
|
||||
keycloak-discord
|
||||
keycloak-metrics-spi
|
||||
];
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -122,14 +121,6 @@ let
|
||||
| jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
|
||||
""")
|
||||
|
||||
# Register the metrics SPI
|
||||
keycloak.succeed(
|
||||
"""${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""",
|
||||
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """,
|
||||
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""",
|
||||
"""curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"""
|
||||
)
|
||||
|
||||
# Publish the realm, including a test OIDC client and user
|
||||
keycloak.succeed(
|
||||
"curl -sSf -H @admin_auth_header -X POST -H 'Content-Type: application/json' -d @${realmDataJson} '${frontendUrl}/admin/realms/'"
|
||||
|
||||
@@ -38,7 +38,6 @@ runTest ({ config, ... }: {
|
||||
services.nextcloud = {
|
||||
enable = true;
|
||||
datadir = "/var/lib/nextcloud-data";
|
||||
config.dbtableprefix = "nixos_";
|
||||
autoUpdateApps = {
|
||||
enable = true;
|
||||
startAt = "20:00";
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "tandoor-recipes-script-name";
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, nodes, ... }:
|
||||
{
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
SCRIPT_NAME = "/any/path";
|
||||
STATIC_URL = "${nodes.machine.services.tandoor-recipes.extraConfig.SCRIPT_NAME}/static/";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
inherit (nodes.machine.services.tandoor-recipes) address port;
|
||||
inherit (nodes.machine.services.tandoor-recipes.extraConfig) SCRIPT_NAME;
|
||||
in
|
||||
''
|
||||
from html.parser import HTMLParser
|
||||
|
||||
origin_url = "http://${address}:${toString port}"
|
||||
base_url = f"{origin_url}${SCRIPT_NAME}"
|
||||
login_path = "/admin/login/"
|
||||
login_url = f"{base_url}{login_path}"
|
||||
|
||||
cookie_jar_path = "/tmp/cookies.txt"
|
||||
curl = f"curl --cookie {cookie_jar_path} --cookie-jar {cookie_jar_path} --fail --header 'Origin: {origin_url}' --show-error --silent"
|
||||
|
||||
print("Wait for the service to respond")
|
||||
machine.wait_for_unit("tandoor-recipes.service")
|
||||
machine.wait_until_succeeds(f"{curl} {login_url}")
|
||||
|
||||
username = "username"
|
||||
password = "password"
|
||||
|
||||
print("Create admin user")
|
||||
machine.succeed(
|
||||
f"DJANGO_SUPERUSER_PASSWORD='{password}' /var/lib/tandoor-recipes/tandoor-recipes-manage createsuperuser --no-input --username='{username}' --email=nobody@example.com"
|
||||
)
|
||||
|
||||
print("Get CSRF token for later requests")
|
||||
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut --fields=7").rstrip()
|
||||
|
||||
print("Log in as admin user")
|
||||
machine.succeed(
|
||||
f"{curl} --data 'csrfmiddlewaretoken={csrf_token}' --data 'username={username}' --data 'password={password}' {login_url}"
|
||||
)
|
||||
|
||||
print("Get the contents of the logged in main page")
|
||||
logged_in_page = machine.succeed(f"{curl} --location {base_url}")
|
||||
|
||||
class UrlParser(HTMLParser):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.urls: list[str] = []
|
||||
|
||||
def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None:
|
||||
if tag == "form":
|
||||
for name, value in attrs:
|
||||
if name == "action" and value is not None:
|
||||
assert not value.endswith(login_path)
|
||||
break
|
||||
|
||||
if tag != "a":
|
||||
return
|
||||
|
||||
for name, value in attrs:
|
||||
if name == "href" and value is not None:
|
||||
if value.startswith(base_url):
|
||||
self.urls.append(value)
|
||||
elif value.startswith("/"):
|
||||
self.urls.append(f"{origin_url}{value}")
|
||||
else:
|
||||
print("Ignoring external URL: {value}")
|
||||
|
||||
break
|
||||
|
||||
parser = UrlParser()
|
||||
parser.feed(logged_in_page)
|
||||
|
||||
for url in parser.urls:
|
||||
with subtest(f"Verify that {url} can be reached"):
|
||||
machine.succeed(f"{curl} {url}")
|
||||
'';
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ l0b0 ];
|
||||
}
|
||||
)
|
||||
@@ -15,6 +15,7 @@
|
||||
, desktop-file-utils
|
||||
, dbus
|
||||
, openssl
|
||||
, glib-networking
|
||||
, sqlite
|
||||
, gst_all_1
|
||||
, wrapGAppsHook4
|
||||
@@ -22,19 +23,19 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-podcasts";
|
||||
version = "0.6.1";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "podcasts";
|
||||
rev = version;
|
||||
hash = "sha256-LPwCYgAFgUMFQZ0i4ldiuGYGMMWcMqYct3/o7eTIhmU=";
|
||||
hash = "sha256-KCjHT/4AeJ+RXCtawkhs6f4D8NCJotYIPk3tGr5YG9M=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit pname version src;
|
||||
hash = "sha256-n3ZcUhqn1rvvgkBKSKvH0b8wbOCqcBGwpb2OqMe8h0s=";
|
||||
hash = "sha256-XTfKqKs7874ak7Lzscxw8E2qcnJOWMZaaol8TpIB6Vw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
dbus
|
||||
openssl
|
||||
glib-networking
|
||||
sqlite
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
@@ -66,13 +68,13 @@ stdenv.mkDerivation rec {
|
||||
# tests require network
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Listen to your favorite podcasts";
|
||||
mainProgram = "gnome-podcasts";
|
||||
homepage = "https://apps.gnome.org/Podcasts/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = lib.teams.gnome.members;
|
||||
platforms = lib.platforms.unix;
|
||||
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gnome-podcasts.x86_64-darwin
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,18 +10,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-musicfox";
|
||||
version = "4.4.1";
|
||||
version = "4.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-musicfox";
|
||||
repo = "go-musicfox";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pIfQ0ufn8W0opm+N6IPFBPWNxNWMOU7FudPtIFop51c=";
|
||||
hash = "sha256-qf4XAAfWWlHAnNGhXaYpnjj+2z+/lWOHaTyv8R4UDgQ=";
|
||||
};
|
||||
|
||||
deleteVendor = true;
|
||||
|
||||
vendorHash = "sha256-ey78zeCSEuRgteG5ZRb4uO88E6lwEgqSxKfjJg3NGT4=";
|
||||
vendorHash = "sha256-oz/kVp/Jj2Lmo19UFOn2VPD/iWbSRCbmKy8fK8RdkYs=";
|
||||
|
||||
subPackages = [ "cmd/musicfox.go" ];
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ buildNpmPackage rec {
|
||||
description = "Pocket Casts webapp, packaged for the Linux Desktop";
|
||||
homepage = "https://github.com/felicianotech/pocket-casts-desktop-app";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "pocket-casts";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dcrwallet";
|
||||
version = "2.0.2";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrwallet";
|
||||
rev = "release-v${version}";
|
||||
hash = "sha256-fsmil9YQNvXDyBxyt+Ei3F5U/dvbrzbZ01+v9o3+jVY=";
|
||||
hash = "sha256-sRwGpOVydfZjgo7W+4RsHC4JElPyilbV5xhcHxPh2Wc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ehtgsBCFzMft8285IjpsQ6y9HPb/UpZmcj9X4m8ZKXo=";
|
||||
vendorHash = "sha256-lVVIS3FL8XwthCpzRKdw59NVtHVxXQ0ouD7jYQzOecM=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
||||
@@ -262,7 +262,7 @@ let
|
||||
inherit withSdk;
|
||||
sdk = androidSdk;
|
||||
};
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Official IDE for Android (${channel} channel)";
|
||||
longDescription = ''
|
||||
Android Studio is the official IDE for Android app development, based on
|
||||
@@ -271,7 +271,7 @@ let
|
||||
homepage = if channel == "stable"
|
||||
then "https://developer.android.com/studio/index.html"
|
||||
else "https://developer.android.com/studio/preview/index.html";
|
||||
license = with licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but:
|
||||
license = with lib.licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but:
|
||||
# If one selects Help -> Licenses in Android Studio, the dialog shows the following:
|
||||
# "Android Studio includes proprietary code subject to separate license,
|
||||
# including JetBrains CLion(R) (www.jetbrains.com/clion) and IntelliJ(R)
|
||||
@@ -280,11 +280,11 @@ let
|
||||
# binaries are also distributed as proprietary software (unlike the
|
||||
# source-code itself).
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; rec {
|
||||
stable = [ alapshin numinit ];
|
||||
beta = [ alapshin numinit ];
|
||||
canary = [ alapshin numinit ];
|
||||
dev = canary;
|
||||
maintainers = with lib.maintainers; rec {
|
||||
stable = [ alapshin johnrtitor numinit ];
|
||||
beta = stable;
|
||||
canary = stable;
|
||||
dev = stable;
|
||||
}."${channel}";
|
||||
mainProgram = pname;
|
||||
};
|
||||
|
||||
@@ -10,16 +10,16 @@ let
|
||||
inherit tiling_wm;
|
||||
};
|
||||
stableVersion = {
|
||||
version = "2023.3.1.19"; # "Android Studio Jellyfish | 2023.3.1 Patch 1"
|
||||
sha256Hash = "sha256-FyscJPusmK33UPIexV20GXQ4Z5X8mfNRFPu/2Xeg5ts=";
|
||||
version = "2024.1.1.11"; # "Android Studio Koala | 2024.1.1"
|
||||
sha256Hash = "sha256-2PqOz+QVtEUTNQkBUB4qD0KcoDPPGAUFSxyBbEpwRWU=";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2023.3.1.17"; # "Android Studio Jellyfish | 2023.3.1.1 RC 2"
|
||||
sha256Hash = "sha256-zROBKzQiP4V2P67HgOIkHgn8q/M0zy5MkZozVSiQsWU=";
|
||||
version = "2024.1.1.10"; # "Android Studio Koala | 2024.1.1 RC 2"
|
||||
sha256Hash = "sha256-84CpZfoAvJHUCO3ZBJqDbuz9xuGE/5xJfXoetJDXju8=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2024.1.1.4"; # "Android Studio Koala | 2024.1.1 Canary 6"
|
||||
sha256Hash = "sha256-lfig7lFyF7XZowTQKpo6zGeR23VHq/f7vvUDWCs7jeo=";
|
||||
version = "2024.1.2.7"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 7"
|
||||
sha256Hash = "sha256-opoAKslh8DqS/iS5gw8AxX6x89t2BNX7yaU88XNd2kM=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
||||
@@ -1,27 +1,20 @@
|
||||
--- a/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
|
||||
+++ b/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
|
||||
@@ -87,13 +87,13 @@
|
||||
}
|
||||
val targetFile = root.resolve("${split[1]}-${split[2]}.jar")
|
||||
val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
|
||||
- mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
|
||||
+ mavenRepository = "MAVEN_REPO_HERE",
|
||||
groupId = split[0],
|
||||
artifactId = split[1],
|
||||
version = split[2],
|
||||
packaging = "jar"
|
||||
)
|
||||
- targetFile to downloadFileToCacheLocation(uri.toString(), communityRoot)
|
||||
+ targetFile to Path.of(uri.toString())
|
||||
}
|
||||
@@ -89,7 +89,7 @@
|
||||
}
|
||||
}.asSequence().map { it.getCompleted() }.toMap()
|
||||
@@ -133,21 +133,6 @@
|
||||
val file = root.resolve("${split[1]}-${split[2]}.jar")
|
||||
val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
|
||||
- mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
|
||||
+ mavenRepository = "MAVEN_REPO_HERE",
|
||||
groupId = split[0],
|
||||
artifactId = split[1],
|
||||
version = split[2],
|
||||
@@ -145,22 +145,7 @@
|
||||
}
|
||||
|
||||
|
||||
suspend fun downloadMavenDistribution(communityRoot: BuildDependenciesCommunityRoot): Path {
|
||||
- val extractDir = communityRoot.communityRoot.resolve("plugins/maven/maven36-server-impl/lib/maven3")
|
||||
- val properties = BuildDependenciesDownloader.getDependenciesProperties(communityRoot)
|
||||
- val properties = BuildDependenciesDownloader.getDependencyProperties(communityRoot)
|
||||
- val bundledMavenVersion = properties.property("bundledMavenVersion")
|
||||
- mutex.withLock {
|
||||
- val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
|
||||
@@ -38,7 +31,8 @@
|
||||
- return extractDir
|
||||
+ return Path.of("MAVEN_PATH_HERE")
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun downloadMavenTelemetryDependencies(communityRoot: BuildDependenciesCommunityRoot): Path =
|
||||
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt
|
||||
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt
|
||||
@@ -70,7 +70,7 @@
|
||||
@@ -52,19 +46,19 @@
|
||||
return URI.create("${base}/${groupStr}/${artifactId}/${version}/${artifactId}-${version}${classifierStr}.${packaging}")
|
||||
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
|
||||
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
|
||||
@@ -25,11 +25,7 @@
|
||||
@@ -33,11 +33,7 @@
|
||||
}
|
||||
|
||||
fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
|
||||
- val jdkUrl = getUrl(communityRoot, os, arch)
|
||||
- val jdkArchive = BuildDependenciesDownloader.downloadFileToCacheLocation(communityRoot, jdkUrl)
|
||||
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(
|
||||
- communityRoot, jdkArchive, BuildDependenciesExtractOptions.STRIP_ROOT)
|
||||
- infoLog("jps-bootstrap JDK is at $jdkExtracted")
|
||||
|
||||
suspend fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
|
||||
- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch)
|
||||
- val jdkArchive = downloadFileToCacheLocation(url = jdkUrl.toString(), communityRoot = communityRoot)
|
||||
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(communityRoot = communityRoot,
|
||||
- archiveFile = jdkArchive,
|
||||
- BuildDependenciesExtractOptions.STRIP_ROOT)
|
||||
+ val jdkExtracted = Path.of("JDK_PATH_HERE")
|
||||
|
||||
val jdkHome: Path = if (os == OS.MACOSX) {
|
||||
jdkExtracted.resolve("Contents").resolve("Home")
|
||||
val jdkHome = if (os == OS.MACOSX) jdkExtracted.resolve("Contents").resolve("Home") else jdkExtracted
|
||||
infoLog("JPS-bootstrap JDK (jdkHome=$jdkHome, executable=${getJavaExecutable(jdkHome)})")
|
||||
return jdkHome
|
||||
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
|
||||
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
|
||||
@@ -46,7 +46,7 @@
|
||||
@@ -98,23 +92,24 @@
|
||||
val tarGzPath = buildTarGz(arch = arch, runtimeDir = runtimeDir, unixDistPath = osAndArchSpecificDistPath, suffix = suffix(arch))
|
||||
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
|
||||
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
|
||||
@@ -11,6 +11,7 @@
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
@@ -9,6 +9,8 @@
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.DataOutputStream
|
||||
import java.util.*
|
||||
+import java.nio.file.Path
|
||||
+import kotlin.io.path.readText
|
||||
|
||||
|
||||
private const val MARKETPLACE_BROKEN_PLUGINS_URL = "https://plugins.jetbrains.com/files/brokenPlugins.json"
|
||||
|
||||
@@ -22,7 +23,7 @@
|
||||
|
||||
|
||||
@@ -19,7 +21,7 @@
|
||||
val span = Span.current()
|
||||
|
||||
val allBrokenPlugins = try {
|
||||
val jsonFormat = Json { ignoreUnknownKeys = true }
|
||||
- val content = downloadAsText(MARKETPLACE_BROKEN_PLUGINS_URL)
|
||||
+ val content = Path.of("BROKEN_PLUGINS_HERE").readText()
|
||||
jsonFormat.decodeFromString(ListSerializer(MarketplaceBrokenPlugin.serializer()), content)
|
||||
@Suppress("JSON_FORMAT_REDUNDANT")
|
||||
Json { ignoreUnknownKeys = true }.decodeFromString(ListSerializer(MarketplaceBrokenPlugin.serializer()), content)
|
||||
}
|
||||
catch (e: Exception) {
|
||||
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
|
||||
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
|
||||
@@ -23,31 +23,11 @@
|
||||
@@ -151,3 +146,17 @@
|
||||
}
|
||||
|
||||
fun getKotlinJpsPluginVersion(communityRoot: BuildDependenciesCommunityRoot): String {
|
||||
--- a/platform/build-scripts/downloader/src/ktor.kt
|
||||
+++ b/platform/build-scripts/downloader/src/ktor.kt
|
||||
@@ -221,6 +221,11 @@
|
||||
val lock = fileLocks.getLock(targetPath.hashCode())
|
||||
lock.lock()
|
||||
try {
|
||||
+ if (url.startsWith("/")) {
|
||||
+ var sourceUrl = Path.of(url)
|
||||
+ Files.copy(sourceUrl, target)
|
||||
+ }
|
||||
+
|
||||
if (Files.exists(target)) {
|
||||
Span.current().addEvent("use asset from cache", Attributes.of(
|
||||
AttributeKey.stringKey("url"), url,
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
--- a/.cargo/config.toml
|
||||
+++ b/.cargo/config.toml
|
||||
@@ -3,6 +3,3 @@
|
||||
|
||||
[target.'cfg(all(target_os = "macos", target_arch = "x86_64"))']
|
||||
rustflags = ["-C", "link-arg=-mmacosx-version-min=10.15"]
|
||||
-
|
||||
-[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))']
|
||||
-rustflags = ["-C", "target-feature=+crt-static"]
|
||||
File diff suppressed because one or more lines are too long
@@ -115,7 +115,6 @@ let
|
||||
pname = "restarter";
|
||||
version = buildVer;
|
||||
inherit src;
|
||||
patches = [ ../patches/restarter-no-static-crt-override.patch ];
|
||||
sourceRoot = "source/native/restarter";
|
||||
cargoHash = restarterHash;
|
||||
};
|
||||
@@ -188,11 +187,11 @@ let
|
||||
repoUrl = "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies";
|
||||
groupId = builtins.replaceStrings [ "." ] [ "/" ] "org.jetbrains.kotlin";
|
||||
artefactId = "kotlin-jps-plugin-classpath";
|
||||
version = "1.9.10";
|
||||
version = "1.9.22";
|
||||
in
|
||||
fetchurl {
|
||||
url = repoUrl + "/" + groupId + "/" + artefactId + "/" + version + "/" + artefactId + "-" + version + ".jar";
|
||||
hash = "sha256-gpB4lg6wailtxSgPyyOrarXCL9+DszojaYGC4ULgU3c=";
|
||||
hash = "sha256-ZPfEceGoIChDmjIAjjhDZpyMWQ7/DtP9Ll4YIrZN+PM=";
|
||||
};
|
||||
|
||||
targetClass = if buildType == "pycharm" then "intellij.pycharm.community.build" else "intellij.idea.community.build";
|
||||
@@ -231,7 +230,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
-e 's|MAVEN_REPO_HERE|${mvnRepo}/.m2/repository/|' \
|
||||
-e 's|MAVEN_PATH_HERE|${maven}/maven|' \
|
||||
-i build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
|
||||
echo '${buildVer}' > build.txt
|
||||
echo '${buildVer}.SNAPSHOT' > build.txt
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
|
||||
{
|
||||
idea-community = callPackage ./build.nix {
|
||||
buildVer = "233.13135.103";
|
||||
buildVer = "241.17890.1";
|
||||
buildType = "idea";
|
||||
ideaHash = "sha256-ld6qvc0ceERrLSJOC07JEgDmg3lEYdU/XgjZXgzWTAg=";
|
||||
androidHash = "sha256-D8zKkmPOx4RliAtyq2Z8Up2u224blP0SjNjW3yO7nSQ=";
|
||||
jpsHash = "sha256-0cmn0N1UVNzw1hNOpy+9HhkHHNq+rVKnfXM+LjHAQ40=";
|
||||
restarterHash = "sha256-56GqBY/w8expWTXSP3Bad9u7QV3q8LpNN8nd8tk+Zzk=";
|
||||
ideaHash = "sha256-jWFnewxRkriSmV6CgGX1r//uaErMINfx3Z+JpkE34jk=";
|
||||
androidHash = "sha256-hX2YdRYNRg0guskNiYfxdl9osgZojRen82IhgA6G0Eo=";
|
||||
jpsHash = "sha256-Abr7L1FyqzRoUSDtsJs3cTEdkhORY5DzsQnOo5irVRI=";
|
||||
restarterHash = "sha256-XdjyuJUQMvhC0fl6sMj0sRWlqgUb3ZgBmKKXcD3egkk=";
|
||||
mvnDeps = ./idea_maven_artefacts.json;
|
||||
};
|
||||
pycharm-community = callPackage ./build.nix {
|
||||
buildVer = "233.13135.95";
|
||||
buildVer = "241.17890.14";
|
||||
buildType = "pycharm";
|
||||
ideaHash = "sha256-avRdwIr+uSXZhcMeamfy7OMYy0Ez7qWljwPc5V6n/60=";
|
||||
androidHash = "sha256-D8zKkmPOx4RliAtyq2Z8Up2u224blP0SjNjW3yO7nSQ=";
|
||||
jpsHash = "sha256-0cmn0N1UVNzw1hNOpy+9HhkHHNq+rVKnfXM+LjHAQ40=";
|
||||
restarterHash = "sha256-YW+5Jl0EWqBj7iRkk70NFL+gccK9/tAOlm/n08XKH8M=";
|
||||
ideaHash = "sha256-tTB91/RHEWP/ZILPNFAbolVBLvgjLXTdD/uF/pdJ22Y=";
|
||||
androidHash = "sha256-hX2YdRYNRg0guskNiYfxdl9osgZojRen82IhgA6G0Eo=";
|
||||
jpsHash = "sha256-Abr7L1FyqzRoUSDtsJs3cTEdkhORY5DzsQnOo5irVRI=";
|
||||
restarterHash = "sha256-TbTIz9pc5wqL54TAMRoQ/9Ax/qsDp+r+h5jn2ub0hes=";
|
||||
mvnDeps = ./idea_maven_artefacts.json;
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://lifeograph.sourceforge.net/wiki/Main_Page";
|
||||
description = "Lifeograph is an off-line and private journal and note taking application";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "lifeograph";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
|
||||
mainProgram = "com.github.kmwallio.thiefmd";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2721,7 +2721,7 @@ let
|
||||
description = "CloudFormation Linter IDE integration, autocompletion, and documentation";
|
||||
homepage = "https://github.com/aws-cloudformation/cfn-lint-visual-studio-code";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3962,6 +3962,31 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
sdras.night-owl = buildVscodeMarketplaceExtension rec {
|
||||
mktplcRef = {
|
||||
name = "night-owl";
|
||||
publisher = "sdras";
|
||||
version = "2.0.1";
|
||||
hash = "sha256-AqfcVV9GYZ+GLgusXfij9z4WzrU9cCHp3sdZb0i6HzE=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/sdras/night-owl-vscode-theme/blob/main/CHANGELOG.md#${
|
||||
builtins.replaceStrings [ "." ] [ "" ] mktplcRef.version
|
||||
}";
|
||||
description = "A Visual Studio Code theme named Light Owl for daytime usage";
|
||||
longDescription = ''
|
||||
A VS Code theme for the night owls out there. Now introducing
|
||||
Light Owl theme for daytime usage. Decisions were based
|
||||
on meaningful contrast for reading comprehension and for
|
||||
optimal razzle dazzle.
|
||||
'';
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=sdras.night-owl";
|
||||
homepage = "https://github.com/sdras/night-owl-vscode-theme";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.pladypus ];
|
||||
};
|
||||
};
|
||||
|
||||
seatonjiang.gitmoji-vscode = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "seatonjiang";
|
||||
@@ -4706,7 +4731,7 @@ let
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "walk";
|
||||
version = "1.7.0";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antonmedv";
|
||||
repo = "walk";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-hif62WAyJyFHpJoP3ph7gJk1QkEL7qkcv/BJuoXkwFU=";
|
||||
hash = "sha256-xs9K8WrckkpyzHnjYlzRsicMW+o7nTMYCIZVWOwx4PU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-e292ke0JiFEopLSozb+FkpwzSuhpIs/PdWOYuNI2M2o=";
|
||||
vendorHash = "sha256-p92H4JqklrV0c4vp9puAgDzBzMpwI40WPz9ix0e77l8=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal file manager";
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
, libpng
|
||||
, opencolorio_1
|
||||
, freetype
|
||||
, openexr
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -145,11 +146,12 @@ stdenv.mkDerivation rec {
|
||||
ilmbase
|
||||
glm
|
||||
glfw3
|
||||
zlib.dev
|
||||
zlib
|
||||
libpng
|
||||
freetype
|
||||
opencolorio_1
|
||||
djv-deps
|
||||
openexr
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -162,6 +164,13 @@ stdenv.mkDerivation rec {
|
||||
sed -i cmake/Modules/FindOCIO.cmake \
|
||||
-e 's/PATH_SUFFIXES static//' \
|
||||
-e '/OpenColorIO_STATIC/d'
|
||||
|
||||
# When searching for OpenEXR this looks for Iex.h, which exists in ilmbase,
|
||||
# since it's a secondary inport, to find the correct OpenEXR lib, we search
|
||||
# for something specifically in OpenEXR.
|
||||
|
||||
sed -i cmake/Modules/FindOpenEXR.cmake \
|
||||
-e 's/find_path(OpenEXR_INCLUDE_DIR NAMES Iex.h PATH_SUFFIXES OpenEXR)/find_path(OpenEXR_INCLUDE_DIR NAMES ImfImage.h PATH_SUFFIXES OpenEXR)/'
|
||||
'';
|
||||
|
||||
# GLFW requires a working X11 session.
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drawio";
|
||||
version = "24.4.8";
|
||||
version = "24.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jgraph";
|
||||
repo = "drawio-desktop";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-dtkRi7oisdgMAbaltPcz5umxcd6/F1WOjKQpJUAFFY0=";
|
||||
hash = "sha256-trBSNE5OBBNq18Dn/IwhHpD3ZQ7C5venwsBtyZxv+2k=";
|
||||
};
|
||||
|
||||
# `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-JbDIaO5jgPAoSD3hkMaKp3vLU5Avt+G5h427bvWJ08k=";
|
||||
hash = "sha256-9Hq08DXEiOK0P+x89Gl3Y2+dN5r7aS7GNrCSVDGMpFs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, makeWrapper
|
||||
, wrapGAppsHook3
|
||||
, ...
|
||||
}:
|
||||
@@ -17,7 +18,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-ukUsNgWOtIRe54vsmRdI62syjIPwSsgNV7kITCw0YUQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook3 ];
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
makeWrapper
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = with pkgs;[
|
||||
alsa-lib
|
||||
@@ -52,6 +58,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
# Instead of double wrapping the binary, simply pass the `gappsWrapperArgs`
|
||||
# to `makeWrapper` directly
|
||||
dontWrapGApps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -60,6 +70,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cp -r usr/* $out
|
||||
|
||||
wrapProgramShell $out/bin/figma-linux \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "pixeluvo";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ buildPythonApplication rec {
|
||||
description = "QR code scanner desktop app for Linux";
|
||||
homepage = "https://github.com/hongquan/CoBang";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "cobang";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -21,19 +21,19 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "diebahn";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "schmiddi-on-mobile";
|
||||
repo = "railway";
|
||||
rev = version;
|
||||
hash = "sha256-Oj+y3BFAVzWUt+S0iOtKzFBiJGOGHuTj41FHHuOrWh8=";
|
||||
hash = "sha256-cVCq7iVurX5SlCs7A5FSds6KaxMW3Qv/JIhhO69FTrk=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
name = "${pname}-${src}";
|
||||
inherit src;
|
||||
hash = "sha256-//tr1CLn5Qoc+XMFzwNIvmsQD4SrjNRTX3hUPqlhwNs=";
|
||||
hash = "sha256-J8KOmvSiUNBpt4qSFnNEwSKFJMSaTFd14G2INDYwPUE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -27,7 +27,7 @@ in appimageTools.wrapType2 {
|
||||
description = "IOTA's New Wallet";
|
||||
homepage = "https://firefly.iota.org";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "firefly-desktop";
|
||||
};
|
||||
|
||||
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
|
||||
description = "User-friendly desktop wallet with support for transaction history, encrypted contact book, gift codes, and payments";
|
||||
homepage = "https://github.com/mobilecoinofficial/desktop-wallet";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "mobilecoin-wallet";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -29,13 +29,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "organicmaps";
|
||||
version = "2024.06.02-12";
|
||||
version = "2024.06.19-3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "organicmaps";
|
||||
repo = "organicmaps";
|
||||
rev = "${version}-android";
|
||||
hash = "sha256-TOKBEnSa9kzfGsiNpMllLjcJtdhYfz9m4uAg0lUF8Z4=";
|
||||
hash = "sha256-LB3yLBoO6nXRvfuWWB2JofeAgQQFtEgqNo2QFQ3k/vc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sticky";
|
||||
version = "1.20";
|
||||
version = "1.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-HzTXaJgDu72pWM0mGNNBy2yFB0u0rqATFK9JzyOw8oE=";
|
||||
hash = "sha256-EH5EyvI3iAZr+aSV3DKM9RLkPmUcwKKXlOXSU0ECsPI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -165,7 +165,7 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
|
||||
updateScript = ./update.sh;
|
||||
|
||||
tests = {
|
||||
inherit (nixosTests) tandoor-recipes;
|
||||
inherit (nixosTests) tandoor-recipes tandoor-recipes-script-name;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://thedesk.top";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "thedesk";
|
||||
};
|
||||
|
||||
@@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ zakkor wolfangaukang ];
|
||||
maintainers = with maintainers; [ zakkor ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://whalebird.social";
|
||||
changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang weathercold ];
|
||||
maintainers = with maintainers; [ weathercold ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "palemoon-bin";
|
||||
version = "33.1.1";
|
||||
version = "33.2.0";
|
||||
|
||||
src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}";
|
||||
|
||||
@@ -158,11 +158,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
in {
|
||||
gtk3 = fetchzip {
|
||||
urls = urlRegionVariants "gtk3";
|
||||
hash = "sha256-0i0hXC6mC1SY2V6ANMXHS4LZ/HZk8FUsSDQfQUE14IM=";
|
||||
hash = "sha256-h6ohLm9I6esvVa9bek/j2s/jiIcEOwjd8/dCyUvqyLw=";
|
||||
};
|
||||
gtk2 = fetchzip {
|
||||
urls = urlRegionVariants "gtk2";
|
||||
hash = "sha256-RnBlCxIsWxm6BbtAS0YKHtix93N6t9jihFItqhtLhRU=";
|
||||
hash = "sha256-To/41og5hxFL6efJhNfRNJw/fOXZA5Le16DZsSJrXfc=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
{ lib
|
||||
, callPackage
|
||||
|
||||
, fetchFromGitLab
|
||||
|
||||
, appstream
|
||||
, gobject-introspection
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook3
|
||||
|
||||
, glib
|
||||
, glib-networking
|
||||
, gtk3
|
||||
, libhandy
|
||||
, listparser ? callPackage ./listparser.nix { }
|
||||
, webkitgtk
|
||||
, python3
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "gnome-feeds";
|
||||
version = "0.16.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "gfeeds";
|
||||
rev = version;
|
||||
sha256 = "sha256-66dwVR9owg050aHCHJek7jYnT+/yyCKo4AaUE0hCqBA=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
glib # for glib-compile-schemas
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
glib-networking
|
||||
gtk3
|
||||
libhandy
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
beautifulsoup4
|
||||
python-dateutil
|
||||
feedparser
|
||||
html5lib
|
||||
listparser
|
||||
lxml
|
||||
pillow
|
||||
pygments
|
||||
pygobject3
|
||||
readability-lxml
|
||||
pytz
|
||||
requests
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit listparser;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "RSS/Atom feed reader for GNOME";
|
||||
mainProgram = "gfeeds";
|
||||
homepage = "https://gitlab.gnome.org/World/gfeeds";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [
|
||||
maintainers.pbogdan
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchPypi
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonPackage rec {
|
||||
pname = "listparser";
|
||||
version = "0.18";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0hdqs1mmayw1r8yla43hgb4d9y3zqs5483vgf8j9ygczkd2wrq2b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
requests
|
||||
six
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python3.interpreter} lptest.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Parser for subscription lists";
|
||||
homepage = "https://github.com/kurtmckee/listparser";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = [
|
||||
maintainers.pbogdan
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://alfaview.com";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ wolfangaukang hexchen ];
|
||||
maintainers = with maintainers; [ hexchen ];
|
||||
mainProgram = "alfaview";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@ let
|
||||
if stdenv.isLinux then {
|
||||
stable = "0.0.56";
|
||||
ptb = "0.0.90";
|
||||
canary = "0.0.422";
|
||||
canary = "0.0.431";
|
||||
development = "0.0.19";
|
||||
} else {
|
||||
stable = "0.0.307";
|
||||
@@ -25,7 +25,7 @@ let
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
hash = "sha256-MTC079WTN0Vw57aLro1WkHRL09IKYjnUsfBAMiiHjI0=";
|
||||
hash = "sha256-59Sv3U3osfk+QoXgorpqK7CU0nJBdpFOMkoGRgHN3v8=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
|
||||
@@ -122,7 +122,7 @@ buildNpmPackage rec {
|
||||
homepage = "https://threema.ch";
|
||||
license = licenses.agpl3Only;
|
||||
mainProgram = "threema";
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ appimageTools.wrapType2 rec {
|
||||
changelog = "https://github.com/tutao/tutanota/releases/tag/tutanota-desktop-release-${version}";
|
||||
license = licenses.gpl3Only;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "tutanota-desktop";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liferea";
|
||||
version = "1.15.6";
|
||||
version = "1.15.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
|
||||
hash = "sha256-4P/0fwHofsRjZcLuFdkUKxWIp/9P5yXA2ED/zqTGd94=";
|
||||
hash = "sha256-vv6hrvfD1T+eH/Bi1ID0yoxB4747Q+nMvklT49uaX38=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -31,7 +31,7 @@ appimageTools.wrapType2 {
|
||||
mainProgram = "raven-reader";
|
||||
homepage = "https://ravenreader.app/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
, libevent
|
||||
, libgee
|
||||
, libnatpmp
|
||||
, libtransmission
|
||||
, libtransmission_3
|
||||
, libutp
|
||||
, miniupnpc
|
||||
, openssl
|
||||
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||
libevent
|
||||
libgee
|
||||
libnatpmp
|
||||
libtransmission
|
||||
libtransmission_3
|
||||
libutp
|
||||
miniupnpc
|
||||
openssl
|
||||
|
||||
@@ -33,7 +33,7 @@ buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "Linux command-line client for ProtonVPN";
|
||||
homepage = "https://github.com/protonvpn/linux-cli";
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "protonvpn-cli";
|
||||
|
||||
@@ -98,6 +98,6 @@ buildPythonApplication rec {
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "protonvpn-app";
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "Official ProtonVPN Linux app";
|
||||
homepage = "https://github.com/ProtonVPN/linux-app";
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
license = licenses.gpl3Plus;
|
||||
mainProgram = "protonvpn";
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -6,11 +6,6 @@
|
||||
, makeWrapper
|
||||
, xdg-utils
|
||||
, dbus
|
||||
, qtbase
|
||||
, qtwebengine
|
||||
, qtx11extras
|
||||
, qtquickcontrols2
|
||||
, qtgraphicaleffects
|
||||
, getconf
|
||||
, glibc
|
||||
, libXrandr
|
||||
@@ -23,13 +18,15 @@
|
||||
, coreutils
|
||||
, wrapQtAppsHook
|
||||
, icu63
|
||||
, nss
|
||||
, minizip
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "teamviewer";
|
||||
# teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime
|
||||
outputs = [ "out" "dev" ];
|
||||
version = "15.49.2";
|
||||
version = "15.54.3";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -38,11 +35,11 @@ mkDerivation rec {
|
||||
{
|
||||
x86_64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_amd64.deb";
|
||||
sha256 = "sha256-Ag41RQD4lp4Sxuz6wZwiFzVxUalV+M3Zwa2Cug4iNSM=";
|
||||
hash = "sha256-41zVX2svomcRKu2ow1A/EeKojBIpABO4o2EZxappzgo=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_arm64.deb";
|
||||
sha256 = "sha256-JGSmFq4q8TQJVIrS6qQxIxZPNKgor+pFetextLJPHtg=";
|
||||
hash = "sha256-wuQYWeYgXW54/5dpiGzJxZ9JZDlUgFgCKq8Z4xV2HlI=";
|
||||
};
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
@@ -52,7 +49,7 @@ mkDerivation rec {
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
|
||||
buildInputs = [ qtbase qtwebengine qtx11extras qtquickcontrols2 qtgraphicaleffects icu63 ];
|
||||
buildInputs = [ minizip icu63 nss ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/teamviewer $out/bin $out/share/applications
|
||||
@@ -60,27 +57,10 @@ mkDerivation rec {
|
||||
rm -R \
|
||||
$out/share/teamviewer/logfiles \
|
||||
$out/share/teamviewer/config \
|
||||
$out/share/teamviewer/tv_bin/xdg-utils \
|
||||
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh}
|
||||
|
||||
# Teamviewer packages its own qt library files.
|
||||
# Most of them can be replaced by nixpkgs libraries, but the following need to be used beginning at version 15.35.7
|
||||
# because teamviewer will not start without them, either stalling at startup or even segfaulting. In the logfiles, some missing qt libraries
|
||||
# can be observed, although they are present from nixpkgs. AutoPatchelfHook will automatically choose the included libraries, if present.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/202024
|
||||
|
||||
# delete all library files except "qt" folder
|
||||
find $out/share/teamviewer/tv_bin/RTlib -depth -maxdepth 1 ! -type d -execdir rm -rf {} +
|
||||
|
||||
# remove all other folders except "qml" and "plugins" from the qml directory
|
||||
find $out/share/teamviewer/tv_bin/RTlib/qt -depth -maxdepth 1 -mindepth 1 -type d ! \( -name "qml" -o -name "plugins" \) -execdir rm -rf {} +
|
||||
|
||||
# keep "QtQuick" and "QtQuick.2" directory
|
||||
find $out/share/teamviewer/tv_bin/RTlib/qt/qml -depth -maxdepth 1 -mindepth 1 -type d ! \( -name "QtQuick" -o -name "QtQuick.2" \) -execdir rm -rf {} +
|
||||
|
||||
# delete all folders except "platforms" from the plugins directory
|
||||
# it contains libqxcb.so from qtbase which seems to be incompatible with our nixpkgs version
|
||||
find $out/share/teamviewer/tv_bin/RTlib/qt/plugins -depth -maxdepth 1 -mindepth 1 -type d ! -name "platforms" -execdir rm -rf {} +
|
||||
# Teamviewer packages its own qt library files. So do not use nixpkgs qt files. These will cause issues
|
||||
# See https://github.com/NixOS/nixpkgs/issues/321333
|
||||
|
||||
ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
|
||||
ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
|
||||
@@ -94,11 +74,11 @@ mkDerivation rec {
|
||||
install -d "$out/share/dbus-1/services"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services"
|
||||
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \
|
||||
--replace '/opt/teamviewer/tv_bin/TeamViewer' \
|
||||
--replace-fail '/opt/teamviewer/tv_bin/TeamViewer' \
|
||||
"$out/share/teamviewer/tv_bin/TeamViewer"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services"
|
||||
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \
|
||||
--replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
|
||||
--replace-fail '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
|
||||
"$out/share/teamviewer/tv_bin/TeamViewer_Desktop"
|
||||
|
||||
install -d "$out/share/dbus-1/system.d"
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "trayscale";
|
||||
version = "0.12.3";
|
||||
version = "0.12.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeedleFake";
|
||||
repo = "trayscale";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2mGPbH74a9d1uhRGMSEfrzCnwjgdgbopu20K9/g6wg0=";
|
||||
hash = "sha256-quy1maeC1ebVzMvN+JzKf8AmMbipju9vvdTU03SyNnc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Iedd8WsJPAVQexRqDSLAmv7MAWc4IFQXHk6XpnStMps=";
|
||||
vendorHash = "sha256-lGjJLqEGBFd2aYm82xrDfLK90Mcrhb7bMtXSNZpp/bM=";
|
||||
|
||||
subPackages = [ "cmd/trayscale" ];
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ appimageTools.wrapType2 rec {
|
||||
description = "Free time tracker and timesheet app that lets you track work hours across projects";
|
||||
homepage = "https://clockify.me";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "clockify";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||
mainProgram = "morgen";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ justanotherariel wolfangaukang ];
|
||||
maintainers = with maintainers; [ justanotherariel ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.9.0";
|
||||
version = "2.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7dcZbuz3yi0sND6AEqIwIo9byeZheOpIAhmBpOW5lhU=";
|
||||
hash = "sha256-M1S5ebdpw11Ot4h4xvbk/rbJxXom2dZ5Of+6eOlBIuE=";
|
||||
};
|
||||
|
||||
# subpath installation is broken with uvicorn >= 0.26
|
||||
@@ -86,7 +86,7 @@ let
|
||||
cd src-ui
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-gLEzifZK8Ok1SOo3YIIV5pTx4cbedQh025VqkodYrYQ=";
|
||||
npmDepsHash = "sha256-zmlYwlH2cnGbbKf6jt5zBLh0Iv3C9/xN0iA4xVetRNE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -150,6 +150,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
django-filter
|
||||
django-guardian
|
||||
django-multiselectfield
|
||||
django-soft-delete
|
||||
djangorestframework
|
||||
djangorestframework-guardian2
|
||||
drf-writable-nested
|
||||
@@ -165,7 +166,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
ocrmypdf
|
||||
pathvalidate
|
||||
pdf2image
|
||||
psycopg2
|
||||
psycopg
|
||||
python-dateutil
|
||||
python-dotenv
|
||||
python-gnupg
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "treesheets";
|
||||
version = "0-unstable-2024-06-09";
|
||||
version = "0-unstable-2024-06-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aardappel";
|
||||
repo = "treesheets";
|
||||
rev = "c753ce40686c3044eb7fb653bb913d1610096cd1";
|
||||
hash = "sha256-WpbG2RY7z71GBSDjv/VjcFsGcb/YK7P4oMVEydsYpuw=";
|
||||
rev = "d363b4207281caaa6f3b84af93b0cd56c1855692";
|
||||
hash = "sha256-aZIt0DAGDQmIeLZHXjYao5CUhjLp9pjTiXJyoDi0kpQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,21 +8,23 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "deface";
|
||||
version = "1.4.0";
|
||||
format = "pyproject";
|
||||
version = "1.5.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3.pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ORB-HD";
|
||||
repo = "deface";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tLNTgdnKKmyYHVajz0dHIb7cvC1by5LQ5CFIbMvPEYk=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-/mXWeL6OSgW4BMXtAZD/3UxQUGt7UE5ZvH8CXNCueJo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3.pkgs; [
|
||||
imageio
|
||||
imageio-ffmpeg
|
||||
numpy
|
||||
@@ -38,17 +40,21 @@ python3.pkgs.buildPythonApplication rec {
|
||||
''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"''
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace pyproject.toml requirements.txt --replace "opencv-python" "opencv"
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "opencv-python" "opencv"
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Video anonymization by face detection";
|
||||
homepage = "https://github.com/ORB-HD/deface";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ lurkki ];
|
||||
changelog = "https://github.com/ORB-HD/deface/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ lurkki ];
|
||||
mainProgram = "deface";
|
||||
# terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException'
|
||||
broken = stdenv.hostPlatform.system == "aarch64-linux";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freetube";
|
||||
version = "0.20.0";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
|
||||
sha256 = "sha256-7k5hyiK3m+117AxmsoecGsgXSxs8xhyTf8+rl4oBbB8=";
|
||||
sha256 = "sha256-jTDJ0oyDrgOM6T+nwiOakm3QUqKfK2UNY6AfpoaJzd0=";
|
||||
};
|
||||
|
||||
passthru.tests = nixosTests.freetube;
|
||||
|
||||
+190
-313
File diff suppressed because it is too large
Load Diff
@@ -2,23 +2,22 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cloud-hypervisor";
|
||||
version = "39.0";
|
||||
version = "40.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloud-hypervisor";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-sMnfeICo/PhpljstTIj4CiE4QBuyVKYD9oWvWf0Ouew=";
|
||||
hash = "sha256-zrMJGdbOukNbzmcTuIcHlwAbJvTzhz53dc4TO/Fplb4=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"acpi_tables-0.1.0" = "sha256-a6ojB2XVeH+YzzXRle0agg+ljn0Jsgyaf6TJZAGt8sQ=";
|
||||
"igvm-0.1.9" = "sha256-OztgRiv+//27MS9SqSBJPbrVlXihK2m9UkG4REZ9Vn0=";
|
||||
"micro_http-0.1.0" = "sha256-yIgcoEfc7eeS1+bijzkifaBxVNHa71Y+Vn79owMaKvM=";
|
||||
"mshv-bindings-0.1.1" = "sha256-US/AzS7iRUQijkGs1EG04Hk4Q7dPz65BeTMsI8rtMqw=";
|
||||
"vfio-bindings-0.4.0" = "sha256-k8Hf5y8MiTnd3k2iEgnnX/o8VdVS7prKlnssyEerVRM=";
|
||||
"mshv-bindings-0.2.0" = "sha256-NYViItbjt1Q2G4yO3j37naHe9EJ+llkjrNt6w4zoiW8=";
|
||||
"vfio-bindings-0.4.0" = "sha256-mzdYH23CVWm7fvu4+1cFHlPhkUjh7+JlU/ScoXaDNgA=";
|
||||
"vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
|
||||
"vm-fdt-0.3.0" = "sha256-9PywgSnSL+8gT6lcl9t6w7X4fEINa+db+H1vWS+gDOI=";
|
||||
};
|
||||
|
||||
@@ -1,50 +1,35 @@
|
||||
{ lib
|
||||
, callPackage
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, hyprland
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
hyprland,
|
||||
}:
|
||||
let
|
||||
mkHyprlandPlugin = hyprland:
|
||||
mkHyprlandPlugin =
|
||||
hyprland:
|
||||
args@{ pluginName, ... }:
|
||||
stdenv.mkDerivation (args // {
|
||||
pname = "${pluginName}";
|
||||
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
|
||||
buildInputs = [ hyprland ]
|
||||
++ hyprland.buildInputs
|
||||
++ (args.buildInputs or [ ]);
|
||||
meta = args.meta // {
|
||||
description = args.meta.description or "";
|
||||
longDescription = (args.meta.longDescription or "") +
|
||||
"\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
|
||||
};
|
||||
});
|
||||
|
||||
plugins = {
|
||||
hy3 = { fetchFromGitHub, cmake, hyprland }:
|
||||
mkHyprlandPlugin hyprland rec {
|
||||
pluginName = "hy3";
|
||||
version = "0.41.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outfoxxed";
|
||||
repo = "hy3";
|
||||
rev = "hl${version}";
|
||||
hash = "sha256-gEEWWlQRvejSR2RRg78Lubz6siIgknqj6CslveyyIP4=";
|
||||
stdenv.mkDerivation (
|
||||
args
|
||||
// {
|
||||
pname = "${pluginName}";
|
||||
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
|
||||
buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ (args.buildInputs or [ ]);
|
||||
meta = args.meta // {
|
||||
description = args.meta.description or "";
|
||||
longDescription =
|
||||
(args.meta.longDescription or "")
|
||||
+ "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/outfoxxed/hy3";
|
||||
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
|
||||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ aacebedo ];
|
||||
};
|
||||
};
|
||||
};
|
||||
plugins = lib.mergeAttrsList [
|
||||
{ hy3 = import ./hy3.nix; }
|
||||
(import ./hyprland-plugins.nix)
|
||||
];
|
||||
in
|
||||
(lib.mapAttrs (name: plugin: callPackage plugin { }) plugins) // { inherit mkHyprlandPlugin; }
|
||||
(lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins)
|
||||
// {
|
||||
inherit mkHyprlandPlugin;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
hyprland,
|
||||
mkHyprlandPlugin,
|
||||
}:
|
||||
mkHyprlandPlugin hyprland rec {
|
||||
pluginName = "hy3";
|
||||
version = "0.41.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outfoxxed";
|
||||
repo = "hy3";
|
||||
rev = "hl${version}";
|
||||
hash = "sha256-bRLI+zgfT31LCMW4Pf701ZZx2oFeXoBu1BfYQjX6MPc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/outfoxxed/hy3";
|
||||
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
|
||||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ aacebedo ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
let
|
||||
# shared src for upstream hyprland-plugins repo
|
||||
# function generating derivations for all plugins in hyprland-plugins
|
||||
hyprland-plugins =
|
||||
builtins.mapAttrs
|
||||
(
|
||||
name: description:
|
||||
(
|
||||
{
|
||||
lib,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
hyprland,
|
||||
mkHyprlandPlugin,
|
||||
}:
|
||||
let
|
||||
version = "0.41.1";
|
||||
|
||||
hyprland-plugins-src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprland-plugins";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Bw3JRBUZg2kmDwxa/UHvD//gGcNjbftTj2MSeLvx1q8=";
|
||||
};
|
||||
in
|
||||
mkHyprlandPlugin hyprland {
|
||||
pluginName = name;
|
||||
inherit version;
|
||||
|
||||
src = "${hyprland-plugins-src}/${name}";
|
||||
nativeBuildInputs = [ cmake ];
|
||||
meta = {
|
||||
homepage = "https://github.com/hyprwm/hyprland-plugins";
|
||||
description = "Hyprland ${description} plugin";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fufexan ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
)
|
||||
)
|
||||
{
|
||||
borders-plus-plus = "multiple borders";
|
||||
csgo-vulkan-fix = "CS:GO/CS2 Vulkan fix";
|
||||
hyprbars = "window title";
|
||||
hyprexpo = "workspaces overview";
|
||||
hyprtrails = "smooth trails behind moving windows";
|
||||
hyprwinwrap = "xwinwrap-like";
|
||||
};
|
||||
in
|
||||
hyprland-plugins
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, runCommand, transmission_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
|
||||
{ lib, runCommand, transmission_3_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
|
||||
let
|
||||
urlRegexp = ''.*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*'';
|
||||
in
|
||||
@@ -32,7 +32,7 @@ let
|
||||
in
|
||||
runCommand name {
|
||||
inherit meta;
|
||||
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
|
||||
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_3_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
|
||||
outputHashAlgo = if hash != "" then null else "sha256";
|
||||
outputHash = hash;
|
||||
outputHashMode = if recursiveHash then "recursive" else "flat";
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "ananicy-rules-cachyos";
|
||||
version = "0-unstable-2024-06-14";
|
||||
version = "0-unstable-2024-06-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CachyOS";
|
||||
repo = "ananicy-rules";
|
||||
rev = "e3638ebb2320202ede9facfc9657cc8af2098a2d";
|
||||
hash = "sha256-lIhXeqPJKC3brxVhIK04K9AAU+RqqqOwN/gUevYmaDM=";
|
||||
rev = "167915d1c6e4f46932a9857b1a4aeb3e813a8538";
|
||||
hash = "sha256-hIrjc80DuuENLbD5MxAku6aY05kdfXWLPSCSssadmr8=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
version = "0.5.1";
|
||||
version = "0.5.2";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "ardugotools";
|
||||
@@ -15,7 +15,7 @@ buildGoModule {
|
||||
owner = "randomouscrap98";
|
||||
repo = "ardugotools";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-c+sJoE5NML06bl6ch+OiN1vO0rdyE2gf/z4pzY7i5Qk=";
|
||||
hash = "sha256-ugYkcYrVHoGC58u6zQNEjlWspAFONmEQVnVDWdWeVnw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z9ObsS+GwVsz6ZlXCgN0WlShHzbmx4WLa/1/XLSSAAs=";
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
, installShellFiles
|
||||
, rustPlatform
|
||||
, libiconv
|
||||
, protobuf
|
||||
, buildPackages
|
||||
, darwin
|
||||
, nixosTests
|
||||
}:
|
||||
@@ -35,9 +35,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = [
|
||||
protobuf
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
libiconv
|
||||
darwin.apple_sdk_11_0.frameworks.AppKit
|
||||
darwin.apple_sdk_11_0.frameworks.Security
|
||||
@@ -45,8 +43,8 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export PROTOC=${protobuf}/bin/protoc
|
||||
export PROTOC_INCLUDE="${protobuf}/include";
|
||||
export PROTOC=${buildPackages.protobuf}/bin/protoc
|
||||
export PROTOC_INCLUDE="${buildPackages.protobuf}/include";
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bitmagnet";
|
||||
version = "0.9.2";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitmagnet-io";
|
||||
repo = "bitmagnet";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Lyogcuehzn19sX2VZWWlJNI38Jn5IA7mJz0RWkoP390=";
|
||||
hash = "sha256-PdDXQC702mmK8wpYmi3N5iFv7Y3wbzpyF4Yq3utqX2c=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aauXgHPZbSiTW9utuHXzJr7GsWs/2aFiGuukA/B9BRc=";
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, llvmPackages
|
||||
, stdenv
|
||||
, darwin
|
||||
}:
|
||||
@@ -18,6 +19,11 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoHash = "sha256-ma7JVbWSiKfkCXCDwA8DFm2+KPrWR+8nSdgGSqehNg8=";
|
||||
|
||||
env = {
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
};
|
||||
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks; [
|
||||
Cocoa
|
||||
@@ -35,8 +41,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ ifd3f sodiboo ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
# https://github.com/ifd3f/caligula/issues/105
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
mainProgram = "caligula";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "charmcraft";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "canonical";
|
||||
repo = "charmcraft";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-B0ZcOORW6yaSIpisPLnq5/S/CcqqvHNTXcfP1sKW2KQ=";
|
||||
hash = "sha256-yMcGXi7OxEtfOv3zLEUlnZrR90TkFc0y9RB9jS34ZWs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
+35
-29
@@ -1,48 +1,53 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildGraalvmNativeImage
|
||||
, babashka
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, clojure
|
||||
, writeScript
|
||||
, testers
|
||||
, clojure-lsp
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGraalvmNativeImage,
|
||||
babashka,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
clojure,
|
||||
writeScript,
|
||||
testers,
|
||||
clojure-lsp,
|
||||
}:
|
||||
|
||||
buildGraalvmNativeImage rec {
|
||||
pname = "clojure-lsp";
|
||||
version = "2023.08.06-00.28.06";
|
||||
version = "2024.04.22-11.50.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
owner = "clojure-lsp";
|
||||
repo = "clojure-lsp";
|
||||
rev = version;
|
||||
sha256 = "sha256-wc7M2cPRtdaRzZn3GNu/aCbQ2VqxiDxvu/b7qnBVUBo=";
|
||||
hash = "sha256-GyPIFYR+/BZ+vq6+yuer5HoVILXLWNw1sW8XpJ7q4SA=";
|
||||
};
|
||||
|
||||
jar = fetchurl {
|
||||
url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
|
||||
sha256 = "c301821ac6914999a44f5c1cd371d46b248fe9a2e31d43a666d0bc2656cfdd78";
|
||||
hash = "sha256-dB16225A7L3nWplvqlal+5gho+LmqqVGPN9dfasKaPk=";
|
||||
};
|
||||
|
||||
extraNativeImageBuildArgs = [
|
||||
# These build args mirror the build.clj upstream
|
||||
# ref: https://github.com/clojure-lsp/clojure-lsp/blob/2024.04.22-11.50.26/cli/build.clj#L141-L144
|
||||
"--no-fallback"
|
||||
"--native-image-info"
|
||||
"--features=clj_easy.graal_build_time.InitClojureClasses"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
checkPhase =
|
||||
''
|
||||
runHook preCheck
|
||||
|
||||
export HOME="$(mktemp -d)"
|
||||
./${pname} --version | fgrep -q '${version}'
|
||||
''
|
||||
# TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
|
||||
#${babashka}/bin/bb integration-test ./${pname}
|
||||
+ ''
|
||||
runHook postCheck
|
||||
'';
|
||||
export HOME="$(mktemp -d)"
|
||||
./clojure-lsp --version | fgrep -q '${version}'
|
||||
''
|
||||
# TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
|
||||
#${babashka}/bin/bb integration-test ./clojure-lsp
|
||||
+ ''
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
inherit version;
|
||||
@@ -71,11 +76,12 @@ buildGraalvmNativeImage rec {
|
||||
update-source-version clojure-lsp "$latest_version"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Language Server Protocol (LSP) for Clojure";
|
||||
homepage = "https://github.com/clojure-lsp/clojure-lsp";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ericdallo ];
|
||||
changelog = "https://github.com/clojure-lsp/clojure-lsp/releases/tag/${version}";
|
||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.ericdallo ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "conkeyscan";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CompassSecurity";
|
||||
repo = "conkeyscan";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-F5lYpETzv03O9I4vi4qnLgQLvBlv8bLtJQArxliO8JI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "{{VERSION_PLACEHOLDER}}" "${version}"
|
||||
'';
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
atlassian-python-api
|
||||
beautifulsoup4
|
||||
clize
|
||||
loguru
|
||||
pysocks
|
||||
random-user-agent
|
||||
readchar
|
||||
requests-ratelimiter
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "conkeyscan" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to scan Confluence for keywords";
|
||||
homepage = "https://github.com/CompassSecurity/conkeyscan";
|
||||
changelog = "https://github.com/CompassSecurity/conkeyscan/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "conkeyscan";
|
||||
};
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cosmic-files";
|
||||
version = "unstable-2024-02-28";
|
||||
version = "0-unstable-2024-06-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
# COSMIC applications now uses vergen for the About page
|
||||
# Update the COMMIT_DATE to match when the commit was made
|
||||
env.VERGEN_GIT_COMMIT_DATE = "2024-02-28";
|
||||
env.VERGEN_GIT_COMMIT_DATE = "2024-06-10";
|
||||
env.VERGEN_GIT_SHA = src.rev;
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -7,21 +7,21 @@
|
||||
}:
|
||||
let
|
||||
pname = "dbgate";
|
||||
version = "5.3.0";
|
||||
version = "5.3.1";
|
||||
src =
|
||||
fetchurl
|
||||
{
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_arm64.AppImage";
|
||||
hash = "sha256-FoNph6phZEMjndX6KNtSH8TpOpI0x4rmpTBh11bYV3c=";
|
||||
hash = "sha256-Qz0VA2pHT8muw9RdLg7Y3w3mJ3ubFnqf4dmfdZdnJHI=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_x86_64.AppImage";
|
||||
hash = "sha256-HsWT099apLtL5KAy3Shw0uEoXzpWGAyD63L3NhT/JlU=";
|
||||
hash = "sha256-H/2Tb6ZnO6LJx+rv/ADdItaRMP95x4G3lPNK0sbZn9I=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-mac_x64.dmg";
|
||||
hash = "sha256-bdCwvfmfOCpVW1yTFxsLxveg9uQW1O8ODkCGpiujRCE=";
|
||||
hash = "sha256-gZrfv9qe2arytVgiYtX9uwfwC4Z30SHEDiBUXcpF968=";
|
||||
};
|
||||
}
|
||||
.${stdenv.system} or (throw "dbgate: ${stdenv.system} is unsupported.");
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.15";
|
||||
version = "1.1.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-GFjswA0COhZCMY6KMtthGSA16sKwScXm7x+CjZ0hXl8=";
|
||||
hash = "sha256-jVK4CKd4QkJp4bu9OrEo8oHxfVpEJd0saSbgc+aeKxU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{ lib, stdenv, fetchFromGitHub, pkg-config, efivar, popt }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
efivar,
|
||||
popt,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "efibootmgr";
|
||||
@@ -13,20 +20,24 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ efivar popt ];
|
||||
buildInputs = [
|
||||
efivar
|
||||
popt
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"EFIDIR=nixos"
|
||||
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
|
||||
];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
installFlags = [ "prefix=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
|
||||
homepage = "https://github.com/rhboot/efibootmgr";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
changelog = "https://github.com/rhboot/efibootmgr/releases/tag/${src.rev}";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [ getchoo ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -47,13 +47,13 @@ let
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.15.0";
|
||||
version = "2.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-0kReN7FKrcRhxUuwZoArLTW2F1q40Wbp9/hRoDjKZHs=";
|
||||
hash = "sha256-dfgRRh8yJUDkMgl32ddx8iQElwRt0hCBsObud7rbTYQ=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
+98
-74
@@ -1,55 +1,59 @@
|
||||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, autoreconfHook
|
||||
, docbook_xml_dtd_45
|
||||
, docbook-xsl-nons
|
||||
, which
|
||||
, libxml2
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, intltool
|
||||
, libxslt
|
||||
, pkg-config
|
||||
, xmlto
|
||||
, substituteAll
|
||||
, runCommand
|
||||
, bison
|
||||
, xdg-dbus-proxy
|
||||
, p11-kit
|
||||
, appstream
|
||||
, bubblewrap
|
||||
, bzip2
|
||||
, curl
|
||||
, dbus
|
||||
, glib
|
||||
, gpgme
|
||||
, json-glib
|
||||
, libarchive
|
||||
, libcap
|
||||
, libseccomp
|
||||
, coreutils
|
||||
, socat
|
||||
, gettext
|
||||
, hicolor-icon-theme
|
||||
, shared-mime-info
|
||||
, desktop-file-utils
|
||||
, gtk3
|
||||
, fuse3
|
||||
, nixosTests
|
||||
, xz
|
||||
, zstd
|
||||
, ostree
|
||||
, polkit
|
||||
, python3
|
||||
, systemd
|
||||
, xorg
|
||||
, valgrind
|
||||
, glib-networking
|
||||
, wrapGAppsNoGuiHook
|
||||
, dconf
|
||||
, gsettings-desktop-schemas
|
||||
, librsvg
|
||||
, makeWrapper
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
runCommand,
|
||||
appstream,
|
||||
autoreconfHook,
|
||||
bison,
|
||||
bubblewrap,
|
||||
bzip2,
|
||||
coreutils,
|
||||
curl,
|
||||
dbus,
|
||||
dconf,
|
||||
desktop-file-utils,
|
||||
docbook_xml_dtd_45,
|
||||
docbook-xsl-nons,
|
||||
fuse3,
|
||||
gettext,
|
||||
glib,
|
||||
glib-networking,
|
||||
gobject-introspection,
|
||||
gpgme,
|
||||
gsettings-desktop-schemas,
|
||||
gtk3,
|
||||
gtk-doc,
|
||||
hicolor-icon-theme,
|
||||
intltool,
|
||||
json-glib,
|
||||
libarchive,
|
||||
libcap,
|
||||
librsvg,
|
||||
libseccomp,
|
||||
libxml2,
|
||||
libxslt,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
nixos-icons,
|
||||
ostree,
|
||||
p11-kit,
|
||||
pkg-config,
|
||||
polkit,
|
||||
python3,
|
||||
shared-mime-info,
|
||||
socat,
|
||||
substituteAll,
|
||||
systemd,
|
||||
testers,
|
||||
valgrind,
|
||||
which,
|
||||
wrapGAppsNoGuiHook,
|
||||
xdg-dbus-proxy,
|
||||
xmlto,
|
||||
xorg,
|
||||
xz,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -57,11 +61,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.14.6";
|
||||
|
||||
# TODO: split out lib once we figure out what to do with triggerdir
|
||||
outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
"man"
|
||||
"doc"
|
||||
"devdoc"
|
||||
"installedTests"
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY="; # Taken from https://github.com/flatpak/flatpak/releases/
|
||||
hash = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -69,7 +80,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# https://github.com/flatpak/flatpak/issues/1460
|
||||
(substituteAll {
|
||||
src = ./fix-test-paths.patch;
|
||||
inherit coreutils gettext socat gtk3;
|
||||
inherit
|
||||
coreutils
|
||||
gettext
|
||||
socat
|
||||
gtk3
|
||||
;
|
||||
smi = shared-mime-info;
|
||||
dfu = desktop-file-utils;
|
||||
hicolorIconTheme = hicolor-icon-theme;
|
||||
@@ -149,9 +165,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ostree
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
valgrind
|
||||
];
|
||||
nativeCheckInputs = [ valgrind ];
|
||||
|
||||
# TODO: some issues with temporary files
|
||||
doCheck = false;
|
||||
@@ -162,10 +176,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
configureFlags = [
|
||||
"--with-curl"
|
||||
"--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
|
||||
"--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
|
||||
"--with-system-bubblewrap=${lib.getExe bubblewrap}"
|
||||
"--with-system-dbus-proxy=${lib.getExe xdg-dbus-proxy}"
|
||||
"--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
|
||||
"--with-profile-dir=${placeholder "out"}/etc/profile.d"
|
||||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
"--enable-gtk-doc"
|
||||
"--enable-installed-tests"
|
||||
];
|
||||
@@ -175,15 +191,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/flatpak"
|
||||
];
|
||||
|
||||
postPatch = let
|
||||
vsc-py = python3.withPackages (pp: [
|
||||
pp.pyparsing
|
||||
]);
|
||||
in ''
|
||||
patchShebangs buildutil
|
||||
patchShebangs tests
|
||||
PATH=${lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
|
||||
'';
|
||||
postPatch =
|
||||
let
|
||||
vsc-py = python3.withPackages (pp: [ pp.pyparsing ]);
|
||||
in
|
||||
''
|
||||
patchShebangs buildutil
|
||||
patchShebangs tests
|
||||
PATH=${lib.makeBinPath [ vsc-py ]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
icon-validator-patch = substituteAll {
|
||||
@@ -191,21 +207,29 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (builtins) storeDir;
|
||||
};
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.flatpak;
|
||||
|
||||
validate-icon = runCommand "test-icon-validation" { } ''
|
||||
${finalAttrs.finalPackage}/libexec/flatpak-validate-icon --sandbox 512 512 ${../../../applications/audio/zynaddsubfx/ZynLogo.svg} > "$out"
|
||||
${finalAttrs.finalPackage}/libexec/flatpak-validate-icon \
|
||||
--sandbox 512 512 \
|
||||
"${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg" > "$out"
|
||||
|
||||
grep format=svg "$out"
|
||||
'';
|
||||
|
||||
version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Linux application sandboxing and distribution framework";
|
||||
homepage = "https://flatpak.org/";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
changelog = "https://github.com/flatpak/flatpak/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.lgpl21Plus;
|
||||
maintainers = with lib.maintainers; [ getchoo ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -1,8 +1,10 @@
|
||||
{ stdenv
|
||||
, edid-decode
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, pkg-config
|
||||
, ninja
|
||||
, cmake
|
||||
, xorg
|
||||
, libdrm
|
||||
, libei
|
||||
@@ -18,14 +20,13 @@
|
||||
, SDL2
|
||||
, pipewire
|
||||
, pixman
|
||||
, python3
|
||||
, libinput
|
||||
, glslang
|
||||
, hwdata
|
||||
, openvr
|
||||
, stb
|
||||
, wlroots
|
||||
, libdecor
|
||||
, libdisplay-info
|
||||
, lib
|
||||
, makeBinaryWrapper
|
||||
, patchelfUnstable
|
||||
@@ -43,14 +44,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.14.18";
|
||||
version = "3.14.22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-XcefR0wiDHQY7wMX+LQTEntffi2RdMW8m2HNQMz035A=";
|
||||
hash = "sha256-/muitEE3LCU6Xnjbpczb/zy2JRvUbBPT5L13T/v3MvE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -62,6 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# so `placeholder "out"` ends up pointing to the wrong place
|
||||
postPatch = ''
|
||||
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
|
||||
# Patching shebangs in the main `libdisplay-info` build
|
||||
patchShebangs subprojects/libdisplay-info/tool/gen-search-table.py
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
@@ -82,6 +85,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
# For `libdisplay-info`
|
||||
python3
|
||||
hwdata
|
||||
edid-decode
|
||||
# For OpenVR
|
||||
cmake
|
||||
] ++ lib.optionals enableExecutable [
|
||||
makeBinaryWrapper
|
||||
glslang
|
||||
@@ -94,7 +103,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wayland
|
||||
wayland-protocols
|
||||
vulkan-loader
|
||||
openvr
|
||||
glm
|
||||
] ++ lib.optionals enableWsi [
|
||||
vulkan-headers
|
||||
@@ -120,7 +128,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pixman
|
||||
libcap
|
||||
stb
|
||||
libdisplay-info
|
||||
]);
|
||||
|
||||
postInstall = lib.optionalString enableExecutable ''
|
||||
|
||||
Generated
+8094
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,177 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
buildGoModule,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pnpm_9,
|
||||
wrapGAppsHook3,
|
||||
cargo-tauri,
|
||||
darwin,
|
||||
desktop-file-utils,
|
||||
esbuild,
|
||||
git,
|
||||
glib-networking,
|
||||
jq,
|
||||
nodejs,
|
||||
pkg-config,
|
||||
libsoup,
|
||||
moreutils,
|
||||
openssl,
|
||||
webkitgtk,
|
||||
nix-update-script,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gitbutler";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gitbutlerapp";
|
||||
repo = "gitbutler";
|
||||
rev = "release/${version}";
|
||||
hash = "sha256-m2hvcnY2h4DYtM4ME+dxmwnmUh768CHSoAq5VsKl6Sk=";
|
||||
};
|
||||
|
||||
# deactivate the upstream updater in tauri configuration
|
||||
# TODO: use `tauri build`'s `--config` flag with the release configuration instead of manually merging
|
||||
# them. it doesn't seem to like using paths currently, even though it should.
|
||||
postPatch = ''
|
||||
jq --slurp ".[0] * .[1] | .tauri.updater.active = false" crates/gitbutler-tauri/tauri.conf{,.release}.json | sponge crates/gitbutler-tauri/tauri.conf.json
|
||||
'';
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"tauri-plugin-context-menu-0.7.1" = "sha256-vKfq20hrFLmfoXO94D8HwAE3UdGcuqVZf3+tOBhLqj0=";
|
||||
"tauri-plugin-log-0.0.0" = "sha256-Mf2/cnKotd751ZcSHfiSLNe2nxBfo4dMBdoCwQhe7yI=";
|
||||
};
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit pname version src;
|
||||
hash = "sha256-+4SPDvhpvR1bjwTcyLO3HeBuZGL3P03OaEnOvcX9t9c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo-tauri
|
||||
desktop-file-utils
|
||||
jq
|
||||
moreutils
|
||||
nodejs
|
||||
pkg-config
|
||||
pnpm_9.configHook
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ openssl ]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
glib-networking
|
||||
libsoup
|
||||
webkitgtk
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
[
|
||||
AppKit
|
||||
CoreServices
|
||||
Security
|
||||
WebKit
|
||||
]
|
||||
);
|
||||
|
||||
env = {
|
||||
# `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's
|
||||
COREPACK_ENABLE_STRICT = 0;
|
||||
|
||||
# we depend on nightly features
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
|
||||
# we also need to have `tracing` support in `tokio` for `console-subscriber`
|
||||
RUSTFLAGS = "--cfg tokio_unstable";
|
||||
|
||||
tauriBundle =
|
||||
{
|
||||
Linux = "deb";
|
||||
Darwin = "app";
|
||||
}
|
||||
.${stdenv.hostPlatform.uname.system}
|
||||
or (throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}");
|
||||
|
||||
ESBUILD_BINARY_PATH = lib.getExe (
|
||||
esbuild.override {
|
||||
buildGoModule =
|
||||
args:
|
||||
buildGoModule (
|
||||
args
|
||||
// rec {
|
||||
version = "0.18.20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "evanw";
|
||||
repo = "esbuild";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mED3h+mY+4H465m02ewFK/BgA1i/PQ+ksUNxBlgpUoI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
cargo tauri build --bundles "$tauriBundle"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
''
|
||||
runHook preInstall
|
||||
''
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/bin
|
||||
cp -r target/release/bundle/macos $out/Applications
|
||||
mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler
|
||||
ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler
|
||||
''
|
||||
+ lib.optionalString stdenv.isLinux ''
|
||||
cp -r target/release/bundle/"$tauriBundle"/*/data/usr $out
|
||||
|
||||
desktop-file-edit \
|
||||
--set-comment "A Git client for simultaneous branches on top of your existing workflow." \
|
||||
--set-key="Keywords" --set-value="git;" \
|
||||
--set-key="StartupWMClass" --set-value="GitButler" \
|
||||
$out/share/applications/git-butler.desktop
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# the `gitbutler-git` crate's checks do not support release mode
|
||||
checkType = "debug";
|
||||
|
||||
nativeCheckInputs = [ git ];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"release/(.*)"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Git client for simultaneous branches on top of your existing workflow";
|
||||
homepage = "https://gitbutler.com";
|
||||
changelog = "https://github.com/gitbutlerapp/gitbutler/releases/tag/release/${version}";
|
||||
mainProgram = "git-butler";
|
||||
license = lib.licenses.fsl11Mit;
|
||||
maintainers = with lib.maintainers; [ getchoo ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
|
||||
appstream,
|
||||
gobject-introspection,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
blueprint-compiler,
|
||||
wrapGAppsHook4,
|
||||
|
||||
glib-networking,
|
||||
libadwaita,
|
||||
webkitgtk_6_0,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "gnome-feeds";
|
||||
version = "2.2.0";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "gfeeds";
|
||||
rev = version;
|
||||
hash = "sha256-XKwRFjz4ocH01mj8KshLGmGxbm/uvDiyYRf65KL0UFw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# both patches needed to built with newer blueprint-compiler
|
||||
(fetchpatch {
|
||||
name = "fix-for-blueprint-0.8.patch";
|
||||
url = "https://gitlab.gnome.org/World/gfeeds/-/commit/cfe860f44f685be302e2ad9f30b55bab08e078ce.patch";
|
||||
hash = "sha256-exkq9KykB60/X8u3+T1/sShrhGP8BvNkaBWPzm2mchc=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "upgrade-blueprint-0.8-syntax.patch";
|
||||
url = "https://gitlab.gnome.org/World/gfeeds/-/commit/d099fda0c62e338080061683a154f711cc487b30.patch";
|
||||
hash = "sha256-M6QLRTj+CItk3XPDeexf3/+B1YHJoHsTjwdE6iw1xjM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
blueprint-compiler
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib-networking
|
||||
libadwaita
|
||||
webkitgtk_6_0
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
beautifulsoup4
|
||||
humanize
|
||||
python-dateutil
|
||||
syndication-domination
|
||||
python-magic
|
||||
pillow
|
||||
pygments
|
||||
pygobject3
|
||||
readability-lxml
|
||||
pytz
|
||||
requests
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "RSS/Atom feed reader for GNOME";
|
||||
mainProgram = "gfeeds";
|
||||
homepage = "https://gitlab.gnome.org/World/gfeeds";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
pbogdan
|
||||
aleksana
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user