Merge master into haskell-updates
This commit is contained in:
@@ -7016,6 +7016,12 @@
|
||||
githubId = 1202014;
|
||||
name = "Falco Peijnenburg";
|
||||
};
|
||||
fqidz = {
|
||||
email = "faidz.arante@gmail.com";
|
||||
github = "fqidz";
|
||||
githubId = 82884264;
|
||||
name = "Faidz Arante";
|
||||
};
|
||||
fragamus = {
|
||||
email = "innovative.engineer@gmail.com";
|
||||
github = "fragamus";
|
||||
@@ -10868,12 +10874,6 @@
|
||||
githubId = 8798449;
|
||||
name = "kidsan";
|
||||
};
|
||||
kierdavis = {
|
||||
email = "kierdavis@gmail.com";
|
||||
github = "kierdavis";
|
||||
githubId = 845652;
|
||||
name = "Kier Davis";
|
||||
};
|
||||
kiike = {
|
||||
email = "me@enric.me";
|
||||
github = "kiike";
|
||||
@@ -16974,6 +16974,12 @@
|
||||
githubId = 315234;
|
||||
name = "Serge Bazanski";
|
||||
};
|
||||
qaidvoid = {
|
||||
email = "contact@qaidvoid.dev";
|
||||
github = "qaidvoid";
|
||||
githubId = 12017109;
|
||||
name = "Rabindra Dhakal";
|
||||
};
|
||||
qbit = {
|
||||
name = "Aaron Bieber";
|
||||
email = "aaron@bolddaemon.com";
|
||||
@@ -20672,6 +20678,13 @@
|
||||
githubId = 3512122;
|
||||
keys = [ { fingerprint = "5F29 132D EFA8 5DA0 B598 5BF2 5941 754C 1CDE 33BB"; } ];
|
||||
};
|
||||
TheColorman = {
|
||||
name = "colorman";
|
||||
email = "nixpkgs@colorman.me";
|
||||
github = "TheColorman";
|
||||
githubId = 18369995;
|
||||
keys = [ { fingerprint = "3D8C A43C FBA2 5D28 0196 19F0 AB11 0475 B417 291D"; } ];
|
||||
};
|
||||
thedavidmeister = {
|
||||
email = "thedavidmeister@gmail.com";
|
||||
github = "thedavidmeister";
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
# Perlless {#sec-perlless}
|
||||
|
||||
::: {.warning}
|
||||
If you enable this profile, you will NOT be able to switch to a new
|
||||
configuration and thus you will not be able to rebuild your system with
|
||||
nixos-rebuild!
|
||||
:::
|
||||
|
||||
Render your system completely perlless (i.e. without the perl interpreter). This
|
||||
includes a mechanism so that your build fails if it contains a Nix store path
|
||||
that references the string "perl".
|
||||
|
||||
@@ -34,6 +34,10 @@
|
||||
Users that want to keep PulseAudio will want to set `services.pipewire.enable = false;` and `hardware.pulseaudio.enable = true;`.
|
||||
There is currently no plan to fully deprecate and remove PulseAudio, however, PipeWire should generally be preferred for new installs.
|
||||
|
||||
- The Rust rewrite of the `switch-to-configuration` program is now used for system activation by default.
|
||||
If you experience any issues, please report them.
|
||||
The original Perl script can still be used for now by setting `system.switch.enableNg` to `false`.
|
||||
|
||||
## New Modules {#sec-release-24.11-new-modules}
|
||||
|
||||
- [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwariror 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver).
|
||||
@@ -71,7 +75,7 @@
|
||||
|
||||
- [Immersed VR](https://immersed.com/), a closed-source coworking platform. Available as [programs.immersed-vr](#opt-programs.immersed-vr.enable).
|
||||
|
||||
- [HomeBox](https://github.com/hay-kot/homebox/): the inventory and organization system built for the Home User. Available as [services.homebox](#opt-services.homebox.enable).
|
||||
- [HomeBox](https://github.com/sysadminsmedia/homebox): the inventory and organization system built for the Home User. Available as [services.homebox](#opt-services.homebox.enable).
|
||||
|
||||
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
|
||||
|
||||
@@ -331,6 +335,13 @@
|
||||
|
||||
- The `replay-sorcery` package and module was removed as it unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.
|
||||
|
||||
- To follow [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) a few options of `samba` have been moved from `extraConfig` and `configText` to the new freeform option `settings` and renamed, e.g.:
|
||||
- `services.samba.invalidUsers` to `services.samba.settings.global."invalid users"`
|
||||
- `services.samba.securityType` to `services.samba.settings.global."security type"`
|
||||
- `services.samba.shares` to `services.samba.settings`
|
||||
- `services.samba.enableWinbindd` to `services.samba.winbindd.enable`
|
||||
- `services.samba.enableNmbd` to `services.samba.nmbd.enable`
|
||||
|
||||
- `zx` was updated to v8, which introduces several breaking changes.
|
||||
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
|
||||
|
||||
@@ -407,6 +418,9 @@
|
||||
|
||||
- The NixOS installation media no longer support the ReiserFS or JFS file systems by default.
|
||||
|
||||
- Minimal installer ISOs are no longer built on the small channel.
|
||||
Please obtain installer images from the full release channels.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
|
||||
{
|
||||
|
||||
# switch-to-configuration-ng reimplements switch-to-configuration, but
|
||||
# without perl.
|
||||
system.switch = lib.mkDefault {
|
||||
enable = false;
|
||||
enableNg = true;
|
||||
};
|
||||
|
||||
# Remove perl from activation
|
||||
boot.initrd.systemd.enable = lib.mkDefault true;
|
||||
system.etc.overlay.enable = lib.mkDefault true;
|
||||
|
||||
@@ -123,12 +123,23 @@ in
|
||||
# Import the most important environment variables into the D-Bus and systemd
|
||||
# user environments (e.g. required for screen sharing and Pinentry prompts):
|
||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
# enable systemd-integration
|
||||
exec "systemctl --user import-environment {,WAYLAND_}DISPLAY SWAYSOCK; systemctl --user start sway-session.target"
|
||||
exec swaymsg -t subscribe '["shutdown"]' && systemctl --user stop sway-session.target
|
||||
'';
|
||||
} // lib.optionalAttrs (cfg.package != null) {
|
||||
"sway/config".source = lib.mkOptionDefault "${cfg.package}/etc/sway/config";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.targets.sway-session = {
|
||||
description = "sway compositor session";
|
||||
documentation = [ "man:systemd.special(7)" ];
|
||||
bindsTo = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session-pre.target" ];
|
||||
after = [ "graphical-session-pre.target" ];
|
||||
};
|
||||
|
||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||
services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package;
|
||||
|
||||
|
||||
@@ -108,6 +108,6 @@ in
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [kierdavis];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,8 +73,14 @@ in {
|
||||
resolver.public-suffix = lib.mkDefault [
|
||||
"file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
|
||||
];
|
||||
config.resource = {
|
||||
config.resource = let
|
||||
hasHttpListener = builtins.any (listener: listener.protocol == "http") (lib.attrValues cfg.settings.server.listener);
|
||||
in {
|
||||
spam-filter = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml";
|
||||
} // lib.optionalAttrs (
|
||||
(builtins.hasAttr "listener" cfg.settings.server) && hasHttpListener
|
||||
) {
|
||||
webadmin = lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Samba {#module-services-samba}
|
||||
|
||||
[Samba](https://www.samba.org/), a SMB/CIFS file, print, and login server for Unix.
|
||||
|
||||
## Basic Usage {#module-services-samba-basic-usage}
|
||||
|
||||
A minimal configuration looks like this:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.samba.enable = true;
|
||||
}
|
||||
```
|
||||
|
||||
This configuration automatically enables `smbd`, `nmbd` and `winbindd` services by default.
|
||||
|
||||
## Configuring {#module-services-samba-configuring}
|
||||
|
||||
Samba configuration is located in the `/etc/samba/smb.conf` file.
|
||||
|
||||
### File share {#module-services-samba-configuring-file-share}
|
||||
|
||||
This configuration will configure Samba to serve a `public` file share
|
||||
which is read-only and accessible without authentication:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.samba = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"public" = {
|
||||
"path" = "/public";
|
||||
"read only" = "yes";
|
||||
"browseable" = "yes";
|
||||
"guest ok" = "yes";
|
||||
"comment" = "Public samba share.";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
@@ -3,232 +3,162 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
smbToString = x: if builtins.typeOf x == "bool"
|
||||
then boolToString x
|
||||
else toString x;
|
||||
|
||||
cfg = config.services.samba;
|
||||
|
||||
samba = cfg.package;
|
||||
|
||||
shareConfig = name:
|
||||
let share = getAttr name cfg.shares; in
|
||||
"[${name}]\n " + (smbToString (
|
||||
map
|
||||
(key: "${key} = ${smbToString (getAttr key share)}\n")
|
||||
(attrNames share)
|
||||
));
|
||||
|
||||
configFile = pkgs.writeText "smb.conf"
|
||||
(if cfg.configText != null then cfg.configText else
|
||||
''
|
||||
[global]
|
||||
security = ${cfg.securityType}
|
||||
passwd program = /run/wrappers/bin/passwd %u
|
||||
invalid users = ${smbToString cfg.invalidUsers}
|
||||
|
||||
${cfg.extraConfig}
|
||||
|
||||
${smbToString (map shareConfig (attrNames cfg.shares))}
|
||||
'');
|
||||
|
||||
# This may include nss_ldap, needed for samba if it has to use ldap.
|
||||
nssModulesPath = config.system.nssModules.path;
|
||||
|
||||
daemonService = appName: args:
|
||||
{ description = "Samba Service Daemon ${appName}";
|
||||
|
||||
after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") "network.target" ];
|
||||
requiredBy = [ "samba.target" ];
|
||||
partOf = [ "samba.target" ];
|
||||
|
||||
environment = {
|
||||
LD_LIBRARY_PATH = nssModulesPath;
|
||||
LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${samba}/sbin/${appName} --foreground --no-process-group ${args}";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
LimitNOFILE = 16384;
|
||||
PIDFile = "/run/${appName}.pid";
|
||||
Type = "notify";
|
||||
NotifyAccess = "all"; #may not do anything...
|
||||
Slice = "system-samba.slice";
|
||||
};
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
|
||||
restartTriggers = [ configFile ];
|
||||
};
|
||||
settingsFormat = pkgs.formats.ini { };
|
||||
configFile = settingsFormat.generate "smb.conf" cfg.settings;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
meta = {
|
||||
doc = ./samba.md;
|
||||
maintainers = [ lib.maintainers.anthonyroussel ];
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
|
||||
(mkRemovedOptionModule [ "services" "samba" "syncPasswordsByPam" ] "This option has been removed by upstream, see https://bugzilla.samba.org/show_bug.cgi?id=10669#c10")
|
||||
|
||||
(lib.mkRemovedOptionModule [ "services" "samba" "configText" ] ''
|
||||
Use services.samba.settings instead.
|
||||
|
||||
This is part of the general move to use structured settings instead of raw
|
||||
text for config as introduced by RFC0042:
|
||||
https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
|
||||
'')
|
||||
(lib.mkRemovedOptionModule [ "services" "samba" "extraConfig" ] "Use services.samba.settings instead.")
|
||||
(lib.mkRenamedOptionModule [ "services" "samba" "invalidUsers" ] [ "services" "samba" "settings" "global" "invalid users" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "samba" "securityType" ] [ "services" "samba" "settings" "global" "security type" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "samba" "shares" ] [ "services" "samba" "settings" ])
|
||||
|
||||
(lib.mkRenamedOptionModule [ "services" "samba" "enableWinbindd" ] [ "services" "samba" "winbindd" "enable" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "samba" "enableNmbd" ] [ "services" "samba" "nmbd" "enable" ])
|
||||
];
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
# !!! clean up the descriptions.
|
||||
|
||||
services.samba = {
|
||||
enable = lib.mkEnableOption "Samba, the SMB/CIFS protocol";
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable Samba, which provides file and print
|
||||
services to Windows clients through the SMB/CIFS protocol.
|
||||
|
||||
::: {.note}
|
||||
If you use the firewall consider adding the following:
|
||||
|
||||
services.samba.openFirewall = true;
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to automatically open the necessary ports in the firewall.
|
||||
'';
|
||||
};
|
||||
|
||||
enableNmbd = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable Samba's nmbd, which replies to NetBIOS over IP name
|
||||
service requests. It also participates in the browsing protocols
|
||||
which make up the Windows "Network Neighborhood" view.
|
||||
'';
|
||||
};
|
||||
|
||||
enableWinbindd = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable Samba's winbindd, which provides a number of services
|
||||
to the Name Service Switch capability found in most modern C libraries,
|
||||
to arbitrary applications via PAM and ntlm_auth and to Samba itself.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "samba" {
|
||||
package = lib.mkPackageOption pkgs "samba" {
|
||||
example = "samba4Full";
|
||||
};
|
||||
|
||||
invalidUsers = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "root" ];
|
||||
description = ''
|
||||
List of users who are denied to login via Samba.
|
||||
'';
|
||||
openFirewall = lib.mkEnableOption "opening the default ports in the firewall for Samba";
|
||||
|
||||
smbd = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to enable Samba's smbd daemon.";
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments to pass to the smbd service.";
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional global section and extra section lines go in here.
|
||||
'';
|
||||
example = ''
|
||||
guest account = nobody
|
||||
map to guest = bad user
|
||||
'';
|
||||
nmbd = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable Samba's nmbd, which replies to NetBIOS over IP name
|
||||
service requests. It also participates in the browsing protocols
|
||||
which make up the Windows "Network Neighborhood" view.
|
||||
'';
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments to pass to the nmbd service.";
|
||||
};
|
||||
};
|
||||
|
||||
configText = mkOption {
|
||||
type = types.nullOr types.lines;
|
||||
default = null;
|
||||
description = ''
|
||||
Verbatim contents of smb.conf. If null (default), use the
|
||||
autogenerated file from NixOS instead.
|
||||
'';
|
||||
winbindd = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable Samba's winbindd, which provides a number of services
|
||||
to the Name Service Switch capability found in most modern C libraries,
|
||||
to arbitrary applications via PAM and ntlm_auth and to Samba itself.
|
||||
'';
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments to pass to the winbindd service.";
|
||||
};
|
||||
};
|
||||
|
||||
securityType = mkOption {
|
||||
type = types.enum [ "auto" "user" "domain" "ads" ];
|
||||
default = "user";
|
||||
description = "Samba security type";
|
||||
};
|
||||
nsswins = lib.mkEnableOption ''
|
||||
WINS NSS (Name Service Switch) plug-in.
|
||||
|
||||
nsswins = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Whether to enable the WINS NSS (Name Service Switch) plug-in.
|
||||
Enabling it allows applications to resolve WINS/NetBIOS names (a.k.a.
|
||||
Windows machine names) by transparently querying the winbindd daemon.
|
||||
'';
|
||||
};
|
||||
Enabling it allows applications to resolve WINS/NetBIOS names (a.k.a.
|
||||
Windows machine names) by transparently querying the winbindd daemon
|
||||
'';
|
||||
|
||||
shares = mkOption {
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule { freeformType = settingsFormat.type; };
|
||||
default = {};
|
||||
example = {
|
||||
"global" = {
|
||||
"security" = "user";
|
||||
"passwd program" = "/run/wrappers/bin/passwd %u";
|
||||
"invalid users" = "root";
|
||||
};
|
||||
"public" = {
|
||||
"path" = "/srv/public";
|
||||
"read only" = "yes";
|
||||
"browseable" = "yes";
|
||||
"guest ok" = "yes";
|
||||
"comment" = "Public samba share.";
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
A set describing shared resources.
|
||||
See {command}`man smb.conf` for options.
|
||||
'';
|
||||
type = types.attrsOf (types.attrsOf types.unspecified);
|
||||
example = literalExpression ''
|
||||
{ public =
|
||||
{ path = "/srv/public";
|
||||
"read only" = true;
|
||||
browseable = "yes";
|
||||
"guest ok" = "yes";
|
||||
comment = "Public samba share.";
|
||||
};
|
||||
}
|
||||
Configuration file for the Samba suite in ini format.
|
||||
This file is located in /etc/samba/smb.conf
|
||||
|
||||
Refer to <https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html>
|
||||
for all available options.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkMerge
|
||||
[ { assertions =
|
||||
[ { assertion = cfg.nsswins -> cfg.enableWinbindd;
|
||||
message = "If samba.nsswins is enabled, then samba.enableWinbindd must also be enabled";
|
||||
[ { assertion = cfg.nsswins -> cfg.winbindd.enable;
|
||||
message = "If services.samba.nsswins is enabled, then services.samba.winbindd.enable must also be enabled";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
(mkIf cfg.enable {
|
||||
(lib.mkIf cfg.enable {
|
||||
environment.etc."samba/smb.conf".source = configFile;
|
||||
|
||||
system.nssModules = optional cfg.nsswins samba;
|
||||
system.nssModules = optional cfg.nsswins cfg.package;
|
||||
system.nssDatabases.hosts = optional cfg.nsswins "wins";
|
||||
|
||||
systemd = {
|
||||
slices.system-samba = {
|
||||
description = "Samba slice";
|
||||
};
|
||||
targets.samba = {
|
||||
description = "Samba Server";
|
||||
after = [ "network.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
slices.system-samba = {
|
||||
description = "Samba slice";
|
||||
};
|
||||
|
||||
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
|
||||
# for correct use with systemd
|
||||
services = {
|
||||
samba-smbd = daemonService "smbd" "";
|
||||
samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
|
||||
samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
|
||||
};
|
||||
tmpfiles.rules = [
|
||||
"d /var/lock/samba - - - - -"
|
||||
"d /var/log/samba - - - - -"
|
||||
@@ -252,6 +182,103 @@ in
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ 139 445 ];
|
||||
networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ 137 138 ];
|
||||
})
|
||||
];
|
||||
|
||||
(lib.mkIf cfg.nmbd.enable {
|
||||
systemd.services.samba-nmbd = {
|
||||
description = "Samba NMB Daemon";
|
||||
documentation = [ "man:nmbd(8)" "man:samba(7)" "man:smb.conf(5)" ];
|
||||
|
||||
after = [
|
||||
"network.target"
|
||||
"network-online.target"
|
||||
];
|
||||
|
||||
partOf = [ "samba.target" ];
|
||||
wantedBy = [ "samba.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
environment.LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
|
||||
serviceConfig = {
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
ExecStart = "${cfg.package}/sbin/nmbd --foreground --no-process-group ${lib.escapeShellArgs cfg.nmbd.extraArgs}";
|
||||
LimitCORE = "infinity";
|
||||
PIDFile = "/run/samba/nmbd.pid";
|
||||
Slice = "system-samba.slice";
|
||||
Type = "notify";
|
||||
};
|
||||
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
|
||||
restartTriggers = [ configFile ];
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.smbd.enable {
|
||||
systemd.services.samba-smbd = {
|
||||
description = "Samba SMB Daemon";
|
||||
documentation = [ "man:smbd(8)" "man:samba(7)" "man:smb.conf(5)" ];
|
||||
|
||||
after = [
|
||||
"network.target"
|
||||
"network-online.target"
|
||||
] ++ lib.optionals (cfg.nmbd.enable) [
|
||||
"samba-nmbd.service"
|
||||
] ++ lib.optionals (cfg.winbindd.enable) [
|
||||
"samba-winbindd.service"
|
||||
];
|
||||
|
||||
partOf = [ "samba.target" ];
|
||||
wantedBy = [ "samba.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
environment.LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
|
||||
serviceConfig = {
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
ExecStart = "${cfg.package}/sbin/smbd --foreground --no-process-group ${lib.escapeShellArgs cfg.smbd.extraArgs}";
|
||||
LimitCORE = "infinity";
|
||||
LimitNOFILE = 16384;
|
||||
PIDFile = "/run/samba/smbd.pid";
|
||||
Slice = "system-samba.slice";
|
||||
Type = "notify";
|
||||
};
|
||||
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
|
||||
restartTriggers = [ configFile ];
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.winbindd.enable {
|
||||
systemd.services.samba-winbindd = {
|
||||
description = "Samba Winbind Daemon";
|
||||
documentation = [ "man:winbindd(8)" "man:samba(7)" "man:smb.conf(5)" ];
|
||||
|
||||
after = [
|
||||
"network.target"
|
||||
] ++ lib.optionals (cfg.nmbd.enable) [
|
||||
"samba-nmbd.service"
|
||||
];
|
||||
|
||||
partOf = [ "samba.target" ];
|
||||
wantedBy = [ "samba.target" ];
|
||||
|
||||
environment.LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
|
||||
serviceConfig = {
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
ExecStart = "${cfg.package}/sbin/winbindd --foreground --no-process-group ${lib.escapeShellArgs cfg.winbindd.extraArgs}";
|
||||
LimitCORE = "infinity";
|
||||
PIDFile = "/run/samba/winbindd.pid";
|
||||
Slice = "system-samba.slice";
|
||||
Type = "notify";
|
||||
};
|
||||
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
|
||||
restartTriggers = [ configFile ];
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -106,8 +106,14 @@ in {
|
||||
|
||||
createDatabaseLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Create the database and database user locally, and run installation.";
|
||||
default = false;
|
||||
description = ''
|
||||
Create the database and database user locally, and run installation.
|
||||
|
||||
WARNING: Due to https://github.com/flarum/framework/issues/4018, this option is set
|
||||
to false by default. The 'flarum install' command may delete existing database tables.
|
||||
Only set this to true if you are certain you are working with a fresh, empty database.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@@ -116,6 +122,7 @@ in {
|
||||
isSystemUser = true;
|
||||
home = cfg.stateDir;
|
||||
createHome = true;
|
||||
homeMode = "755";
|
||||
group = cfg.group;
|
||||
};
|
||||
users.groups.${cfg.group} = {};
|
||||
@@ -194,8 +201,6 @@ in {
|
||||
cp -f ${cfg.package}/share/php/flarum/{extend.php,site.php,flarum} .
|
||||
ln -sf ${cfg.package}/share/php/flarum/vendor .
|
||||
ln -sf ${cfg.package}/share/php/flarum/public/index.php public/
|
||||
chmod a+x . public
|
||||
chmod +x site.php extend.php flarum
|
||||
'' + optionalString (cfg.createDatabaseLocally && cfg.database.driver == "mysql") ''
|
||||
if [ ! -f config.php ]; then
|
||||
php flarum install --file=${flarumInstallConfig}
|
||||
|
||||
@@ -28,7 +28,7 @@ in
|
||||
'';
|
||||
description = ''
|
||||
The homebox configuration as Environment variables. For definitions and available options see the upstream
|
||||
[documentation](https://hay-kot.github.io/homebox/quick-start/#env-variables-configuration).
|
||||
[documentation](https://homebox.software/en/quick-start.html#env-variables-configuration).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,14 +4,6 @@ let
|
||||
|
||||
perlWrapped = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp ]);
|
||||
|
||||
description = extra: ''
|
||||
Whether to include the capability to switch configurations.
|
||||
|
||||
Disabling this makes the system unable to be reconfigured via `nixos-rebuild`.
|
||||
|
||||
${extra}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@@ -20,7 +12,11 @@ in
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = description ''
|
||||
description = ''
|
||||
Whether to include the capability to switch configurations.
|
||||
|
||||
Disabling this makes the system unable to be reconfigured via `nixos-rebuild`.
|
||||
|
||||
This is good for image based appliances where updates are handled
|
||||
outside the image. Reducing features makes the image lighter and
|
||||
slightly more secure.
|
||||
@@ -29,23 +25,17 @@ in
|
||||
|
||||
enableNg = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = description ''
|
||||
Whether to use `switch-to-configuration-ng`, an experimental
|
||||
re-implementation of `switch-to-configuration` with the goal of
|
||||
replacing the original.
|
||||
default = config.system.switch.enable;
|
||||
defaultText = lib.literalExpression "config.system.switch.enable";
|
||||
description = ''
|
||||
Whether to use `switch-to-configuration-ng`, the Rust-based
|
||||
re-implementation of the original Perl `switch-to-configuration`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
assertions = [{
|
||||
assertion = with config.system.switch; enable -> !enableNg;
|
||||
message = "Only one of system.switch.enable and system.switch.enableNg may be enabled at a time";
|
||||
}];
|
||||
}
|
||||
(lib.mkIf config.system.switch.enable {
|
||||
(lib.mkIf (config.system.switch.enable && !config.system.switch.enableNg) {
|
||||
system.activatableSystemBuilderCommands = ''
|
||||
mkdir $out/bin
|
||||
substitute ${./switch-to-configuration.pl} $out/bin/switch-to-configuration \
|
||||
|
||||
@@ -13,7 +13,7 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
meta.maintainers = with lib.maintainers; [ tomfitzhenry ];
|
||||
meta.maintainers = [];
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.enable -> config.boot.initrd.systemd.enable;
|
||||
|
||||
@@ -607,7 +607,7 @@ in
|
||||
$out/bin/zfs --help >/dev/null 2>&1
|
||||
$out/bin/zpool --help >/dev/null 2>&1
|
||||
'';
|
||||
postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) (concatStringsSep "\n" ([''
|
||||
postResumeCommands = mkIf (!config.boot.initrd.systemd.enable) (concatStringsSep "\n" ([''
|
||||
ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
|
||||
''] ++ [(importLib {
|
||||
# See comments at importLib definition.
|
||||
|
||||
@@ -82,10 +82,9 @@ in rec {
|
||||
(onFullSupported "nixos.tests.gitlab")
|
||||
(onFullSupported "nixos.tests.gnome")
|
||||
(onFullSupported "nixos.tests.gnome-xorg")
|
||||
# FIXME: broken by QEMU 8.2.3 upgrade, reenable when fixed
|
||||
# Upstream issue: https://gitlab.com/qemu-project/qemu/-/issues/2321
|
||||
# (onSystems ["x86_64-linux"] "nixos.tests.hibernate")
|
||||
(onSystems ["x86_64-linux"] "nixos.tests.hibernate")
|
||||
(onFullSupported "nixos.tests.i3wm")
|
||||
(onSystems ["aarch64-linux"] "nixos.tests.installer.simpleUefiSystemdBoot")
|
||||
(onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSimple")
|
||||
(onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolDefault")
|
||||
(onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolEscape")
|
||||
|
||||
+4
-10
@@ -32,7 +32,7 @@ let
|
||||
in rec {
|
||||
|
||||
nixos = {
|
||||
inherit (nixos') channel manual options iso_minimal dummy;
|
||||
inherit (nixos') channel manual options dummy;
|
||||
tests = {
|
||||
inherit (nixos'.tests)
|
||||
acme
|
||||
@@ -53,12 +53,8 @@ in rec {
|
||||
inherit (nixos'.tests.installer)
|
||||
lvm
|
||||
separateBoot
|
||||
simple;
|
||||
};
|
||||
boot = {
|
||||
inherit (nixos'.tests.boot)
|
||||
biosCdrom
|
||||
uefiCdrom;
|
||||
simple
|
||||
simpleUefiSystemdBoot;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -108,21 +104,19 @@ in rec {
|
||||
"nixpkgs.release-checks"
|
||||
]
|
||||
(map (onSystems [ "x86_64-linux" ]) [
|
||||
"nixos.tests.boot.biosCdrom"
|
||||
"nixos.tests.installer.lvm"
|
||||
"nixos.tests.installer.separateBoot"
|
||||
"nixos.tests.installer.simple"
|
||||
])
|
||||
(map onSupported [
|
||||
"nixos.dummy"
|
||||
"nixos.iso_minimal"
|
||||
"nixos.manual"
|
||||
"nixos.tests.acme"
|
||||
"nixos.tests.boot.uefiCdrom"
|
||||
"nixos.tests.containers-imperative"
|
||||
"nixos.tests.containers-ip"
|
||||
"nixos.tests.firewall"
|
||||
"nixos.tests.ipv6"
|
||||
"nixos.tests.installer.simpleUefiSystemdBoot"
|
||||
"nixos.tests.login"
|
||||
"nixos.tests.misc"
|
||||
"nixos.tests.nat.firewall"
|
||||
|
||||
@@ -33,6 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
stdenv stdenvNoCC emptyContainer.config.containers.foo.path
|
||||
libxslt desktop-file-utils texinfo docbook5 libxml2
|
||||
docbook_xsl_ns xorg.lndir documentation-highlighter
|
||||
perlPackages.ConfigIniFiles
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -57,15 +57,16 @@ import ./make-test-python.nix ({ lib, ... }: {
|
||||
|
||||
testScript = ''
|
||||
with subtest("Web server gets ready"):
|
||||
machine.wait_for_unit("dex.service")
|
||||
machine.wait_for_unit("dex.service", timeout=120)
|
||||
# Wait until server accepts connections
|
||||
machine.wait_until_succeeds("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid'")
|
||||
machine.wait_until_succeeds("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid'", timeout=120)
|
||||
|
||||
with subtest("Login"):
|
||||
state = machine.succeed("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid' | sed -n 's/.*state=\\(.*\\)\">.*/\\1/p'").strip()
|
||||
print(f"Got state {state}")
|
||||
machine.succeed(f"curl -fs 'localhost:8080/dex/auth/mock/login?back=&state={state}' -d 'login=admin&password=password'")
|
||||
code = machine.succeed(f"curl -fs localhost:8080/dex/approval?req={state} | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'").strip()
|
||||
# Login request returns 303 with redirect_url that has code as query parameter:
|
||||
# https://example.com/callback?code=kibsamwdupuy2iwqnlbqei3u6&state=
|
||||
code = machine.succeed(f"curl -fs 'localhost:8080/dex/auth/mock/login?back=&state={state}' -d 'login=admin&password=password' -w '%{{redirect_url}}' | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'")
|
||||
print(f"Got approval code {code}")
|
||||
bearer = machine.succeed(f"curl -fs localhost:8080/dex/token -u oidcclient:oidcclientsecret -d 'grant_type=authorization_code&redirect_uri=https://example.com/callback&code={code}' | jq .access_token -r").strip()
|
||||
print(f"Got access token {bearer}")
|
||||
|
||||
@@ -626,6 +626,9 @@ let
|
||||
libxslt.bin
|
||||
nixos-artwork.wallpapers.simple-dark-gray-bottom
|
||||
ntp
|
||||
perlPackages.ConfigIniFiles
|
||||
perlPackages.FileSlurp
|
||||
perlPackages.JSON
|
||||
perlPackages.ListCompare
|
||||
perlPackages.XMLLibXML
|
||||
# make-options-doc/default.nix
|
||||
|
||||
+35
-34
@@ -1,46 +1,47 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
|
||||
{
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "samba";
|
||||
|
||||
meta.maintainers = [ ];
|
||||
meta.maintainers = [ lib.maintainers.anthonyroussel ];
|
||||
|
||||
nodes =
|
||||
{ client =
|
||||
{ pkgs, ... }:
|
||||
{ virtualisation.fileSystems =
|
||||
{ "/public" = {
|
||||
fsType = "cifs";
|
||||
device = "//server/public";
|
||||
options = [ "guest" ];
|
||||
};
|
||||
};
|
||||
nodes = {
|
||||
client =
|
||||
{ ... }:
|
||||
{
|
||||
virtualisation.fileSystems = {
|
||||
"/public" = {
|
||||
fsType = "cifs";
|
||||
device = "//server/public";
|
||||
options = [ "guest" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
server =
|
||||
{ ... }:
|
||||
{ services.samba.enable = true;
|
||||
services.samba.openFirewall = true;
|
||||
services.samba.shares.public =
|
||||
{ path = "/public";
|
||||
server =
|
||||
{ ... }:
|
||||
{
|
||||
services.samba = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
"public" = {
|
||||
"path" = "/public";
|
||||
"read only" = true;
|
||||
browseable = "yes";
|
||||
"browseable" = "yes";
|
||||
"guest ok" = "yes";
|
||||
comment = "Public samba share.";
|
||||
"comment" = "Public samba share.";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# client# [ 4.542997] mount[777]: sh: systemd-ask-password: command not found
|
||||
testScript = ''
|
||||
server.start()
|
||||
server.wait_for_unit("samba.target")
|
||||
server.succeed("mkdir -p /public; echo bar > /public/foo")
|
||||
|
||||
testScript =
|
||||
''
|
||||
server.start()
|
||||
server.wait_for_unit("samba.target")
|
||||
server.succeed("mkdir -p /public; echo bar > /public/foo")
|
||||
|
||||
client.start()
|
||||
client.wait_for_unit("remote-fs.target")
|
||||
client.succeed("[[ $(cat /public/foo) = bar ]]")
|
||||
'';
|
||||
client.start()
|
||||
client.wait_for_unit("remote-fs.target")
|
||||
client.succeed("[[ $(cat /public/foo) = bar ]]")
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -48,10 +48,7 @@ in {
|
||||
|
||||
nodes = {
|
||||
machine = { pkgs, lib, ... }: {
|
||||
system.switch = {
|
||||
enable = !ng;
|
||||
enableNg = ng;
|
||||
};
|
||||
system.switch.enableNg = ng;
|
||||
|
||||
environment.systemPackages = [ pkgs.socat ]; # for the socket activation stuff
|
||||
users.mutableUsers = false;
|
||||
|
||||
@@ -2,8 +2,8 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: let
|
||||
passphrase = "secret";
|
||||
in {
|
||||
name = "systemd-initrd-luks-unl0kr";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ tomfitzhenry ];
|
||||
meta = {
|
||||
maintainers = [];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, alsa-lib
|
||||
, darwin
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "music-player";
|
||||
version = "0.2.0-alpha.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tsirysndr";
|
||||
repo = "music-player";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-l8Y1fc5v0YDm87b+d3DuMgKFiem6WFfJEASplHoqva0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nnOHuAn+eGf+iiX3QbDTH4zHMQ6KV4QP6RnyBhLMrEc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
rustPlatform.bindgenHook
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.AudioUnit
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extensible music player daemon written in Rust";
|
||||
homepage = "https://github.com/tsirysndr/music-player";
|
||||
changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
mainProgram = "music-player";
|
||||
};
|
||||
}
|
||||
@@ -28,13 +28,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tauon";
|
||||
version = "7.8.2";
|
||||
version = "7.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taiko2k";
|
||||
repo = "Tauon";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-fVp3RWRNIBSeALbYNRIYjyWNH9An+YnS7neQt0x33yI=";
|
||||
hash = "sha256-A7JRJ0Eh0ynuwPYZFLEeqWLf6OKdN59jM2vozdpSZC8=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
|
||||
@@ -13,12 +13,12 @@ let
|
||||
sha256Hash = "sha256-dFFogg6YmpCF/4QtR85UFAfbCd97irIHcPbqieQabpI=";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2024.1.2.11"; # "Android Studio Koala Feature Drop | 2024.1.2 RC 1"
|
||||
sha256Hash = "sha256-Qn5NNW2Rt6f9QiEUamIumme45uUVeTiMJ/9niAC6ilM=";
|
||||
version = "2024.2.1.6"; # "Android Studio Ladybug | 2024.2.1 Beta 1"
|
||||
sha256Hash = "sha256-o/otfwZu+MUy9tbLt1iZWmBPB7YVx5aMjA1KcIvMD3U=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2024.2.1.4"; # "Android Studio Ladybug | 2024.2.1 Canary 8"
|
||||
sha256Hash = "sha256-H2NN6/ywQCMunX1mk0gbgEoY75gHV+fpru+mZNe9fpk=";
|
||||
version = "2024.2.1.5"; # "Android Studio Ladybug | 2024.2.1 Canary 9"
|
||||
sha256Hash = "sha256-0F07jcsutarm464ahgo9hDh1jHo2aDEpIz5r9bxmNZw=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
||||
@@ -1459,7 +1459,7 @@
|
||||
patches = [ ./patches/ranger.nvim/fix-paths.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace lua/ranger-nvim.lua --replace '@ranger@' ${ranger}
|
||||
substituteInPlace lua/ranger-nvim.lua --replace '@ranger@' ${ranger}/bin/ranger
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -55,10 +55,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-libretro",
|
||||
"rev": "3260947537deb14c4b464fd80a132dc9d3f80a4f",
|
||||
"hash": "sha256-2RJnXdkcyCrNK6Y2sT9PHfXtNXB4KUdsWh43G3yZrGU="
|
||||
"rev": "3a75c7ce5fc62c524be8d0eb45cd4b39d08a885c",
|
||||
"hash": "sha256-y+M1hEv5o+gkMN00ZQjuRfJNqLnsTcbbcr+mVgmSSnc="
|
||||
},
|
||||
"version": "unstable-2024-08-30"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"beetle-pce-fast": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -85,10 +85,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-psx-libretro",
|
||||
"rev": "3b6aa830f1345a588c6217f0bf8f5da2f8e08c29",
|
||||
"hash": "sha256-XrE9Ms6yypZWy1M0dfUD2O2zXR409or5VKLCVsiZW7U="
|
||||
"rev": "12a9895466fc1d895e3f4570494af7b398470975",
|
||||
"hash": "sha256-O0pdGapKKEcjHamEtRs88++L/HF+eppV7Z7GVQrV8ZM="
|
||||
},
|
||||
"version": "unstable-2024-08-30"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"beetle-saturn": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -115,10 +115,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-supergrafx-libretro",
|
||||
"rev": "4376f838433134dbeaa14f4a7e926d68d6f89457",
|
||||
"hash": "sha256-gKVx9EBVQXiR6z9hhA+6DYm7zbHsoKMDG+v/tAK3c+I="
|
||||
"rev": "6c76ef9e83f7f3bed3aa747b01fd2d6c54687c65",
|
||||
"hash": "sha256-LapGHFPSM/I+73oRhxW+gfc1SrEZ1MxscmpGujr6p9Y="
|
||||
},
|
||||
"version": "unstable-2024-08-30"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"beetle-vb": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -287,10 +287,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "5ea732a897919b9d4059a09146f45f4e91f5fe0d",
|
||||
"hash": "sha256-w8XTOQlffUKDvZSEQXQYsHDhE4/2bRHNwfJRHSfpnf4="
|
||||
"rev": "a03a6f526684067823de922f1b15d7eb27fd5394",
|
||||
"hash": "sha256-7J/RuBTpjqG306IsQe9PBnJnT+QzFVNgpG124XaAcRA="
|
||||
},
|
||||
"version": "unstable-2024-08-29"
|
||||
"version": "unstable-2024-09-03"
|
||||
},
|
||||
"fceumm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -408,11 +408,11 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame",
|
||||
"rev": "dc299d16818b40f123ad9507e0244f608224f621",
|
||||
"hash": "sha256-XiZTL3umGKg4CbVCX6q4wA26JEvEPS5FyXJw6l0kDFQ=",
|
||||
"rev": "8b9b8f5f5b47161327d93522318c81fba2087b2f",
|
||||
"hash": "sha256-xnIYMvLsd4k4wdu3IvWBJy3V8l3NfZvUjYOISunHnwI=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-08-29"
|
||||
"version": "unstable-2024-08-31"
|
||||
},
|
||||
"mame2000": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -429,20 +429,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-libretro",
|
||||
"rev": "b2fbe7d4724d781572111f12176b5b38126bcf16",
|
||||
"hash": "sha256-E+ln1isbslzMhT8THZO9MDd6dGN/+mRj1oKzfMz0t5Y="
|
||||
"rev": "1a268a709d611f6a84d473754ee2dbcaf1c37a2e",
|
||||
"hash": "sha256-jFzFQVB0uiSRa82sq1fiMEXyzzDJqRANNgq5hj/ZAl4="
|
||||
},
|
||||
"version": "unstable-2024-08-22"
|
||||
"version": "unstable-2024-09-04"
|
||||
},
|
||||
"mame2003-plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "7d4e2ccc0143451969e0efbcb207acc690249d4c",
|
||||
"hash": "sha256-YMbCJNP//PKUsONfNMn80nGW+lTMHXpwBybdphWCaKU="
|
||||
"rev": "5f5e32598720cd795dbcf53c1400a122ef0fcd76",
|
||||
"hash": "sha256-TJUgDHDPPKGx4QnKOI6FpCYcLsY2j7GM1atEoq5zg8Y="
|
||||
},
|
||||
"version": "unstable-2024-08-28"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"mame2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -631,53 +631,53 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "8847df50c67c19c605f60a109d30556b74d08eee",
|
||||
"hash": "sha256-5Od39zhtkmWBbesHDLBcm2/7Oa91vhsqflDfUKFzST4="
|
||||
"rev": "237887e817e23800997466632deb8ba63797a4cb",
|
||||
"hash": "sha256-AhyCkQzgppCnwcX+qpKcSEJ58hosJwL9wwn80HOHpvg="
|
||||
},
|
||||
"version": "unstable-2024-08-22"
|
||||
"version": "unstable-2024-09-03"
|
||||
},
|
||||
"picodrive": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "picodrive",
|
||||
"rev": "479f120b928153815a4543b7c4104c0aa355a660",
|
||||
"hash": "sha256-FhixFmIPerXWLNzMDMRka5xWwN/pt0tKqvSbZpmLyPI=",
|
||||
"rev": "6508730c524420e05626b0b06dbc603e02d3af64",
|
||||
"hash": "sha256-iL6eKG2O6ePYo6NK0VsTVLaRKgwuapXotvSOy7KipgI=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-08-09"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"play": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "663a1d9a75f72c34befc304901ad6063f34dc9d3",
|
||||
"hash": "sha256-j3lqwp2qKkt2ytHQvs4IuzpFfA++uVwgz1mupOuCzH8=",
|
||||
"rev": "9752b303037186a2e2581b864bc25136402cdc79",
|
||||
"hash": "sha256-zJFgZjE9CvozH/5hFdnGsVL6q2Pb4QFvyipebzYjB3g=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-08-27"
|
||||
"version": "unstable-2024-09-04"
|
||||
},
|
||||
"ppsspp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "5fd8fae8b5bedafc97487d7bc004533d9612a6c7",
|
||||
"hash": "sha256-bSbe9qVdrXU778fheqZuXENlJRBYD/k24BC2ZT2UnwM=",
|
||||
"rev": "4250bdc2a6cadbd450aa48f7e5fbc67b2df172bf",
|
||||
"hash": "sha256-4Vf7D7aUkZ+eL7Nz0fToDIGB35xi6vc+UJTM0rKpdXE=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-08-27"
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"prboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-prboom",
|
||||
"rev": "2972aa92e0490194a37c9fb849ffc420abeb0ce4",
|
||||
"hash": "sha256-VXrhSZpGNjfxU34b2gzxaPe0YKXv4K7+vB7MrC7/bkY="
|
||||
"rev": "2a96b2a22cf98bdd508b1efc31afceb78717f4ba",
|
||||
"hash": "sha256-Pf6U9RTkMUsRl2mOU6ooFPhVu0G9MZQjJYKVQ9WneIE="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
"version": "unstable-2024-09-05"
|
||||
},
|
||||
"prosystem": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -754,10 +754,10 @@
|
||||
"src": {
|
||||
"owner": "snes9xgit",
|
||||
"repo": "snes9x",
|
||||
"rev": "85591435763dede7ef111aab8070cdf2d5a7da49",
|
||||
"hash": "sha256-hF+k9OQX/MPF3DLo2qCvsmJ/9NbnuxBigE6iu0iG9E0="
|
||||
"rev": "645a4712e797486787e2a0521928dea7cca143fd",
|
||||
"hash": "sha256-2WgkouQZ6OW3mmPTMjioPikvg077Jx+bzIwV6Wz4blA="
|
||||
},
|
||||
"version": "unstable-2024-08-10"
|
||||
"version": "unstable-2024-09-05"
|
||||
},
|
||||
"snes9x2002": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@@ -794,10 +794,10 @@
|
||||
"src": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "59f82b1fe159a508528a0b40e541d2abdb15d67c",
|
||||
"hash": "sha256-GIkxwon6qnzQzy0TE2w0j5KAQmuEoRr7OvtFrcutuSo="
|
||||
"rev": "b1e297153b4e7013a28763253c425a6f4bf31f48",
|
||||
"hash": "sha256-6LPoFX9m6Ads/pZJcMOrJlllluAoCyzyTT6Ngrr84YI="
|
||||
},
|
||||
"version": "unstable-2024-08-29"
|
||||
"version": "unstable-2024-09-01"
|
||||
},
|
||||
"stella2014": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
||||
@@ -130,7 +130,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://unigine.com/products/benchmarks/valley/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf
|
||||
maintainers = [ lib.maintainers.kierdavis ];
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
mainProgram = "valley";
|
||||
};
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "gallery-dl";
|
||||
version = "1.27.3";
|
||||
version = "1.27.4";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "gallery_dl";
|
||||
hash = "sha256-ILnnbnQiJnBBOV87mWw1xHU8DtCXIVVwRwz/PfzVSSI=";
|
||||
hash = "sha256-28y5sU9onPHIqlTIYzIQ+J2KElJocbuwKQN/E50JGI8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, addDriverRunpath, cudatoolkit }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gpu-burn";
|
||||
version = "unstable-2023-11-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wilicc";
|
||||
repo = "gpu-burn";
|
||||
rev = "b99aedce3e020d2ca419832ee27b7f29dfa6373e";
|
||||
sha256 = "sha256-cLO0GXvujZ+g64j+OY31n43MsVER3ljo8Qrt+EzSKjc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace gpu_burn-drv.cpp \
|
||||
--replace "#define COMPARE_KERNEL \"compare.ptx\"" \
|
||||
"#define COMPARE_KERNEL \"$out/share/compare.ptx\""
|
||||
'';
|
||||
|
||||
buildInputs = [ cudatoolkit ];
|
||||
|
||||
nativeBuildInputs = [ addDriverRunpath ];
|
||||
|
||||
makeFlags = [ "CUDAPATH=${cudatoolkit}" ];
|
||||
|
||||
LDFLAGS = "-L${cudatoolkit}/lib/stubs";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share}
|
||||
cp gpu_burn $out/bin/
|
||||
cp compare.ptx $out/share/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
addDriverRunpath $out/bin/gpu_burn
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://wili.cc/blog/gpu-burn.html";
|
||||
description = "Multi-GPU CUDA stress test";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd2;
|
||||
mainProgram = "gpu_burn";
|
||||
};
|
||||
}
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "transifex-cli";
|
||||
version = "1.6.16";
|
||||
version = "1.6.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transifex";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4TYuWNpw1tc3igKe4ld6pN35W070fekCaxpHGb/ekuY=";
|
||||
sha256 = "sha256-jzAt/SalItGG0KI3GZb4/pT4T7oHwCji2bjNR1BTJXI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3gi2ysIb5256CdmtX38oIfeDwNCQojK+YB9aEm8H01Q=";
|
||||
|
||||
@@ -20,6 +20,13 @@ buildPythonApplication rec {
|
||||
hash = "sha256-mV60ygrtQa9ZkJ2CImhAV59ckCJ7vJSA9cWkYE2xo1M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Update client ID for Twitch changes
|
||||
# See: <https://github.com/TheDrHax/Twitch-Chat-Downloader/pull/16>
|
||||
substituteInPlace tcd/example.settings.json \
|
||||
--replace-fail jzkbprff40iqj646a697cyrvl0zt2m6 kd1unb4b3q4t58fwlpcbzcbnm76a8fp
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
iso8601
|
||||
progressbar2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -35,11 +35,11 @@
|
||||
|
||||
firefox-beta = buildMozillaMach rec {
|
||||
pname = "firefox-beta";
|
||||
version = "130.0b2";
|
||||
version = "131.0b2";
|
||||
applicationName = "Mozilla Firefox Beta";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "bfba17643923ec10686df7d0047e0fcba7716f96a645722869cc472f68bb42415e63ce37905a7d41f1bb3aa139ee7d336ac838bbbff105b3785eb522ebcb7eb0";
|
||||
sha512 = "1716b4189600d5eea9957c1ad2325a635f1f1178fb6e836bc9fe07d3ee2a71d5186af9511ad3e494403023834b58f7acb0b2716ee2acd5300797e2e8680b7cb8";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -64,13 +64,13 @@
|
||||
|
||||
firefox-devedition = buildMozillaMach rec {
|
||||
pname = "firefox-devedition";
|
||||
version = "130.0b2";
|
||||
version = "131.0b2";
|
||||
applicationName = "Mozilla Firefox Developer Edition";
|
||||
requireSigning = false;
|
||||
branding = "browser/branding/aurora";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "ef26fa3dad6fdafe8e8e2d9d88101b75244b3f21a499d0b61c4a2c9a0addbcd3184274096a34da958b0ab2489ecf6c3d7684a1f507ed687648b96f9e9e2b123c";
|
||||
sha512 = "704d30f4c5d2a7cddda53f572551cc5fe49bc380388bda5c0eceac121c7d91ee616f586231a33539bb277aa4ea4e963a0d7f4d40f9738d4d30e4a3da75233d97";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
(
|
||||
(buildMozillaMach rec {
|
||||
pname = "floorp";
|
||||
packageVersion = "11.17.7";
|
||||
packageVersion = "11.17.8";
|
||||
applicationName = "Floorp";
|
||||
binaryName = "floorp";
|
||||
branding = "browser/branding/official";
|
||||
@@ -26,7 +26,7 @@
|
||||
repo = "Floorp";
|
||||
fetchSubmodules = true;
|
||||
rev = "v${packageVersion}";
|
||||
hash = "sha256-IAzPt696AWBEyfxR5U5/Isd6urPoi3fHshT+Fl+o/Bg=";
|
||||
hash = "sha256-1hHp8LZxGJmLSoe8NNzmx2QxPosrIcLqggeGhf+iMPI=";
|
||||
};
|
||||
|
||||
extraConfigureFlags = [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"packageVersion": "129.0.2-1",
|
||||
"packageVersion": "130.0-1",
|
||||
"source": {
|
||||
"rev": "129.0.2-1",
|
||||
"sha256": "1zghj91bqy2746x4x6cwn503dkw1fmfv0wgq02wv2cwlp8mmd7j7"
|
||||
"rev": "130.0-1",
|
||||
"sha256": "1ynw6hzyvyv02a1y838w4jkq0a8yg95c0zs7q0bdxca5grw154qi"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "129.0.2",
|
||||
"sha512": "f6805a87e5cb4e437583916e3ec1b312dc73eec5fc06ce7a038b13bd7c6827b18cf383c30645d96623ce41675351f3023ec6b9f89d676f1c889994eae79f2c13"
|
||||
"version": "130.0",
|
||||
"sha512": "d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ let
|
||||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "6.8.3381.57";
|
||||
version = "6.9.3447.37";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "arm64";
|
||||
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
|
||||
hash = {
|
||||
aarch64-linux = "sha256-Tehc9T9+7NHaMYu7l7qB/09ips41rTx1VDCalUyO6Nw=";
|
||||
x86_64-linux = "sha256-PC5fzMRIC2bW8xmPCG2nNIwwz0wha6+VDLAV1ihbQkM=";
|
||||
aarch64-linux = "sha256-kYTnWad/jrJt9z+AhjXzHYxVSIwIIO3RKD7szuPEg2s=";
|
||||
x86_64-linux = "sha256-+h7SHci8gZ+epKFHD0PiXyME2xT+loD2KXpJGFCfIFg=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helm-diff";
|
||||
version = "3.9.9";
|
||||
version = "3.9.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "databus23";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2vippOY56eP+dMTvH3E+pesq03SHnIsNaRwHK8rdIus=";
|
||||
hash = "sha256-umb8f0qCqFVN8K5T441Koyl2pq7VOskDxKCXlqB5UoA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Xfev2TsAtP9XddAUNCCKOeIFpKLnD00SdkH2io2REQk=";
|
||||
vendorHash = "sha256-pWynrkL/d6TPojeyCJ6RjLNel4qA21UP+jzWnC8DnB8=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ];
|
||||
|
||||
|
||||
@@ -10,11 +10,13 @@
|
||||
, mesa
|
||||
, udev
|
||||
, wrapGAppsHook3
|
||||
, writeScript
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "termius";
|
||||
version = "8.12.9";
|
||||
version = "9.3.2";
|
||||
revision = "200";
|
||||
|
||||
src = fetchurl {
|
||||
# find the latest version with
|
||||
@@ -23,8 +25,8 @@ stdenv.mkDerivation rec {
|
||||
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
|
||||
# and the sha512 with
|
||||
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_194.snap";
|
||||
hash = "sha512-48SHa0KQzbDRD9Z6qb63jH+8/jcjGefSjqsCK52Ob2vnzDDBdsmrRLmFDs/K/FBIjzFV4GAjQx61v9jQtvAsmA==";
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_${revision}.snap";
|
||||
hash = "sha512-LPNwyDqVRFVAmhtZGpxoYEQK5B8BIdaV/ylTD0JfvAJAHWpGrbBJT1jMpT7LetNH5XQyXW81nY26JlcmXHaAwg==";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
@@ -63,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/opt/termius
|
||||
cp -r ./ $out/opt/termius
|
||||
|
||||
mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
|
||||
mkdir -p "$out/share/applications" "$out/share/pixmaps"
|
||||
cp "${desktopItem}/share/applications/"* "$out/share/applications"
|
||||
cp meta/gui/icon.png $out/share/pixmaps/termius-app.png
|
||||
|
||||
@@ -77,6 +79,28 @@ stdenv.mkDerivation rec {
|
||||
"''${gappsWrapperArgs[@]}"
|
||||
'';
|
||||
|
||||
passthru.updateScript = writeScript "update-termius" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts curl jq
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
data=$(curl -H 'X-Ubuntu-Series: 16' \
|
||||
'https://api.snapcraft.io/api/v1/snaps/details/termius-app?fields=download_sha512,revision,version')
|
||||
|
||||
version=$(jq -r .version <<<"$data")
|
||||
|
||||
if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then
|
||||
|
||||
revision=$(jq -r .revision <<<"$data")
|
||||
hash=$(nix hash to-sri "sha512:$(jq -r .download_sha512 <<<"$data")")
|
||||
|
||||
update-source-version "$UPDATE_NIX_ATTR_PATH" "$version" "$hash"
|
||||
update-source-version --ignore-same-hash --version-key=revision "$UPDATE_NIX_ATTR_PATH" "$revision" "$hash"
|
||||
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform SSH client with cloud data sync and more";
|
||||
homepage = "https://termius.com/";
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "quisk";
|
||||
version = "4.2.37";
|
||||
version = "4.2.38";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-S25pqHZUZp9yucVaYAQv7Pa/N1gKU4Sc9nPS7/AplqY=";
|
||||
hash = "sha256-IF7I+NgnqwU6c5R4caZslt7DJneI3fYk4KXl10dIsEw=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
|
||||
cp -Rv * $out/share/
|
||||
|
||||
sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igv.sh
|
||||
sed -i 's#java#${jdk17}/bin/java#g' $out/share/igv.sh
|
||||
sed -i 's#\bjava\b#${jdk17}/bin/java#g' $out/share/igv.sh
|
||||
|
||||
sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igvtools
|
||||
sed -i 's#java#${jdk17}/bin/java#g' $out/share/igvtools
|
||||
sed -i 's#\bjava\b#${jdk17}/bin/java#g' $out/share/igvtools
|
||||
|
||||
ln -s $out/share/igv.sh $out/bin/igv
|
||||
ln -s $out/share/igvtools $out/bin/igvtools
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "git-cola";
|
||||
version = "4.8.1";
|
||||
version = "4.8.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-cola";
|
||||
repo = "git-cola";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3SCfsLYB4qhvsVo0Ji4WPwIDGcMwQ4M4zKnCOsXGTS0=";
|
||||
hash = "sha256-8OErZ6uKTWE245BoBu9lQyTLA43DfWaYDv3wbPWaufg=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go2tv" + lib.optionalString (!withGui) "-lite";
|
||||
version = "1.16.1";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexballas";
|
||||
repo = "go2tv";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7m5GikrdcrJyl+KYuSk1JWLW2SsHOcBJNJuq2BahxHc=";
|
||||
hash = "sha256-h0q2VhnU7CPCD0Co9rLPmGh4BK4eP5QUMep7AaJ3weY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-na79rF/9o+s6E4i08Ocs6u98IABc19sTGFvjI6yeJFo=";
|
||||
vendorHash = "sha256-+sASY+HosTMMVHHPwVw8nO+/72s2A1EpuTMHJXhHtnc=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
, stdenvNoCC
|
||||
, runtimeShell
|
||||
, bintools ? null, libc ? null, coreutils ? null, gnugrep ? null
|
||||
, netbsd ? null, netbsdCross ? null
|
||||
, netbsd ? null
|
||||
, sharedLibraryLoader ?
|
||||
if libc == null then
|
||||
null
|
||||
else if stdenvNoCC.targetPlatform.isNetBSD then
|
||||
if !(targetPackages ? netbsdCross) then
|
||||
if !(targetPackages ? netbsd) then
|
||||
netbsd.ld_elf_so
|
||||
else if libc != targetPackages.netbsdCross.headers then
|
||||
targetPackages.netbsdCross.ld_elf_so
|
||||
else if libc != targetPackages.netbsd.headers then
|
||||
targetPackages.netbsd.ld_elf_so
|
||||
else
|
||||
null
|
||||
else
|
||||
|
||||
Generated
+3416
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,73 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
atk,
|
||||
cairo,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
gtk3,
|
||||
pango,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "browsers";
|
||||
version = "0.5.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Browsers-software";
|
||||
repo = "browsers";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-o9vyrHQsZQ3qywA4bviM+W4xx64IZL24VHErMFAEMFE=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"druid-0.8.3" = "sha256-s9csjZ0ZimOrPnjJpPjrrMdNKAXFfroWHBPeR369Phk=";
|
||||
"rolling-file-0.2.0" = "sha256-3xeOSXFVVgeKRE39gtzTURt0OkKScQ4uwtvLl4CE3R4=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
atk
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
pango
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -m 444 \
|
||||
-D extra/linux/dist/software.Browsers.template.desktop \
|
||||
-t $out/share/applications
|
||||
mv $out/share/applications/software.Browsers.template.desktop $out/share/applications/software.Browsers.desktop
|
||||
substituteInPlace \
|
||||
$out/share/applications/software.Browsers.desktop \
|
||||
--replace-fail 'Exec=€ExecCommand€' 'Exec=${pname} %u'
|
||||
cp -r resources $out
|
||||
for size in 16 32 128 256 512; do
|
||||
install -m 444 \
|
||||
-D resources/icons/"$size"x"$size"/software.Browsers.png \
|
||||
-t $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Open the right browser at the right time";
|
||||
homepage = "https://browsers.software";
|
||||
changelog = "https://github.com/Browsers-software/browsers/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ravenz46 ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "browsers";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "desed";
|
||||
version = "1.2.1-unstable-2024-09-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoptikHa2";
|
||||
repo = "desed";
|
||||
rev = "master";
|
||||
hash = "sha256-iCpEfefXXognk4YI1LLb3mwgaqMw4m3haq/gdS1JbQU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-z2qv394C0GhQC21HuLyvlNjrM65KFEZh1XLj+Y/B9ZM=";
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/SoptikHa2/desed/releases/tag/v1.2.1";
|
||||
description = "Debugger for Sed: demystify and debug your sed scripts, from comfort of your terminal. ";
|
||||
homepage = "https://github.com/SoptikHa2/desed";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ vinylen ];
|
||||
mainProgram = "desed";
|
||||
};
|
||||
}
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/backstage/yarn.lock";
|
||||
hash = "sha256-Z/Pkk/qCWwr99g11DjEgnisPfxOhfD8+OCn6otxJtfI=";
|
||||
hash = "sha256-7Br2FBhLZf7Cuul5n55EHfqyW8GbujB+yZ/RK6f7I4M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.13.16";
|
||||
version = "0.14.1";
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "Klasse-Methode";
|
||||
repo = "eintopf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ex5bpO60ousJcgZGdviqWrCyihycW+JT+EYFvdooUDw=";
|
||||
hash = "sha256-+QEAUyAqFLcc3bhGI3v4FxhDt+3P6vBnxWsFPp56lfg=";
|
||||
};
|
||||
frontend = callPackage ./frontend.nix { inherit src version; };
|
||||
in
|
||||
@@ -21,7 +21,7 @@ buildGoModule rec {
|
||||
pname = "eintopf";
|
||||
inherit version src;
|
||||
|
||||
vendorHash = "sha256-dBxI6cUGc16lg89x8b+hSLcv5y/MLf6vDIvqdMBUz3I=";
|
||||
vendorHash = "sha256-ODVCZWxkPWW8ZlONiVXwVQalsLIUl9x512JimLAUm6U=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
@@ -47,9 +47,7 @@ buildGoModule rec {
|
||||
meta = with lib; {
|
||||
description = "A calendar for Stuttgart, showing events, groups and places";
|
||||
homepage = "https://codeberg.org/Klasse-Methode/eintopf";
|
||||
# License is going to change back to AGPL in the next release
|
||||
# https://codeberg.org/Klasse-Methode/eintopf/issues/351#issuecomment-2076870
|
||||
license = licenses.gpl3Plus;
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "files-cli";
|
||||
version = "2.13.128";
|
||||
version = "2.13.133";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "files-cli";
|
||||
owner = "files-com";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oQ+mESm7/VkfX+8Yf3l7x7VSfUK2flndSthlhNpvjh0=";
|
||||
hash = "sha256-noIMO+xQaFV8hzSUjWMASLbRtiZb6wNeuRaCYsLQxsE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-h0dADEkiVNBudIh64Waqf9LtLa+I6dwAkmtYjuspEBs=";
|
||||
vendorHash = "sha256-eMxhi+zKf8rDBCKb8/OvDQApHUc2ymt0EkDsvdStED8=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, flutter319
|
||||
, flutter
|
||||
, gst_all_1
|
||||
, libunwind
|
||||
, makeWrapper
|
||||
@@ -16,15 +16,15 @@
|
||||
, flet-client-flutter
|
||||
}:
|
||||
|
||||
flutter319.buildFlutterApplication rec {
|
||||
flutter.buildFlutterApplication rec {
|
||||
pname = "flet-client-flutter";
|
||||
version = "0.22.1";
|
||||
version = "0.24.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flet-dev";
|
||||
repo = "flet";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mjqPIm4LspW1LB4H08FVwEN0JOwTPTLaUxOjZ3n6u8A=";
|
||||
hash = "sha256-cT1cWxMVpZ0fXoIaJpW96ifQKNe7+PLUXjIFJ3ALdyo=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/client";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
import ./generic.nix {
|
||||
version = "7.0.8";
|
||||
hash = "sha256-m6yToQQFM+4g8xhs572O4n4r06xeS3DozYHtAKwMjUg=";
|
||||
npmDepsHash = "sha256-OqtYRjftwGxgW1JgMxyWd+9DndpEkd3LdQHSECc40yU=";
|
||||
version = "7.0.9";
|
||||
hash = "sha256-JoHF49n2HWMHl/LMWxQlj7utkmzyZ5pHEfeSU8gjyfU=";
|
||||
npmDepsHash = "sha256-9U2I+JzDGQlfjyvZRbfPbDMmoHxIJ/SOBhMdn1la0EI=";
|
||||
vendorHash = "sha256-hfbNyCQMQzDzJxFc2MPAR4+v/qNcnORiQNbwbbIA4Nw=";
|
||||
lts = true;
|
||||
nixUpdateExtraArgs = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import ./generic.nix {
|
||||
version = "8.0.2";
|
||||
hash = "sha256-rjwZjwt0F9AhXgQ8CzOfsZ3acyBvzsDc/2LHRWieDzg=";
|
||||
npmDepsHash = "sha256-6AMaZadgcTvOBsIXJjZQB6Q1rkdn+R82pclXdVvtdWY=";
|
||||
version = "8.0.3";
|
||||
hash = "sha256-PvCWUiJIs9ktuJetPYZT0V8S8+OYahCDZiZQpvWWXhY=";
|
||||
npmDepsHash = "sha256-E4eq4OompY8e+722PbSFCmcarpYBpO/n9X6GVU9AhDU=";
|
||||
vendorHash = "sha256-4l4kscwesW/cR8mZjE3G9HcVm0d1ukxbtBY6RXYRi8k=";
|
||||
lts = false;
|
||||
nixUpdateExtraArgs = [
|
||||
|
||||
@@ -46,14 +46,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.15.2";
|
||||
version = "3.15.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-g6H68dYMmpQYlwhZ6b84yY/qbAP18iNrmYOWf9rL5gc=";
|
||||
hash = "sha256-H6o0UdJ+wpfy0YY6LDzncWWzUGAMwQC7sHPu5TxHC8I=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -318,7 +318,7 @@ buildDotnetModule rec {
|
||||
description = "Self-hosted runner for GitHub Actions";
|
||||
homepage = "https://github.com/actions/runner";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veehaitch newam kfollesdal aanderse zimbatm ];
|
||||
maintainers = with maintainers; [ veehaitch kfollesdal aanderse zimbatm ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
autoAddDriverRunpath,
|
||||
config,
|
||||
cudaPackages,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
let
|
||||
inherit (lib.attrsets) getBin;
|
||||
inherit (lib.lists) last map optionals;
|
||||
inherit (lib.trivial) boolToString;
|
||||
inherit (config) cudaSupport;
|
||||
inherit (cudaPackages)
|
||||
backendStdenv
|
||||
cuda_cccl
|
||||
cuda_cudart
|
||||
cuda_nvcc
|
||||
libcublas
|
||||
;
|
||||
inherit (cudaPackages.cudaFlags) cudaCapabilities dropDot isJetsonBuild;
|
||||
in
|
||||
backendStdenv.mkDerivation {
|
||||
pname = "gpu-burn";
|
||||
version = "unstable-2024-04-09";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wilicc";
|
||||
repo = "gpu-burn";
|
||||
rev = "9aefd7c0cc603bbc8c3c102f5338c6af26f8127c";
|
||||
hash = "sha256-Nz0yaoHGfodaYl2HJ7p+1nasqRmxwPJ9aL9oxitXDpM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace gpu_burn-drv.cpp \
|
||||
--replace-fail \
|
||||
'#define COMPARE_KERNEL "compare.ptx"' \
|
||||
"#define COMPARE_KERNEL \"$out/share/compare.ptx\""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoAddDriverRunpath
|
||||
cuda_nvcc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cuda_cccl # <nv/target>
|
||||
cuda_cudart # driver_types.h
|
||||
cuda_nvcc # crt/host_defines.h
|
||||
libcublas # cublas_v2.h
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"CUDAPATH=${getBin cuda_nvcc}"
|
||||
"COMPUTE=${last (map dropDot cudaCapabilities)}"
|
||||
"IS_JETSON=${boolToString isJetsonBuild}"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,share}
|
||||
install -Dm755 gpu_burn $out/bin/
|
||||
install -Dm644 compare.ptx $out/share/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# NOTE: Certain packages may be missing from cudaPackages on non-Linux platforms. To avoid evaluation failure,
|
||||
# we only include the platforms where we know the package is available -- thus the conditionals setting the
|
||||
# platforms and badPlatforms fields.
|
||||
meta = {
|
||||
badPlatforms = optionals (!cudaSupport) lib.platforms.all;
|
||||
broken = !cudaSupport;
|
||||
description = "Multi-GPU CUDA stress test";
|
||||
homepage = "http://wili.cc/blog/gpu-burn.html";
|
||||
license = lib.licenses.bsd2;
|
||||
mainProgram = "gpu_burn";
|
||||
maintainers = with lib.maintainers; [ connorbaker ];
|
||||
platforms = optionals cudaSupport lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
+28
-7
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@withgraphite/graphite-cli",
|
||||
"version": "1.4.3",
|
||||
"version": "1.4.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@withgraphite/graphite-cli",
|
||||
"version": "1.4.3",
|
||||
"version": "1.4.4",
|
||||
"hasInstallScript": true,
|
||||
"license": "None",
|
||||
"dependencies": {
|
||||
@@ -27,6 +27,7 @@
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -35,6 +36,7 @@
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
@@ -49,6 +51,7 @@
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
@@ -64,6 +67,7 @@
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"string-width": "^4.2.0",
|
||||
"strip-ansi": "^6.0.1",
|
||||
@@ -77,6 +81,7 @@
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
@@ -87,17 +92,20 @@
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/escalade": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
|
||||
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
||||
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -106,6 +114,7 @@
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": "6.* || 8.* || >= 10.*"
|
||||
}
|
||||
@@ -114,6 +123,7 @@
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -122,6 +132,7 @@
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -130,6 +141,7 @@
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -138,6 +150,7 @@
|
||||
"version": "7.6.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
@@ -149,6 +162,7 @@
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
@@ -162,6 +176,7 @@
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
@@ -173,6 +188,7 @@
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
@@ -184,6 +200,7 @@
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
@@ -200,6 +217,7 @@
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
@@ -220,6 +238,7 @@
|
||||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
@@ -228,6 +247,7 @@
|
||||
"version": "17.7.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cliui": "^8.0.1",
|
||||
"escalade": "^3.1.1",
|
||||
@@ -245,6 +265,7 @@
|
||||
"version": "21.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "graphite-cli";
|
||||
version = "1.4.3";
|
||||
version = "1.4.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
|
||||
hash = "sha256-ITROAsDlkNJx5z1DN41Y3kOQzlm2CmciPVn9IrtjCQc=";
|
||||
hash = "sha256-a/ouR93i887/QnIeSZX5zVgF194LCCc2hNmSGsH8aDY=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-G2J0yu/loihlrgGSMEJmVK496bVwJehLwYAPh0f8UbM=";
|
||||
npmDepsHash = "sha256-MwJ7ALO0Ebh7K0LW4xJ79tL1FikNe5hiY06X1lwXlC4=";
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${./package-lock.json} package-lock.json
|
||||
|
||||
+1431
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
fontconfig,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hdr10plus_tool";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quietvoid";
|
||||
repo = "hdr10plus_tool";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-EyKCdrilb6Ha9avEe5L4Snbufq8pEiTvr8tcdj0M6Zs=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"plotters-0.3.5" = "sha256-cz8/chdq8C/h1q5yFcQp0Rzg89XHnQhIN1Va52p6Z2Y=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ fontconfig ];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI utility to work with HDR10+ in HEVC files.";
|
||||
homepage = "https://github.com/quietvoid/hdr10plus_tool";
|
||||
changelog = "https://github.com/quietvoid/hdr10plus_tool/releases";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ johnrtitor ];
|
||||
mainProgram = "hdr10plus_tool";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "heliocron";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfreeborn";
|
||||
repo = "heliocron";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5rzFz29Bpy2GR6bEt2DdCq9RtpdcY3SK/KnZrBrHUvk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-RjYE2TBvHnBgiwJi/Ys+wAmJoMHJuimcD07FOqwkcis=";
|
||||
|
||||
meta = {
|
||||
description = "Execute tasks relative to sunset, sunrise and other solar events";
|
||||
longDescription = "A simple command line application that integrates with `cron` to execute tasks relative to sunset, sunrise and other such solar events.";
|
||||
homepage = "https://github.com/mfreeborn/heliocron";
|
||||
changelog = "https://github.com/mfreeborn/heliocron/releases/tag/v${version}";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
asl20
|
||||
];
|
||||
maintainers = with lib.maintainers; [ TheColorman ];
|
||||
mainProgram = "heliocron";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -74,7 +74,7 @@ buildGoModule {
|
||||
|
||||
meta = {
|
||||
mainProgram = "api";
|
||||
homepage = "https://hay-kot.github.io/homebox/";
|
||||
homepage = "https://homebox.software/";
|
||||
description = "Inventory and organization system built for the Home User";
|
||||
maintainers = with lib.maintainers; [ patrickdag ];
|
||||
license = lib.licenses.agpl3Only;
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
boost,
|
||||
cmake,
|
||||
cmark,
|
||||
cryptopp,
|
||||
extra-cmake-modules,
|
||||
immer,
|
||||
kdePackages,
|
||||
lager,
|
||||
libkazv,
|
||||
nlohmann_json,
|
||||
olm,
|
||||
pkg-config,
|
||||
qt6,
|
||||
zug,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "kazv";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "lily-is.land";
|
||||
owner = "kazv";
|
||||
repo = "kazv";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-WBS7TJJw0t57V4+NxsG8V8q4UKQXB8kRpWocvNy1Eto=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
kdePackages.extra-cmake-modules
|
||||
pkg-config
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cmark
|
||||
cryptopp
|
||||
immer
|
||||
kdePackages.kio
|
||||
kdePackages.kirigami
|
||||
kdePackages.kirigami-addons
|
||||
kdePackages.knotifications
|
||||
lager
|
||||
libkazv
|
||||
nlohmann_json
|
||||
olm
|
||||
qt6.qtbase
|
||||
qt6.qtimageformats
|
||||
qt6.qtmultimedia
|
||||
qt6.qtwayland
|
||||
zug
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
description = "Convergent matrix client and instant messaging app";
|
||||
homepage = "https://kazv.chat/";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [ fgaz ];
|
||||
mainProgram = "kazv";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
cryptopp,
|
||||
immer,
|
||||
lager,
|
||||
libcpr,
|
||||
libhttpserver,
|
||||
libmicrohttpd,
|
||||
nlohmann_json,
|
||||
olm,
|
||||
pkg-config,
|
||||
zug,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libkazv";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "lily-is.land";
|
||||
owner = "kazv";
|
||||
repo = "libkazv";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-bKujiuAR5otF7nc/BdVWVaEW9fSxdh2bcAgsQ5UO1Aw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cryptopp
|
||||
immer
|
||||
lager
|
||||
libcpr
|
||||
libhttpserver
|
||||
libmicrohttpd
|
||||
olm
|
||||
nlohmann_json
|
||||
zug
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [ (lib.cmakeBool "libkazv_BUILD_TESTS" finalAttrs.doCheck) ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkInputs = [ catch2_3 ];
|
||||
|
||||
meta = {
|
||||
description = "Matrix client sdk built upon lager and the value-oriented design it enables";
|
||||
homepage = "https://lily-is.land/kazv/libkazv";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [ fgaz ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
@@ -69,13 +69,13 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "llama-cpp";
|
||||
version = "3645";
|
||||
version = "3672";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggerganov";
|
||||
repo = "llama.cpp";
|
||||
rev = "refs/tags/b${finalAttrs.version}";
|
||||
hash = "sha256-Vev4X9wXyTksHop4q9ysym0zEaMBt51CIOqIf5jymK0=";
|
||||
hash = "sha256-m9mMmvIasoJkj0DAx/6TLdt5Qflbe1JqaU1VQ/8bEG0=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, lib
|
||||
, nixosTests
|
||||
, olm
|
||||
@@ -36,13 +37,16 @@ buildGoModule rec {
|
||||
mautrix-meta-sqlite
|
||||
;
|
||||
};
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/mautrix/meta";
|
||||
description = "Matrix <-> Facebook and Mautrix <-> Instagram hybrid puppeting/relaybot bridge";
|
||||
description = "Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [ rutherther ];
|
||||
maintainers = with lib.maintainers; [ rutherther eyjhb ];
|
||||
mainProgram = "mautrix-meta";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "modelscan";
|
||||
version = "0.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "protectai";
|
||||
repo = "modelscan";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-G+jBbDiDiQr3E5JuUdNvfIjVpoVCpsDQRoZ7L659BF0=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
poetry-core
|
||||
poetry-dynamic-versioning
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
click
|
||||
numpy
|
||||
rich
|
||||
tomlkit
|
||||
];
|
||||
|
||||
optional-dependencies = with python3.pkgs; {
|
||||
h5py = [ h5py ];
|
||||
# tensorflow = [ tensorflow ];
|
||||
};
|
||||
|
||||
nativeCheckInputs =
|
||||
with python3.pkgs;
|
||||
[
|
||||
dill
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.flatten (builtins.attrValues optional-dependencies);
|
||||
|
||||
# tensorflow doesn0t support Python 3.12
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "modelscan" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Protection against Model Serialization Attacks";
|
||||
homepage = "https://github.com/protectai/modelscan";
|
||||
changelog = "https://github.com/protectai/modelscan/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "modelscan";
|
||||
};
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
let
|
||||
pname = "mov-cli";
|
||||
version = "4.4.8";
|
||||
version = "4.4.12";
|
||||
in
|
||||
python3.pkgs.buildPythonPackage {
|
||||
inherit pname version;
|
||||
@@ -18,7 +18,7 @@ python3.pkgs.buildPythonPackage {
|
||||
owner = "mov-cli";
|
||||
repo = "mov-cli";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-MpSwSYsHsrG7ceXXJnFMg1bgadOhe23eNVCNMxlY0pQ=";
|
||||
hash = "sha256-S8IB2TRmzoSKKeTKhESWstPPbSIL8LwqV5Y2+9F0KMo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
alsa-lib,
|
||||
darwin,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
protobuf,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "music-player";
|
||||
version = "0.2.0-alpha.14-unstable-2024-08-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tsirysndr";
|
||||
repo = "music-player";
|
||||
# No patch for 0.2.0, diff patch has a big size, temporarily until the next release
|
||||
rev = "cf01ae4d2dcf5c804559250f2c7f922d870ae26d";
|
||||
hash = "sha256-8C8uFnXSBalLD2MUgzzfg4ylvTVecyPJOSUri5jbvkM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JmyuA5p6/7jtNuOMWuAuspYYid+dGOeollIlS0DRCIE=";
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
protobuf
|
||||
rustPlatform.bindgenHook
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.AudioUnit
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extensible music player daemon written in Rust";
|
||||
homepage = "https://github.com/tsirysndr/music-player";
|
||||
changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
mainProgram = "music-player";
|
||||
};
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
, nix-output-monitor
|
||||
}:
|
||||
let
|
||||
version = "3.5.21";
|
||||
version = "3.5.25";
|
||||
runtimeDeps = [ nvd nix-output-monitor ];
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage {
|
||||
owner = "viperML";
|
||||
repo = "nh";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Ujo6MQvwolE1eWSkPXCC9WFJeLtRfnMpvxoeAGNcbFI=";
|
||||
hash = "sha256-dCfl8q5dg8euqD6NzsN4CLyY6KxmglCU9yJtSKYk+KU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage {
|
||||
--prefix PATH : ${lib.makeBinPath runtimeDeps}
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-UFWw59puUWgs8/oHuMqwmjS7ZZQ/WIC1/p8odEtUzVU=";
|
||||
cargoHash = "sha256-vCJ8Y1wXrgd4tft+VVguDI9RO+Wb6QRqIeQL3qbrRdI=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
{ resholve, lib, coreutils, direnv, nix, fetchFromGitHub }:
|
||||
{
|
||||
resholve,
|
||||
lib,
|
||||
coreutils,
|
||||
nix,
|
||||
fetchFromGitHub,
|
||||
writeText,
|
||||
}:
|
||||
|
||||
# resholve does not yet support `finalAttrs` call pattern hence `rec`
|
||||
# https://github.com/abathur/resholve/issues/107
|
||||
resholve.mkDerivation rec {
|
||||
pname = "nix-direnv";
|
||||
version = "3.0.5";
|
||||
version = "3.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "nix-direnv";
|
||||
rev = version;
|
||||
hash = "sha256-imUlc5v/Ow7dgjCjTyEeet+4lNHLeEwfqGQcB4dKcao=";
|
||||
hash = "sha256-oNqhPqgQT92yxbKmcgX4F3e2yTUPyXYG7b2xQm3TvQw=";
|
||||
};
|
||||
|
||||
# skip min version checks which are redundant when built with nix
|
||||
postPatch = ''
|
||||
sed -i 1iNIX_DIRENV_SKIP_VERSION_CHECK=1 direnvrc
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -m400 -D direnvrc $out/share/nix-direnv/direnvrc
|
||||
@@ -28,7 +30,7 @@ resholve.mkDerivation rec {
|
||||
default = {
|
||||
scripts = [ "share/nix-direnv/direnvrc" ];
|
||||
interpreter = "none";
|
||||
inputs = [ coreutils nix ];
|
||||
inputs = [ coreutils ];
|
||||
fake = {
|
||||
builtin = [
|
||||
"PATH_add"
|
||||
@@ -43,23 +45,36 @@ resholve.mkDerivation rec {
|
||||
# cannot be reached when built with nix
|
||||
"shasum"
|
||||
];
|
||||
external = [
|
||||
# We want to reference the ambient Nix when possible, and have custom logic
|
||||
# for the fallback
|
||||
"nix"
|
||||
];
|
||||
};
|
||||
keep = {
|
||||
"$cmd" = true;
|
||||
"$direnv" = true;
|
||||
|
||||
# Nix fallback implementation
|
||||
"$_nix_direnv_nix" = true;
|
||||
"$ambient_nix" = true;
|
||||
"$NIX_DIRENV_FALLBACK_NIX" = true;
|
||||
};
|
||||
execer = [
|
||||
"cannot:${direnv}/bin/direnv"
|
||||
"cannot:${nix}/bin/nix"
|
||||
];
|
||||
prologue =
|
||||
(writeText "prologue.sh" ''
|
||||
NIX_DIRENV_FALLBACK_NIX=''${NIX_DIRENV_FALLBACK_NIX:-${lib.getExe nix}}
|
||||
'').outPath;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Fast, persistent use_nix implementation for direnv";
|
||||
homepage = "https://github.com/nix-community/nix-direnv";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ mic92 bbenne10 ];
|
||||
homepage = "https://github.com/nix-community/nix-direnv";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
mic92
|
||||
bbenne10
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
||||
pythonRelaxDeps = [ "setuptools" ];
|
||||
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "okteto";
|
||||
version = "2.30.2";
|
||||
version = "2.31.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okteto";
|
||||
repo = "okteto";
|
||||
rev = version;
|
||||
hash = "sha256-6t9lkn2voxE6rbBtD7AcO9aRLcLVe2JDFPIj8XR86KU=";
|
||||
hash = "sha256-YY8PWBEd8MV/k0wvXqyFTuNi3mvUnFNm2GrmrFF7TKQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7XZImCS9hv8ILYfGcoY3tMk0grswWbfpQrBKhghTfsY=";
|
||||
|
||||
@@ -7,25 +7,25 @@
|
||||
}:
|
||||
let
|
||||
pname = "open-webui";
|
||||
version = "0.3.18-unstable-2024-09-05";
|
||||
version = "0.3.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-webui";
|
||||
repo = "open-webui";
|
||||
rev = "c3271e84efc281dfed8c1e2d265cd24e1e5865e6";
|
||||
hash = "sha256-yOLxpRgwTVPlQASzFqul+ap/s7Wx3uxf4xr+Xb2Nb7A=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-0POrTElR4oze9sypfsJrY8miBVK6JvHRDmzMhqntFA4=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
inherit pname version src;
|
||||
|
||||
npmDepsHash = "sha256-BkjvMD1XxELzxiPZagYd0aEUsaAl338h5W9nvxxrJJg=";
|
||||
npmDepsHash = "sha256-03F9Pz4RWoswdYh9lLEHtg5WitCsrG3JOa2S/RJDtZI=";
|
||||
|
||||
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
|
||||
# Until this is solved, running python packages from the browser will not work.
|
||||
postPatch = ''
|
||||
substituteInPlace package.json \
|
||||
--replace-fail "npm run pyodide:fetch && vite build" "vite build" \
|
||||
--replace-fail "npm run pyodide:fetch && vite build" "vite build"
|
||||
'';
|
||||
|
||||
env.CYPRESS_INSTALL_BINARY = "0"; # disallow cypress from downloading binaries in sandbox
|
||||
|
||||
@@ -22,7 +22,7 @@ buildGoModule rec {
|
||||
description = "Single-file utility for creating and working with PMTiles archives";
|
||||
homepage = "https://github.com/protomaps/go-pmtiles";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.theaninova ];
|
||||
maintainers = teams.geospatial.members ++ (with maintainers; [ theaninova ]);
|
||||
mainProgram = "pmtiles";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "proto";
|
||||
version = "0.40.2";
|
||||
version = "0.40.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "moonrepo";
|
||||
repo = "proto";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GpTNU/kaxo9BgMh5FdeJghpENIuC7Tdy+K1uXcPIQuY=";
|
||||
hash = "sha256-heckDmKG6gQYNzK0kRQKYXdgZLRiZB/b+x7Xr/4axX0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-CjdIjJ6Nvckihp3mo86lzmqJD1aXSwKoyrLWMhOVy8w=";
|
||||
cargoHash = "sha256-yPXf6f4dwCaT0nKDWiZ+FIvOyWB/WqiwKi1b/rBtNIQ=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
# Last updated: 2024-09-01
|
||||
# Last updated: 2024-09-06
|
||||
{
|
||||
version = "3.2.12-2024.8.19";
|
||||
amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.12_240819_amd64_01.deb";
|
||||
arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.12_240819_arm64_01.deb";
|
||||
arm64_hash = "sha256-iPi7RwAHSWnRBl2U+D1acghFjjF+vCH+Nz1Wf1bQFJY=";
|
||||
amd64_hash = "sha256-yuMHl/PIxAYUBXKNiI7u2upEc32mixAjjgLjO9xooVI=";
|
||||
version = "3.2.12-2024.9.2";
|
||||
amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.12_240902_amd64_01.deb";
|
||||
arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.12_240902_arm64_01.deb";
|
||||
arm64_hash = "sha256-V+lsBgwhpvVNYGm1d0DD9x/wD7/+bIDON8DAAABA42c=";
|
||||
amd64_hash = "sha256-NHK50KR2WuUm+HO//sFBUkhJPk6F45j5ShuaWksV1O4=";
|
||||
}
|
||||
|
||||
@@ -148,5 +148,6 @@ python3Packages.buildPythonApplication rec {
|
||||
homepage = "http://www.davisr.me/projects/rcu/";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
hydraPlatforms = [ ]; # requireFile used as src
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
renode.overrideAttrs (finalAttrs: _: {
|
||||
pname = "renode-unstable";
|
||||
version = "1.15.2+20240829gitfedcdbdaf";
|
||||
version = "1.15.2+20240905git62115c2c3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz";
|
||||
hash = "sha256-pZ8+wxu7357jXGhFFgG9RQ0Jy8a3CfKpe3x31VbsgfQ=";
|
||||
hash = "sha256-gPtaE0Y5bRcLNA9JVq2LWmDdV4OUGg/X6iQgEnr8b7Y=";
|
||||
};
|
||||
|
||||
passthru.updateScript =
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
|
||||
# nativeCheckInputs
|
||||
ruff,
|
||||
|
||||
# passthru
|
||||
nix-update-script,
|
||||
testers,
|
||||
ruff-lsp,
|
||||
@@ -11,15 +15,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ruff-lsp";
|
||||
version = "0.0.55";
|
||||
version = "0.0.56";
|
||||
pyproject = true;
|
||||
disabled = python3.pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astral-sh";
|
||||
repo = "ruff-lsp";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-FFIZ8fDAPK03tnkjd2AUrz7iL8S9FziJQJKOxAisu48=";
|
||||
hash = "sha256-L5bfGW5R9kDCK8zcFh+a/zquJefwKxOB0JdYDTyPFuQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
Generated
+8
-7
@@ -1803,9 +1803,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quick-junit"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cfc1a6a5406a114913df2df8507998c755311b55b78584bed5f6e88f6417c4d4"
|
||||
checksum = "62ffd2f9a162cfae131bed6d9d1ed60adced33be340a94f96952897d7cb0c240"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"indexmap",
|
||||
@@ -1818,9 +1818,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.31.0"
|
||||
version = "0.36.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
|
||||
checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@@ -1997,6 +1997,7 @@ dependencies = [
|
||||
"ruff_text_size",
|
||||
"rustc-hash 2.0.0",
|
||||
"salsa",
|
||||
"tempfile",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
@@ -2090,7 +2091,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ruff"
|
||||
version = "0.6.3"
|
||||
version = "0.6.4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"argfile",
|
||||
@@ -2283,7 +2284,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ruff_linter"
|
||||
version = "0.6.3"
|
||||
version = "0.6.4"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"annotate-snippets 0.9.2",
|
||||
@@ -2603,7 +2604,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ruff_wasm"
|
||||
version = "0.6.3"
|
||||
version = "0.6.4"
|
||||
dependencies = [
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ruff";
|
||||
version = "0.6.3";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astral-sh";
|
||||
repo = "ruff";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-5jS2NCl01kgUAd8hFtjJCOwRxi0XMM2x7VMpJLEgbOQ=";
|
||||
hash = "sha256-AldYWbLtkVtM1sWBCgNym9RZ0QszIh59vQhoysl5/3I=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a3babfae..11ea637c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -209,7 +209,7 @@ if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
||||
set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})")
|
||||
endif()
|
||||
|
||||
-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
#SET(CMAKE_MACOSX_RPATH ON)
|
||||
|
||||
diff --git a/sfcgal-config.in b/sfcgal-config.in
|
||||
index a0e992c5..49615c13 100755
|
||||
--- a/sfcgal-config.in
|
||||
+++ b/sfcgal-config.in
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
|
||||
usage()
|
||||
{
|
||||
diff --git a/sfcgal.pc.in b/sfcgal.pc.in
|
||||
index 968cb407..bf517d02 100644
|
||||
--- a/sfcgal.pc.in
|
||||
+++ b/sfcgal.pc.in
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: sfcgal
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
cmake,
|
||||
cgal,
|
||||
boost,
|
||||
mpfr,
|
||||
gmp,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sfcgal";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "sfcgal";
|
||||
repo = "SFCGAL";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-fK1PfLm6n05PhH/sT6N/hQtH5Z6+Xc1nUCS1NYpLDcY=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
cgal
|
||||
boost
|
||||
mpfr
|
||||
gmp
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
patches = [ ./cmake-fix.patch ];
|
||||
|
||||
meta = {
|
||||
description = "C++ wrapper library around CGAL with the aim of supporting ISO 191007:2013 and OGC Simple Features for 3D operations";
|
||||
homepage = "https://sfcgal.gitlab.io/SFCGAL/";
|
||||
changelog = "https://gitlab.com/sfcgal/SFCGAL/-/releases/v${finalAttrs.version}";
|
||||
license = lib.licenses.lgpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ lib.maintainers.fqidz ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "sig";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ynqa";
|
||||
repo = "sig";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nt/KV4ohFNZTJTwbNoSxb5v9zQwp+7ypvfMthL1yMus=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-gZZ2aOsqVqGN3gCBZnBXzlFicMssNIEyRT688OuNMJc=";
|
||||
|
||||
meta = {
|
||||
description = "Interactive grep (for streaming)";
|
||||
homepage = "https://github.com/ynqa/sig";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ qaidvoid ];
|
||||
mainProgram = "sig";
|
||||
};
|
||||
}
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
let
|
||||
pname = "simplex-chat-desktop";
|
||||
version = "6.0.3";
|
||||
version = "6.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
|
||||
hash = "sha256-No3nS1AUOxhaxvaPvc8tLW+fj59P4AT/bt0dZobdGAw=";
|
||||
hash = "sha256-yDymJ44NIqDg5++WV5rcbOAR4gEWZpwNDClJkFMe9Ns=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
wrapGAppsHook4,
|
||||
cairo,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
gtk4,
|
||||
pango,
|
||||
polkit,
|
||||
}:
|
||||
let
|
||||
version = "0.1.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "soteria";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "imvaskel";
|
||||
repo = "soteria";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-lhS+37DqSgZrgrYgKGUpKMC22Qjdq9LPNS5k/dqvkRY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NMSGSqdCu/kW6vv8+C7UC6oitZqlTklO1sRKDcc1T9o=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk4
|
||||
pango
|
||||
];
|
||||
|
||||
# From upstream packaging:
|
||||
# Takes advantage of nixpkgs manually editing PACKAGE_PREFIX by grabbing it from
|
||||
# the binary itself.
|
||||
# https://github.com/NixOS/nixpkgs/blob/9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b/pkgs/development/libraries/polkit/default.nix#L142
|
||||
# https://github.com/polkit-org/polkit/blob/d89c3604e2a86f4904566896c89e1e6b037a6f50/src/polkitagent/polkitagentsession.c#L599
|
||||
preBuild = ''
|
||||
export POLKIT_AGENT_HELPER_PATH="$(strings ${polkit.out}/lib/libpolkit-agent-1.so | grep "polkit-agent-helper-1")"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Polkit authentication agent written in GTK designed to be used with any desktop environment";
|
||||
homepage = "https://github.com/ImVaskel/soteria";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "soteria";
|
||||
maintainers = with lib.maintainers; [
|
||||
NotAShelf
|
||||
lychee
|
||||
];
|
||||
inherit (polkit.meta) platforms;
|
||||
};
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
rocksdb_8_11,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -144,6 +145,7 @@ rustPlatform.buildRustPackage {
|
||||
doCheck = !(stdenv.isLinux && stdenv.isAarch64);
|
||||
|
||||
passthru = {
|
||||
webadmin = callPackage ./webadmin.nix { };
|
||||
update-script = nix-update-script { };
|
||||
tests.stalwart-mail = nixosTests.stalwart-mail;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
trunk-ng,
|
||||
tailwindcss,
|
||||
fetchNpmDeps,
|
||||
nodejs,
|
||||
npmHooks,
|
||||
llvmPackages,
|
||||
wasm-bindgen-cli,
|
||||
binaryen,
|
||||
zip,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "webadmin";
|
||||
version = "0.1.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stalwartlabs";
|
||||
repo = "webadmin";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-QtQAcbyTSAj56QZky7eyNS15pnetLVN1Z4cN5pxlJFc=";
|
||||
};
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
name = "${pname}-npm-deps";
|
||||
hash = "sha256-na1HEueX8w7kuDp8LEtJ0nD1Yv39cyk6sEMpS1zix2s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-CWDwVVea+cdsoIbQdQ3HDiVwYuMSplWZSUXTweibu9s=";
|
||||
|
||||
postPatch = ''
|
||||
# Using local tailwindcss for compilation
|
||||
substituteInPlace Trunk.toml --replace-fail "npx tailwindcss" "tailwindcss"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
binaryen
|
||||
llvmPackages.bintools-unwrapped
|
||||
nodejs
|
||||
npmHooks.npmConfigHook
|
||||
tailwindcss
|
||||
trunk-ng
|
||||
wasm-bindgen-cli
|
||||
zip
|
||||
];
|
||||
|
||||
NODE_PATH = "$npmDeps";
|
||||
|
||||
buildPhase = ''
|
||||
trunk-ng build --offline --verbose --release
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cd dist
|
||||
mkdir -p $out
|
||||
zip -r $out/webadmin.zip *
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Secure & modern all-in-one mail server Stalwart (webadmin module)";
|
||||
homepage = "https://github.com/stalwartlabs/webadmin";
|
||||
changelog = "https://github.com/stalwartlabs/mail-server/blob/${version}/CHANGELOG";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 55f480a8..a69f9ed9 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1839,6 +1839,22 @@ dependencies = [
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "hyper-tls"
|
||||
+version = "0.6.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
|
||||
+dependencies = [
|
||||
+ "bytes",
|
||||
+ "http-body-util",
|
||||
+ "hyper",
|
||||
+ "hyper-util",
|
||||
+ "native-tls",
|
||||
+ "tokio",
|
||||
+ "tokio-native-tls",
|
||||
+ "tower-service",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.3"
|
||||
@@ -2302,6 +2318,23 @@ dependencies = [
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "native-tls"
|
||||
+version = "0.2.12"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+ "log",
|
||||
+ "openssl",
|
||||
+ "openssl-probe",
|
||||
+ "openssl-sys",
|
||||
+ "schannel",
|
||||
+ "security-framework",
|
||||
+ "security-framework-sys",
|
||||
+ "tempfile",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "ndk"
|
||||
version = "0.7.0"
|
||||
@@ -2511,6 +2544,12 @@ dependencies = [
|
||||
"syn 2.0.50",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "openssl-probe"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||
+
|
||||
[[package]]
|
||||
name = "openssl-src"
|
||||
version = "300.2.3+3.2.1"
|
||||
@@ -3416,6 +3455,15 @@ dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "schannel"
|
||||
+version = "0.1.23"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
|
||||
+dependencies = [
|
||||
+ "windows-sys 0.52.0",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "schemars"
|
||||
version = "0.8.19"
|
||||
@@ -3460,6 +3508,29 @@ version = "4.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
|
||||
|
||||
+[[package]]
|
||||
+name = "security-framework"
|
||||
+version = "2.10.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
|
||||
+dependencies = [
|
||||
+ "bitflags 1.3.2",
|
||||
+ "core-foundation",
|
||||
+ "core-foundation-sys",
|
||||
+ "libc",
|
||||
+ "security-framework-sys",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "security-framework-sys"
|
||||
+version = "2.11.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf"
|
||||
+dependencies = [
|
||||
+ "core-foundation-sys",
|
||||
+ "libc",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "selectors"
|
||||
version = "0.22.0"
|
||||
@@ -3847,6 +3918,7 @@ name = "surrealist"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
+ "hyper-tls",
|
||||
"log",
|
||||
"openssl",
|
||||
"portpicker",
|
||||
@@ -4563,6 +4635,16 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "tokio-native-tls"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
|
||||
+dependencies = [
|
||||
+ "native-tls",
|
||||
+ "tokio",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "tokio-rustls"
|
||||
version = "0.25.0"
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 3e3ab7ee..b6612f95 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -28,6 +28,8 @@ time = { version = "0.3", default-features = false}
|
||||
log = "^0.4"
|
||||
url = "2"
|
||||
|
||||
+hyper-tls = "0.6.0"
|
||||
+
|
||||
[target.'cfg(target_os = "linux")'.dependencies]
|
||||
openssl = { version = "0.10.64", features = ["vendored"] }
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
, esbuild
|
||||
, fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, glib-networking
|
||||
, gobject-introspection
|
||||
, lib
|
||||
, libsoup
|
||||
, libsoup_3
|
||||
, makeBinaryWrapper
|
||||
, nodejs
|
||||
, openssl
|
||||
@@ -18,12 +19,30 @@
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, stdenvNoCC
|
||||
, webkitgtk
|
||||
, webkitgtk_4_1
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
esbuild-20-2 = let version = "0.20.2";
|
||||
cargo-tauri_2 = let
|
||||
version = "2.0.0-rc.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tauri-apps";
|
||||
repo = "tauri";
|
||||
rev = "tauri-v${version}";
|
||||
hash = "sha256-PV8m/MzYgbY4Hv71dZrqVbrxmxrwFfOAraLJIaQk6FQ=";
|
||||
};
|
||||
in cargo-tauri.overrideAttrs (drv: {
|
||||
inherit src version;
|
||||
cargoDeps = drv.cargoDeps.overrideAttrs (lib.const {
|
||||
inherit src;
|
||||
name = "tauri-${version}-vendor.tar.gz";
|
||||
outputHash = "sha256-BrIH0JkGMp68O+4B+0g7X3lSdNSPXo+otlBgslCzPZE=";
|
||||
});
|
||||
});
|
||||
|
||||
esbuild_21-5 = let
|
||||
version = "0.21.5";
|
||||
in esbuild.override {
|
||||
buildGoModule = args:
|
||||
buildGoModule (args // {
|
||||
@@ -32,7 +51,7 @@ let
|
||||
owner = "evanw";
|
||||
repo = "esbuild";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY=";
|
||||
hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8=";
|
||||
};
|
||||
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||
});
|
||||
@@ -40,34 +59,44 @@ let
|
||||
|
||||
in stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "surrealist";
|
||||
version = "2.0.6";
|
||||
version = "2.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "surrealdb";
|
||||
repo = "surrealist";
|
||||
rev = "surrealist-v${finalAttrs.version}";
|
||||
hash = "sha256-5OiVqn+ujssxXZXC6pnGiG1Nw8cAhoDU5IIl9skywBw=";
|
||||
hash = "sha256-jOjOdrVOcGPenFW5mkkXKA64C6c+/f9KzlvtUmw6vXc=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/src-tauri";
|
||||
|
||||
# HACK: A dependency (surrealist -> tauri -> **reqwest**) contains hyper-tls
|
||||
# as an actually optional dependency. It ends up in the `Cargo.lock` file of
|
||||
# tauri, but not in the one of surrealist. We apply a patch to `Cargo.toml`
|
||||
# and `Cargo.lock` to ensure that we have it in our vendor archive. This may
|
||||
# be a result of the following bug:
|
||||
# https://github.com/rust-lang/cargo/issues/10801
|
||||
patches = [
|
||||
./0001-Cargo.patch
|
||||
];
|
||||
|
||||
ui = stdenvNoCC.mkDerivation {
|
||||
inherit (finalAttrs) src version;
|
||||
pname = "${finalAttrs.pname}-ui";
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-apvU7nanzueaF7PEQL7EKjVT5z1M6I7PZpEIJxfKuCQ=";
|
||||
hash = "sha256-zGs1MWJ8TEFuHOoekCNIKQo2PBnp95xLz+R8mzeJXh8=";
|
||||
};
|
||||
|
||||
ESBUILD_BINARY_PATH = "${lib.getExe esbuild-20-2}";
|
||||
ESBUILD_BINARY_PATH = lib.getExe esbuild_21-5;
|
||||
|
||||
nativeBuildInputs = [ nodejs pnpm.configHook ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm build
|
||||
pnpm build:desktop
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@@ -82,22 +111,29 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit (finalAttrs) src sourceRoot version;
|
||||
inherit (finalAttrs) patches src sourceRoot version;
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}";
|
||||
hash = "sha256-uE4r0smgSbl4l77/MsHtn1Ar5fqspsYcLC/u8TUrcu8=";
|
||||
hash = "sha256-LtQS0kH+2P4odV7BJYiH6T51+iZHAM9W9mV96rNfNWs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
cargo-tauri
|
||||
cargo-tauri_2
|
||||
gobject-introspection
|
||||
makeBinaryWrapper
|
||||
pkg-config
|
||||
rustc
|
||||
rustPlatform.cargoSetupHook
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ cairo gdk-pixbuf gobject-introspection libsoup openssl pango webkitgtk ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
libsoup_3
|
||||
openssl
|
||||
pango
|
||||
webkitgtk_4_1
|
||||
];
|
||||
|
||||
env = {
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
@@ -105,8 +141,8 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./tauri.conf.json \
|
||||
--replace-fail '"distDir": "../dist",' '"distDir": "${finalAttrs.ui}",' \
|
||||
--replace-fail '"beforeBuildCommand": "pnpm build",' '"beforeBuildCommand": "",'
|
||||
--replace-fail '"frontendDist": "../dist",' '"frontendDist": "${finalAttrs.ui}",' \
|
||||
--replace-fail '"beforeBuildCommand": "pnpm build:desktop",' '"beforeBuildCommand": "",'
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
@@ -114,12 +150,14 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -Dm555 target/release/bundle/deb/surrealist_${finalAttrs.version}_*/data/usr/bin/surrealist -t $out/bin
|
||||
cp -r target/release/bundle/deb/surrealist_${finalAttrs.version}_*/data/usr/share $out
|
||||
install -Dm555 target/release/bundle/deb/Surrealist_${finalAttrs.version}_*/data/usr/bin/surrealist -t $out/bin
|
||||
cp -r target/release/bundle/deb/Surrealist_${finalAttrs.version}_*/data/usr/share $out
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/surrealist" --set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
||||
wrapProgram "$out/bin/surrealist" \
|
||||
--set GIO_EXTRA_MODULES ${glib-networking}/lib/gio/modules \
|
||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -10,17 +10,9 @@ rustPlatform.buildRustPackage {
|
||||
pname = "switch-to-configuration";
|
||||
version = "0.1.0";
|
||||
|
||||
src = lib.fileset.toSource {
|
||||
root = ./.;
|
||||
fileset = lib.fileset.unions [
|
||||
./Cargo.lock
|
||||
./Cargo.toml
|
||||
./build.rs
|
||||
./src
|
||||
];
|
||||
};
|
||||
src = ./src;
|
||||
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
cargoLock.lockFile = ./src/Cargo.lock;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ dbus ];
|
||||
|
||||
+12
-7
@@ -1657,15 +1657,19 @@ won't take effect until you reboot the system.
|
||||
}
|
||||
Ok(users) => {
|
||||
for (uid, name, user_dbus_path) in users {
|
||||
let gid: u32 = dbus_conn
|
||||
.with_proxy(
|
||||
"org.freedesktop.login1",
|
||||
&user_dbus_path,
|
||||
Duration::from_millis(5000),
|
||||
)
|
||||
let proxy = dbus_conn.with_proxy(
|
||||
"org.freedesktop.login1",
|
||||
&user_dbus_path,
|
||||
Duration::from_millis(5000),
|
||||
);
|
||||
let gid: u32 = proxy
|
||||
.get("org.freedesktop.login1.User", "GID")
|
||||
.with_context(|| format!("Failed to get GID for {name}"))?;
|
||||
|
||||
let runtime_path: String = proxy
|
||||
.get("org.freedesktop.login1.User", "RuntimePath")
|
||||
.with_context(|| format!("Failed to get runtime directory for {name}"))?;
|
||||
|
||||
eprintln!("reloading user units for {}...", name);
|
||||
let myself = Path::new("/proc/self/exe")
|
||||
.canonicalize()
|
||||
@@ -1674,7 +1678,8 @@ won't take effect until you reboot the system.
|
||||
std::process::Command::new(&myself)
|
||||
.uid(uid)
|
||||
.gid(gid)
|
||||
.env("XDG_RUNTIME_DIR", format!("/run/user/{}", uid))
|
||||
.env_clear()
|
||||
.env("XDG_RUNTIME_DIR", runtime_path)
|
||||
.env("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE", &myself)
|
||||
.spawn()
|
||||
.with_context(|| format!("Failed to spawn user activation for {name}"))?
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "teams-for-linux";
|
||||
version = "1.9.5";
|
||||
version = "1.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-+rEGDg+/qvjCMhGHccb4p+CKOo/65RpkFT/WnCDlCgU=";
|
||||
hash = "sha256-VonydbN7EiXnQIArOSKgNsIV7zIZQsLihZ41geSx1AA=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-vDRFFxkIQo5qU9gmkSwUhPz4FG2XbUNkTw6SCuvMqCc=";
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user