mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
Merge master into staging-next
This commit is contained in:
commit
59b57346d9
108 changed files with 989 additions and 320 deletions
|
@ -21177,6 +21177,12 @@
|
||||||
githubId = 16036882;
|
githubId = 16036882;
|
||||||
name = "Thibault Gagnaux";
|
name = "Thibault Gagnaux";
|
||||||
};
|
};
|
||||||
|
tri-ler = {
|
||||||
|
github = "tri-ler";
|
||||||
|
githubId = 47867303;
|
||||||
|
email = "tylerh689@gmail.com";
|
||||||
|
name = "Tyler Hong";
|
||||||
|
};
|
||||||
trino = {
|
trino = {
|
||||||
email = "muehlhans.hubert@ekodia.de";
|
email = "muehlhans.hubert@ekodia.de";
|
||||||
github = "hmuehlhans";
|
github = "hmuehlhans";
|
||||||
|
|
|
@ -98,6 +98,10 @@
|
||||||
- [chromadb](https://www.trychroma.com/), an open-source AI application
|
- [chromadb](https://www.trychroma.com/), an open-source AI application
|
||||||
database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
|
database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
|
||||||
|
|
||||||
|
- [Wakapi](https://wakapi.dev/), a time tracking software for programmers. Available as [services.wakapi](#opt-services.wakapi.enable).
|
||||||
|
|
||||||
|
- [foot](https://codeberg.org/dnkl/foot), a fast, lightweight and minimalistic Wayland terminal emulator. Available as [programs.foot](#opt-programs.foot.enable).
|
||||||
|
|
||||||
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
||||||
|
|
||||||
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
||||||
|
@ -405,10 +409,8 @@
|
||||||
|
|
||||||
- The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
|
- The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
|
||||||
|
|
||||||
- Cinnamon has been updated to 6.2.
|
- Cinnamon has been updated to 6.2, please check [upstream announcement](https://www.linuxmint.com/rel_wilma_whatsnew.php) for more details.
|
||||||
- Following Mint 22 defaults, the Cinnamon module no longer ships geary and hexchat by default.
|
Following Mint 22 defaults, the Cinnamon module no longer ships geary and hexchat by default.
|
||||||
- Nemo is now built with gtk-layer-shell support, note that for now it will be expected to see nemo-desktop
|
|
||||||
listed as a regular entry in Cinnamon Wayland session's window list applet.
|
|
||||||
|
|
||||||
- The `shadowstack` hardening flag has been added, though disabled by default.
|
- The `shadowstack` hardening flag has been added, though disabled by default.
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ with lib;
|
||||||
# Firefox for reading the manual.
|
# Firefox for reading the manual.
|
||||||
firefox
|
firefox
|
||||||
|
|
||||||
glxinfo
|
mesa-demos
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,6 +193,7 @@
|
||||||
./programs/fish.nix
|
./programs/fish.nix
|
||||||
./programs/flashrom.nix
|
./programs/flashrom.nix
|
||||||
./programs/flexoptix-app.nix
|
./programs/flexoptix-app.nix
|
||||||
|
./programs/foot
|
||||||
./programs/freetds.nix
|
./programs/freetds.nix
|
||||||
./programs/fuse.nix
|
./programs/fuse.nix
|
||||||
./programs/fzf.nix
|
./programs/fzf.nix
|
||||||
|
@ -1491,6 +1492,7 @@
|
||||||
./services/web-apps/trilium.nix
|
./services/web-apps/trilium.nix
|
||||||
./services/web-apps/tt-rss.nix
|
./services/web-apps/tt-rss.nix
|
||||||
./services/web-apps/vikunja.nix
|
./services/web-apps/vikunja.nix
|
||||||
|
./services/web-apps/wakapi.nix
|
||||||
./services/web-apps/weblate.nix
|
./services/web-apps/weblate.nix
|
||||||
./services/web-apps/whitebophir.nix
|
./services/web-apps/whitebophir.nix
|
||||||
./services/web-apps/wiki-js.nix
|
./services/web-apps/wiki-js.nix
|
||||||
|
|
|
@ -17,5 +17,5 @@
|
||||||
# Enable sound in virtualbox appliances.
|
# Enable sound in virtualbox appliances.
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
|
environment.systemPackages = [ pkgs.mesa-demos pkgs.firefox ];
|
||||||
}
|
}
|
||||||
|
|
27
nixos/modules/programs/foot/bashrc
Normal file
27
nixos/modules/programs/foot/bashrc
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
osc7_cwd() {
|
||||||
|
local strlen=${#PWD}
|
||||||
|
local encoded=""
|
||||||
|
local pos c o
|
||||||
|
for (( pos=0; pos<strlen; pos++ )); do
|
||||||
|
c=${PWD:$pos:1}
|
||||||
|
case "$c" in
|
||||||
|
[-/:_.!\'\(\)~[:alnum:]] ) o="${c}" ;;
|
||||||
|
* ) printf -v o '%%%02X' "'${c}" ;;
|
||||||
|
esac
|
||||||
|
encoded+="${o}"
|
||||||
|
done
|
||||||
|
printf '\e]7;file://%s%s\e\\' "${HOSTNAME}" "${encoded}"
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }osc7_cwd
|
||||||
|
|
||||||
|
prompt_marker() {
|
||||||
|
printf '\e]133;A\e\\'
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }prompt_marker
|
||||||
|
|
||||||
|
PS0+='\e]133;C\e\\'
|
||||||
|
|
||||||
|
command_done() {
|
||||||
|
printf '\e]133;D\e\\'
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }command_done
|
20
nixos/modules/programs/foot/config.fish
Normal file
20
nixos/modules/programs/foot/config.fish
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
function update_cwd_osc --on-variable PWD --description 'Notify terminals when $PWD changes'
|
||||||
|
if status --is-command-substitution || set -q INSIDE_EMACS
|
||||||
|
return
|
||||||
|
end
|
||||||
|
printf \e\]7\;file://%s%s\e\\ $hostname (string escape --style=url $PWD)
|
||||||
|
end
|
||||||
|
|
||||||
|
update_cwd_osc # Run once since we might have inherited PWD from a parent shell
|
||||||
|
|
||||||
|
function mark_prompt_start --on-event fish_prompt
|
||||||
|
echo -en "\e]133;A\e\\"
|
||||||
|
end
|
||||||
|
|
||||||
|
function foot_cmd_start --on-event fish_preexec
|
||||||
|
echo -en "\e]133;C\e\\"
|
||||||
|
end
|
||||||
|
|
||||||
|
function foot_cmd_end --on-event fish_postexec
|
||||||
|
echo -en "\e]133;D\e\\"
|
||||||
|
end
|
92
nixos/modules/programs/foot/default.nix
Normal file
92
nixos/modules/programs/foot/default.nix
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.programs.foot;
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.ini {
|
||||||
|
listsAsDuplicateKeys = true;
|
||||||
|
mkKeyValue =
|
||||||
|
with lib.generators;
|
||||||
|
mkKeyValueDefault {
|
||||||
|
mkValueString =
|
||||||
|
v:
|
||||||
|
mkValueStringDefault { } (
|
||||||
|
if v == true then
|
||||||
|
"yes"
|
||||||
|
else if v == false then
|
||||||
|
"no"
|
||||||
|
else if v == null then
|
||||||
|
"none"
|
||||||
|
else
|
||||||
|
v
|
||||||
|
);
|
||||||
|
} "=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.programs.foot = {
|
||||||
|
enable = lib.mkEnableOption "foot terminal emulator";
|
||||||
|
|
||||||
|
package = lib.mkPackageOption pkgs "foot" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
inherit (settingsFormat) type;
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Configuration for foot terminal emulator. Further information can be found in {command}`man 5 foot.ini`.
|
||||||
|
|
||||||
|
Global configuration has to be written under the [main] section.
|
||||||
|
'';
|
||||||
|
example = {
|
||||||
|
main.font = "FreeMono:size=12";
|
||||||
|
scrollback.lines = 100000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = lib.mkOption {
|
||||||
|
type = with lib.types; nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Theme name. Check <https://codeberg.org/dnkl/foot/src/branch/master/themes> for available themes.
|
||||||
|
'';
|
||||||
|
example = "aeroroot";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableBashIntegration = lib.mkEnableOption "foot bash integration" // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableFishIntegration = lib.mkEnableOption "foot fish integration" // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableZshIntegration = lib.mkEnableOption "foot zsh integration" // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment = {
|
||||||
|
systemPackages = [ cfg.package ];
|
||||||
|
etc."xdg/foot/foot.ini".source = settingsFormat.generate "foot.ini" cfg.settings;
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
foot.settings.main.include = lib.optionals (cfg.theme != null) [
|
||||||
|
"${pkgs.foot.themes}/share/foot/themes/${cfg.theme}"
|
||||||
|
];
|
||||||
|
# https://codeberg.org/dnkl/foot/wiki#user-content-shell-integration
|
||||||
|
bash.interactiveShellInit = lib.mkIf cfg.enableBashIntegration ". ${./bashrc} # enable shell integration for foot terminal";
|
||||||
|
fish.interactiveShellInit = lib.mkIf cfg.enableFishIntegration "source ${./config.fish} # enable shell integration for foot terminal";
|
||||||
|
zsh.interactiveShellInit = lib.mkIf cfg.enableZshIntegration ". ${./zshrc} # enable shell integration for foot terminal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ linsui ];
|
||||||
|
};
|
||||||
|
}
|
25
nixos/modules/programs/foot/zshrc
Normal file
25
nixos/modules/programs/foot/zshrc
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
function osc7-pwd() {
|
||||||
|
emulate -L zsh # also sets localoptions for us
|
||||||
|
setopt extendedglob
|
||||||
|
local LC_ALL=C
|
||||||
|
printf '\e]7;file://%s%s\e\' $HOST ${PWD//(#m)([^@-Za-z&-;_~])/%${(l:2::0:)$(([##16]#MATCH))}}
|
||||||
|
}
|
||||||
|
|
||||||
|
function chpwd-osc7-pwd() {
|
||||||
|
(( ZSH_SUBSHELL )) || osc7-pwd
|
||||||
|
}
|
||||||
|
add-zsh-hook -Uz chpwd chpwd-osc7-pwd
|
||||||
|
|
||||||
|
precmd() {
|
||||||
|
print -Pn "\e]133;A\e\\"
|
||||||
|
}
|
||||||
|
|
||||||
|
function precmd {
|
||||||
|
if ! builtin zle; then
|
||||||
|
print -n "\e]133;D\e\\"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function preexec {
|
||||||
|
print -n "\e]133;C\e\\"
|
||||||
|
}
|
|
@ -222,6 +222,7 @@ in
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
HOMEPAGE_CONFIG_DIR = configDir;
|
HOMEPAGE_CONFIG_DIR = configDir;
|
||||||
|
HOMEPAGE_CACHE_DIR = "/var/cache/homepage-dashboard";
|
||||||
PORT = toString cfg.listenPort;
|
PORT = toString cfg.listenPort;
|
||||||
LOG_TARGETS = lib.mkIf managedConfig "stdout";
|
LOG_TARGETS = lib.mkIf managedConfig "stdout";
|
||||||
};
|
};
|
||||||
|
@ -231,6 +232,7 @@ in
|
||||||
DynamicUser = true;
|
DynamicUser = true;
|
||||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||||
StateDirectory = lib.mkIf (!managedConfig) "homepage-dashboard";
|
StateDirectory = lib.mkIf (!managedConfig) "homepage-dashboard";
|
||||||
|
CacheDirectory = "homepage-dashboard";
|
||||||
ExecStart = lib.getExe cfg.package;
|
ExecStart = lib.getExe cfg.package;
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
|
|
|
@ -135,6 +135,8 @@ in
|
||||||
default = "freshrss";
|
default = "freshrss";
|
||||||
description = ''
|
description = ''
|
||||||
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
|
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
|
||||||
|
You may need to configure the virtualhost further through services.nginx.virtualHosts.<virtualhost>,
|
||||||
|
for example to enable SSL.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
164
nixos/modules/services/web-apps/wakapi.nix
Normal file
164
nixos/modules/services/web-apps/wakapi.nix
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.services.wakapi;
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.yaml { };
|
||||||
|
settingsFile = settingsFormat.generate "wakapi-settings" cfg.settings;
|
||||||
|
|
||||||
|
inherit (lib)
|
||||||
|
getExe
|
||||||
|
mkOption
|
||||||
|
mkEnableOption
|
||||||
|
mkPackageOption
|
||||||
|
types
|
||||||
|
mkIf
|
||||||
|
optional
|
||||||
|
mkMerge
|
||||||
|
singleton
|
||||||
|
;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.wakapi = {
|
||||||
|
enable = mkEnableOption "Wakapi";
|
||||||
|
package = mkPackageOption pkgs "wakapi" { };
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
inherit (settingsFormat) type;
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Settings for Wakapi.
|
||||||
|
|
||||||
|
See [config.default.yml](https://github.com/muety/wakapi/blob/master/config.default.yml) for a list of all possible options.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordSalt = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The password salt to use for Wakapi.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
passwordSaltFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The path to a file containing the password salt to use for Wakapi.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpPassword = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The password used for the smtp mailed to used by Wakapi.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
smtpPasswordFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The path to a file containing the password for the smtp mailer used by Wakapi.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.wakapi = {
|
||||||
|
description = "Wakapi (self-hosted WakaTime-compatible backend)";
|
||||||
|
wants = [
|
||||||
|
"network-online.target"
|
||||||
|
] ++ optional (cfg.settings.db.dialect == "postgres") "postgresql.service";
|
||||||
|
after = [
|
||||||
|
"network-online.target"
|
||||||
|
] ++ optional (cfg.settings.db.dialect == "postgres") "postgresql.service";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
exec ${getExe cfg.package} -config ${settingsFile}
|
||||||
|
'';
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Environment = mkMerge [
|
||||||
|
(mkIf (cfg.passwordSalt != null) "WAKAPI_PASSWORD_SALT=${cfg.passwordSalt}")
|
||||||
|
(mkIf (cfg.smtpPassword != null) "WAKAPI_MAIL_SMTP_PASS=${cfg.smtpPassword}")
|
||||||
|
];
|
||||||
|
EnvironmentFile = [
|
||||||
|
(optional (cfg.passwordSaltFile != null) cfg.passwordSaltFile)
|
||||||
|
(optional (cfg.smtpPasswordFile != null) cfg.smtpPasswordFile)
|
||||||
|
];
|
||||||
|
|
||||||
|
User = config.users.users.wakapi.name;
|
||||||
|
Group = config.users.users.wakapi.group;
|
||||||
|
|
||||||
|
DynamicUser = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
"AF_UNIX"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
StateDirectoryMode = "0700";
|
||||||
|
Restart = "always";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.wakapi.settings = {
|
||||||
|
env = lib.mkDefault "production";
|
||||||
|
};
|
||||||
|
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.passwordSalt != null || cfg.passwordSaltFile != null;
|
||||||
|
message = "Either `services.wakapi.passwordSalt` or `services.wakapi.passwordSaltFile` must be set.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.passwordSalt != null -> cfg.passwordSaltFile != null;
|
||||||
|
message = "Both `services.wakapi.passwordSalt` `services.wakapi.passwordSaltFile` should not be set at the same time.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.smtpPassword != null -> cfg.smtpPasswordFile != null;
|
||||||
|
message = "Both `services.wakapi.smtpPassword` `services.wakapi.smtpPasswordFile` should not be set at the same time.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
users = {
|
||||||
|
users.wakapi = {
|
||||||
|
group = "wakapi";
|
||||||
|
createHome = false;
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
groups.wakapi = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
services.postgresql = mkIf (cfg.settings.db.dialect == "postgres") {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
ensureDatabases = singleton cfg.settings.db.name;
|
||||||
|
ensureUsers = singleton {
|
||||||
|
name = cfg.settings.db.user;
|
||||||
|
ensureDBOwnership = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
authentication = ''
|
||||||
|
host ${cfg.settings.db.name} ${cfg.settings.db.user} 127.0.0.1/32 trust
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ isabelroses ];
|
||||||
|
}
|
|
@ -33,6 +33,7 @@ CAN_TOUCH_EFI_VARIABLES = "@canTouchEfiVariables@"
|
||||||
GRACEFUL = "@graceful@"
|
GRACEFUL = "@graceful@"
|
||||||
COPY_EXTRA_FILES = "@copyExtraFiles@"
|
COPY_EXTRA_FILES = "@copyExtraFiles@"
|
||||||
CHECK_MOUNTPOINTS = "@checkMountpoints@"
|
CHECK_MOUNTPOINTS = "@checkMountpoints@"
|
||||||
|
STORE_DIR = "@storeDir@"
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class BootSpec:
|
class BootSpec:
|
||||||
|
@ -106,7 +107,7 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str
|
||||||
if not EDITOR:
|
if not EDITOR:
|
||||||
f.write("editor 0\n")
|
f.write("editor 0\n")
|
||||||
if REBOOT_FOR_BITLOCKER:
|
if REBOOT_FOR_BITLOCKER:
|
||||||
f.write("reboot-for-bitlocker yes\n");
|
f.write("reboot-for-bitlocker yes\n")
|
||||||
f.write(f"console-mode {CONSOLE_MODE}\n")
|
f.write(f"console-mode {CONSOLE_MODE}\n")
|
||||||
f.flush()
|
f.flush()
|
||||||
os.fsync(f.fileno())
|
os.fsync(f.fileno())
|
||||||
|
@ -150,12 +151,13 @@ def bootspec_from_json(bootspec_json: dict[str, Any]) -> BootSpec:
|
||||||
def copy_from_file(file: str, dry_run: bool = False) -> str:
|
def copy_from_file(file: str, dry_run: bool = False) -> str:
|
||||||
store_file_path = os.path.realpath(file)
|
store_file_path = os.path.realpath(file)
|
||||||
suffix = os.path.basename(store_file_path)
|
suffix = os.path.basename(store_file_path)
|
||||||
store_dir = os.path.basename(os.path.dirname(store_file_path))
|
store_subdir = os.path.relpath(store_file_path, start=STORE_DIR).split(os.path.sep)[0]
|
||||||
efi_file_path = f"{NIXOS_DIR}/{store_dir}-{suffix}.efi"
|
efi_file_path = f"{NIXOS_DIR}/{suffix}.efi" if suffix == store_subdir else f"{NIXOS_DIR}/{store_subdir}-{suffix}.efi"
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
copy_if_not_exists(store_file_path, f"{BOOT_MOUNT_POINT}{efi_file_path}")
|
copy_if_not_exists(store_file_path, f"{BOOT_MOUNT_POINT}{efi_file_path}")
|
||||||
return efi_file_path
|
return efi_file_path
|
||||||
|
|
||||||
|
|
||||||
def write_entry(profile: str | None, generation: int, specialisation: str | None,
|
def write_entry(profile: str | None, generation: int, specialisation: str | None,
|
||||||
machine_id: str, bootspec: BootSpec, current: bool) -> None:
|
machine_id: str, bootspec: BootSpec, current: bool) -> None:
|
||||||
if specialisation:
|
if specialisation:
|
||||||
|
|
|
@ -28,6 +28,8 @@ let
|
||||||
|
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
|
|
||||||
|
inherit (builtins) storeDir;
|
||||||
|
|
||||||
inherit (pkgs) python3;
|
inherit (pkgs) python3;
|
||||||
|
|
||||||
systemd = config.systemd.package;
|
systemd = config.systemd.package;
|
||||||
|
|
|
@ -200,7 +200,7 @@ in
|
||||||
)
|
)
|
||||||
'' + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 ''
|
'' + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 ''
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"grep 'devicetree .*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
|
r"grep 'devicetree /EFI/nixos/[a-z0-9]\{32\}.*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||||
nodes.machine = { pkgs, ... }: {
|
nodes.machine = { pkgs, ... }: {
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
glxinfo
|
mesa-demos
|
||||||
procps # for `pkill`, `pidof` in the test
|
procps # for `pkill`, `pidof` in the test
|
||||||
scrot # for screenshotting Xorg
|
scrot # for screenshotting Xorg
|
||||||
turbovnc
|
turbovnc
|
||||||
|
|
|
@ -33,13 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||||
|
|
||||||
postBuild = lib.optionalString stdenv.isDarwin ''
|
postBuild = lib.optionalString stdenv.isDarwin ''
|
||||||
cp -R ${electron}/Applications/Electron.app Electron.app
|
cp -R ${electron.dist}/Electron.app Electron.app
|
||||||
chmod -R u+w Electron.app
|
chmod -R u+w Electron.app
|
||||||
'' + ''
|
'' + ''
|
||||||
pnpm build
|
pnpm build
|
||||||
./node_modules/.bin/electron-builder \
|
./node_modules/.bin/electron-builder \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
|
-c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
, file
|
, file
|
||||||
, fontsConf
|
, fontsConf
|
||||||
, git
|
, git
|
||||||
, glxinfo
|
|
||||||
, gnugrep
|
, gnugrep
|
||||||
, gnused
|
, gnused
|
||||||
, gnutar
|
, gnutar
|
||||||
|
@ -30,6 +29,7 @@
|
||||||
, libX11
|
, libX11
|
||||||
, libxcb
|
, libxcb
|
||||||
, libxkbcommon
|
, libxkbcommon
|
||||||
|
, mesa-demos
|
||||||
, xcbutilwm
|
, xcbutilwm
|
||||||
, xcbutilrenderutil
|
, xcbutilrenderutil
|
||||||
, xcbutilkeysyms
|
, xcbutilkeysyms
|
||||||
|
@ -107,7 +107,7 @@ let
|
||||||
|
|
||||||
# For Android emulator
|
# For Android emulator
|
||||||
file
|
file
|
||||||
glxinfo
|
mesa-demos
|
||||||
pciutils
|
pciutils
|
||||||
setxkbmap
|
setxkbmap
|
||||||
|
|
||||||
|
|
68
pkgs/applications/emulators/retroarch/README.md
Normal file
68
pkgs/applications/emulators/retroarch/README.md
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# RetroArch
|
||||||
|
|
||||||
|
This directory includes [RetroArch](https://www.retroarch.com/), [libretro
|
||||||
|
cores](https://docs.libretro.com/guides/core-list/) and related packages.
|
||||||
|
|
||||||
|
## Adding new cores
|
||||||
|
|
||||||
|
The basic steps to add a new core are:
|
||||||
|
|
||||||
|
1. Add the core repository to [update_cores.py](./update_cores.py) inside the
|
||||||
|
`CORES` map.
|
||||||
|
- The minimum required parameter is `repo`
|
||||||
|
- If the repository owner is not `libretro`, set `owner` parameter
|
||||||
|
- If the core needs submodules, set `fetch_submodules` parameter to `True`
|
||||||
|
- To pin the core to a specific release, set `rev` parameter
|
||||||
|
2. Run `./pkgs/applications/emulators/retroarch/update_cores.py <emulator>` to
|
||||||
|
generate [`hashes.json`](./hashes.json) file
|
||||||
|
3. Add your new core to [`cores.nix`](./cores.nix) file, using
|
||||||
|
[`mkLibretroCore`](./mkLibretroCore.nix) function
|
||||||
|
- In general, the attribute name should be the same as the repo name, unless
|
||||||
|
there is a good reason not to
|
||||||
|
- Check the core repo and [Libretro
|
||||||
|
documentation](https://docs.libretro.com/) for the core you're trying to add
|
||||||
|
for instructions on how to build
|
||||||
|
- Also check the examples inside [`cores.nix`](./cores.nix)
|
||||||
|
- If your core is recently released, there is a good chance that you may
|
||||||
|
need to update [`libretro-core-info`](./libretro-core-info.nix) for things
|
||||||
|
to work inside RetroArch
|
||||||
|
4. Try to build your core with `nix-build -A libretro.<core>`
|
||||||
|
|
||||||
|
## Updating cores
|
||||||
|
|
||||||
|
Just run:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# From the root of your nixpkgs directory
|
||||||
|
./pkgs/applications/emulators/retroarch/update_cores.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
Keep in mind that because of the huge amount of cores that we package here, it
|
||||||
|
is recommended to set `GITHUB_TOKEN` to your GitHub's [Personal Access
|
||||||
|
Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
|
||||||
|
(PAT), otherwise the update will probably fail due to GitHub's API rate limit.
|
||||||
|
|
||||||
|
## Using RetroArch with cores
|
||||||
|
|
||||||
|
To create a custom RetroArch derivation with the cores you want (instead of
|
||||||
|
using `retroarchFull` that includes all cores), you can use `.override` like
|
||||||
|
this:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
retroarchWithCores = (pkgs.retroarch.override {
|
||||||
|
cores = with pkgs.libretro; [
|
||||||
|
bsnes
|
||||||
|
mgba
|
||||||
|
quicknes
|
||||||
|
];
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
retroarchWithCores
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
|
@ -63,14 +63,14 @@ stdenv.mkDerivation rec {
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
cp -R ${electron}/Applications/Electron.app Electron.app
|
cp -R ${electron.dist}/Electron.app Electron.app
|
||||||
chmod -R u+w Electron.app
|
chmod -R u+w Electron.app
|
||||||
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
||||||
sed -i "/afterSign/d" electron-builder-linux-mac.json
|
sed -i "/afterSign/d" electron-builder-linux-mac.json
|
||||||
'' + ''
|
'' + ''
|
||||||
yarn --offline run electron-builder --dir \
|
yarn --offline run electron-builder --dir \
|
||||||
${if stdenv.isDarwin then "--config electron-builder-linux-mac.json" else ""} \
|
${lib.optionalString stdenv.isDarwin "--config electron-builder-linux-mac.json"} \
|
||||||
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
|
-c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
, kauth
|
, kauth
|
||||||
, libdrm
|
, libdrm
|
||||||
, hwdata
|
, hwdata
|
||||||
, glxinfo
|
, mesa-demos
|
||||||
, polkit
|
, polkit
|
||||||
, procps
|
, procps
|
||||||
, pugixml
|
, pugixml
|
||||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec{
|
||||||
karchive
|
karchive
|
||||||
kauth
|
kauth
|
||||||
libdrm
|
libdrm
|
||||||
glxinfo
|
mesa-demos
|
||||||
polkit
|
polkit
|
||||||
procps
|
procps
|
||||||
pugixml
|
pugixml
|
||||||
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec{
|
||||||
"-DPOLKIT_POLICY_INSTALL_DIR=${placeholder "out"}/share/polkit-1/actions"
|
"-DPOLKIT_POLICY_INSTALL_DIR=${placeholder "out"}/share/polkit-1/actions"
|
||||||
];
|
];
|
||||||
|
|
||||||
runtimeDeps = [ hwdata glxinfo vulkan-tools util-linux procps ];
|
runtimeDeps = [ hwdata mesa-demos vulkan-tools util-linux procps ];
|
||||||
binPath = lib.makeBinPath runtimeDeps;
|
binPath = lib.makeBinPath runtimeDeps;
|
||||||
|
|
||||||
dontWrapQtApps = true;
|
dontWrapQtApps = true;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
, wrapGAppsHook4
|
, wrapGAppsHook4
|
||||||
, gdk-pixbuf
|
, gdk-pixbuf
|
||||||
, lsb-release
|
, lsb-release
|
||||||
, glxinfo
|
, mesa-demos
|
||||||
, vdpauinfo
|
, vdpauinfo
|
||||||
, clinfo
|
, clinfo
|
||||||
}:
|
}:
|
||||||
|
@ -55,7 +55,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \
|
makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \
|
||||||
--prefix PATH : "${lib.makeBinPath [ clinfo glxinfo lsb-release vdpauinfo vulkan-tools ]}" \
|
--prefix PATH : "${lib.makeBinPath [ clinfo lsb-release mesa-demos vdpauinfo vulkan-tools ]}" \
|
||||||
--add-flags "$out/share/gpu-viewer/Files/GPUViewer.py" \
|
--add-flags "$out/share/gpu-viewer/Files/GPUViewer.py" \
|
||||||
--prefix PYTHONPATH : "$PYTHONPATH" \
|
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||||
--chdir "$out/share/gpu-viewer/Files" \
|
--chdir "$out/share/gpu-viewer/Files" \
|
||||||
|
|
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||||
yarnBuildScript = "electron-builder";
|
yarnBuildScript = "electron-builder";
|
||||||
yarnBuildFlags = [
|
yarnBuildFlags = [
|
||||||
"--dir"
|
"--dir"
|
||||||
"-c.electronDist=${electron}/libexec/electron"
|
"-c.electronDist=${electron.dist}"
|
||||||
"-c.electronVersion=${electron.version}"
|
"-c.electronVersion=${electron.version}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
, xrandr
|
, xrandr
|
||||||
, pciutils
|
, pciutils
|
||||||
, psmisc
|
, psmisc
|
||||||
, glxinfo
|
, mesa-demos
|
||||||
, vulkan-tools
|
, vulkan-tools
|
||||||
, xboxdrv
|
, xboxdrv
|
||||||
, pulseaudio
|
, pulseaudio
|
||||||
|
@ -58,7 +58,7 @@ let
|
||||||
xrandr
|
xrandr
|
||||||
pciutils
|
pciutils
|
||||||
psmisc
|
psmisc
|
||||||
glxinfo
|
mesa-demos
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
xboxdrv
|
xboxdrv
|
||||||
pulseaudio
|
pulseaudio
|
||||||
|
|
|
@ -172,6 +172,46 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
firmwareupdater = buildPlugin rec {
|
||||||
|
pname = "firmwareupdater";
|
||||||
|
version = "1.14.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "OctoPrint";
|
||||||
|
repo = "OctoPrint-FirmwareUpdater";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-CUNjM/IJJS/lqccZ2B0mDOzv3k8AgmDreA/X9wNJ7iY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ pyserial ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Printer Firmware Updater";
|
||||||
|
homepage = "https://github.com/OctoPrint/OctoPrint-FirmwareUpdater";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fullscreen = buildPlugin rec {
|
||||||
|
pname = "fullscreen";
|
||||||
|
version = "0.0.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "BillyBlaze";
|
||||||
|
repo = "OctoPrint-FullScreen";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-Z8twpj+gqgbiWWxNd9I9qflEAln5Obpb3cn34KwSc5A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Open webcam in fullscreen mode";
|
||||||
|
homepage = "https://github.com/BillyBlaze/OctoPrint-FullScreen";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
gcodeeditor = buildPlugin rec {
|
gcodeeditor = buildPlugin rec {
|
||||||
pname = "gcodeeditor";
|
pname = "gcodeeditor";
|
||||||
version = "0.2.12";
|
version = "0.2.12";
|
||||||
|
@ -231,15 +271,102 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mqttchambertemperature = buildPlugin rec {
|
||||||
|
pname = "mqttchambertemperature";
|
||||||
|
version = "0.0.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "synman";
|
||||||
|
repo = "OctoPrint-MqttChamberTemperature";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-CvNpi8HcBBUfCs3X8yflbhe0YCU0kW3u2ADSro/qnuI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ jsonpath-ng ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Enables Chamber temperature reporting via subscribing to an MQTT topic";
|
||||||
|
homepage = "https://github.com/synman/OctoPrint-MqttChamberTemperature";
|
||||||
|
license = licenses.wtfpl;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
navbartemp = buildPlugin rec {
|
||||||
|
pname = "navbartemp";
|
||||||
|
version = "0.15";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "imrahil";
|
||||||
|
repo = "OctoPrint-NavbarTemp";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-ZPpTx+AadRffUb53sZbMUbCZa7xYGQW/5si7UB8mnVI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Displays temperatures on navbar";
|
||||||
|
homepage = "https://github.com/imrahil/OctoPrint-NavbarTemp";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
obico = buildPlugin rec {
|
||||||
|
pname = "obico";
|
||||||
|
version = "2.5.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "TheSpaghettiDetective";
|
||||||
|
repo = "OctoPrint-Obico";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-cAUXe/lRTqYuWnrRiNDuDjcayL5yV9/PtTd9oeSC8KA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [
|
||||||
|
backoff
|
||||||
|
sentry-sdk
|
||||||
|
bson
|
||||||
|
distro
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Monitor Octoprint-connected printers with Obico";
|
||||||
|
homepage = "https://www.obico.io/";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
octopod = buildPlugin rec {
|
||||||
|
pname = "octopod";
|
||||||
|
version = "0.3.16";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "gdombiak";
|
||||||
|
repo = "OctoPrint-OctoPod";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-9QKC1MsYO3XihOTAijJUv5i20iMSQHOHPfLiYPV5y8s=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ pillow ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "OctoPod extension for OctoPrint";
|
||||||
|
homepage = "https://github.com/gdombiak/OctoPrint-OctoPod";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
printtimegenius = buildPlugin rec {
|
printtimegenius = buildPlugin rec {
|
||||||
pname = "printtimegenius";
|
pname = "printtimegenius";
|
||||||
version = "2.3.1";
|
version = "2.3.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eyal0";
|
owner = "eyal0";
|
||||||
repo = "OctoPrint-PrintTimeGenius";
|
repo = "OctoPrint-PrintTimeGenius";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-2lxaTcmPBSdfMmViIfLEbeYWfXZpNVAO4i5Z678gWy0=";
|
sha256 = "sha256-hqm8RShCNpsVbrVXquat5VXqcVc7q5tn5+7Ipqmaw4U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with super; [
|
propagatedBuildInputs = with super; [
|
||||||
|
@ -261,6 +388,27 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
prusaslicerthumbnails = buildPlugin rec {
|
||||||
|
pname = "prusaslicerthumbnails";
|
||||||
|
version = "1.0.7";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jneilliii";
|
||||||
|
repo = "OctoPrint-PrusaSlicerThumbnails";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-waNCTjAZwdBfhHyJCG2La7KTnJ8MDVuX1JLetFB5bS4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ psutil ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Plugin that extracts thumbnails from uploaded gcode files sliced by PrusaSlicer";
|
||||||
|
homepage = "https://github.com/jneilliii/OctoPrint-PrusaSlicerThumbnails";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
psucontrol = buildPlugin rec {
|
psucontrol = buildPlugin rec {
|
||||||
pname = "psucontrol";
|
pname = "psucontrol";
|
||||||
version = "1.0.6";
|
version = "1.0.6";
|
||||||
|
@ -289,6 +437,27 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
resource-monitor = buildPlugin rec {
|
||||||
|
pname = "resource-monitor";
|
||||||
|
version = "0.3.16";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Renaud11232";
|
||||||
|
repo = "OctoPrint-Resource-Monitor";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-w1PBxO+Qf7cSSNocu7BiulZE7kesSa+LGV3uJlmd0ao=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ psutil ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Plugin to view the current CPU and RAM usage on your system";
|
||||||
|
homepage = "https://github.com/Renaud11232/OctoPrint-Resource-Monitor";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
simpleemergencystop = buildPlugin rec {
|
simpleemergencystop = buildPlugin rec {
|
||||||
pname = "simpleemergencystop";
|
pname = "simpleemergencystop";
|
||||||
version = "1.0.5";
|
version = "1.0.5";
|
||||||
|
@ -367,6 +536,25 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
timelapsepurger = buildPlugin rec {
|
||||||
|
pname = "firmwareupdater";
|
||||||
|
version = "0.1.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jneilliii";
|
||||||
|
repo = "OctoPrint-TimelapsePurger";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-XS4m4KByScGTPfVE4kuRLw829gNE2CdM0RyhRqGGxyw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Automatically deletes timelapses that are older than configured timeframe";
|
||||||
|
homepage = "https://github.com/jneilliii/OctoPrint-TimelapsePurger";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ tri-ler ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
titlestatus = buildPlugin rec {
|
titlestatus = buildPlugin rec {
|
||||||
pname = "titlestatus";
|
pname = "titlestatus";
|
||||||
version = "0.0.5";
|
version = "0.0.5";
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pgmodeler";
|
pname = "pgmodeler";
|
||||||
version = "1.1.3";
|
version = "1.1.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pgmodeler";
|
owner = "pgmodeler";
|
||||||
repo = "pgmodeler";
|
repo = "pgmodeler";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-LDgRv7Todyy2pnE21Z0O5JQ6mE4ZO3THv6rfEWU66Cc=";
|
sha256 = "sha256-axw0/QFQfnEc2P8tFRtSY5vVUJTqv+kRn68GXdZ5SeQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];
|
nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, cabextract
|
, cabextract
|
||||||
, gettext
|
, gettext
|
||||||
, glxinfo
|
|
||||||
, gnupg
|
, gnupg
|
||||||
, icoutils
|
, icoutils
|
||||||
, imagemagick
|
, imagemagick
|
||||||
|
, mesa-demos
|
||||||
, netcat-gnu
|
, netcat-gnu
|
||||||
, p7zip
|
, p7zip
|
||||||
, python3
|
, python3
|
||||||
|
@ -37,10 +37,10 @@ let
|
||||||
cabextract
|
cabextract
|
||||||
python
|
python
|
||||||
gettext
|
gettext
|
||||||
glxinfo
|
|
||||||
gnupg
|
gnupg
|
||||||
icoutils
|
icoutils
|
||||||
imagemagick
|
imagemagick
|
||||||
|
mesa-demos
|
||||||
netcat-gnu
|
netcat-gnu
|
||||||
p7zip
|
p7zip
|
||||||
unzip
|
unzip
|
||||||
|
|
|
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||||
yarn run nextron build --no-pack
|
yarn run nextron build --no-pack
|
||||||
yarn run electron-builder --dir \
|
yarn run electron-builder --dir \
|
||||||
--config electron-builder.yml \
|
--config electron-builder.yml \
|
||||||
-c.electronDist="${electron}/libexec/electron" \
|
-c.electronDist="${electron.dist}" \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "xca";
|
pname = "xca";
|
||||||
version = "2.6.0";
|
version = "2.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "chris2511";
|
owner = "chris2511";
|
||||||
repo = "xca";
|
repo = "xca";
|
||||||
rev = "RELEASE.${finalAttrs.version}";
|
rev = "RELEASE.${finalAttrs.version}";
|
||||||
hash = "sha256-E0Ap+JDK/oYTG+uaRHsdOxyLIywlYJ01T4ANQhNH220=";
|
hash = "sha256-Ty6j0Fl2smMGxp+1nnD3Fu83bn19gqtRKSA1wDgNZes=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openssl qtbase ];
|
buildInputs = [ openssl qtbase ];
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "arkade";
|
pname = "arkade";
|
||||||
version = "0.11.20";
|
version = "0.11.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alexellis";
|
owner = "alexellis";
|
||||||
repo = "arkade";
|
repo = "arkade";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-xjJbO+42PUuRb4vMSKscTf2DEDekSwEF/v2QwKeBtvI=";
|
hash = "sha256-vNJQLrpPJJG5FjQ73203V/Ky93HawRWgMiPYHU+eXPM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
CGO_ENABLED = 0;
|
CGO_ENABLED = 0;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ buildGoModule, lib, fetchFromGitHub }:
|
{ buildGoModule, lib, fetchFromGitHub }:
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "tfswitch";
|
pname = "tfswitch";
|
||||||
version = "1.0.2";
|
version = "1.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "warrensbox";
|
owner = "warrensbox";
|
||||||
repo = "terraform-switcher";
|
repo = "terraform-switcher";
|
||||||
rev = version;
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Gp7+TEE7rmlabZhley/crpYZiqiKcc6uqSr6leZsmgU=";
|
sha256 = "sha256-Ym0ypMfoceOvje1z1oCxjnFrl1oosMFSplM7bhI0KXU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-DsC9djgt7Er2m2TacUldpJP43jC0IBklPnu41Saf4DY=";
|
vendorHash = "sha256-44A9fF+HIOJrlxpps6GV3yjPBqfpwOhEZ8Ejnp2o/wk=";
|
||||||
|
|
||||||
# Disable tests since it requires network access and relies on the
|
# Disable tests since it requires network access and relies on the
|
||||||
# presence of release.hashicorp.com
|
# presence of release.hashicorp.com
|
||||||
|
|
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist="${electron_30}/libexec/electron" \
|
-c.electronDist="${electron_30.dist}" \
|
||||||
-c.electronVersion="${electron_30.version}"
|
-c.electronVersion="${electron_30.version}"
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -68,14 +68,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jami";
|
pname = "jami";
|
||||||
version = "20240813.0";
|
version = "20240823.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "git.jami.net";
|
domain = "git.jami.net";
|
||||||
owner = "savoirfairelinux";
|
owner = "savoirfairelinux";
|
||||||
repo = "jami-client-qt";
|
repo = "jami-client-qt";
|
||||||
rev = "stable/${version}";
|
rev = "stable/${version}";
|
||||||
hash = "sha256-XRWbV1s87niwNiWf2KRpV+wUH6ptw3vnVXCEwqh2r7M=";
|
hash = "sha256-7jGH54sFiS6qrdEiKSS64lJyJXL1FOJVbesxo/FFmyA=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,6 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (darwin.apple_sdk.frameworks) Carbon CoreFoundation ApplicationServices OpenGL;
|
inherit (darwin.apple_sdk.frameworks) Carbon CoreFoundation ApplicationServices OpenGL;
|
||||||
|
|
||||||
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
|
|
||||||
in
|
in
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "jitsi-meet-electron";
|
pname = "jitsi-meet-electron";
|
||||||
|
@ -70,7 +68,7 @@ buildNpmPackage rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
|
|
||||||
# npmRebuild is needed because robotjs won't be built on darwin otherwise
|
# npmRebuild is needed because robotjs won't be built on darwin otherwise
|
||||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
yarn --offline electron-builder \
|
yarn --offline electron-builder \
|
||||||
--dir ${if stdenv.isDarwin then "--macos" else "--linux"} ${if stdenv.hostPlatform.isAarch64 then "--arm64" else "--x64"} \
|
--dir ${if stdenv.isDarwin then "--macos" else "--linux"} ${if stdenv.hostPlatform.isAarch64 then "--arm64" else "--x64"} \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -8,6 +8,8 @@ buildGoModule rec {
|
||||||
pname = "rclone";
|
pname = "rclone";
|
||||||
version = "1.67.0";
|
version = "1.67.0";
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rclone";
|
owner = "rclone";
|
||||||
repo = "rclone";
|
repo = "rclone";
|
||||||
|
@ -19,15 +21,19 @@ buildGoModule rec {
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
outputs = [ "out" "man" ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
|
|
||||||
buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
|
buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
|
||||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
|
||||||
|
|
||||||
tags = lib.optionals enableCmount [ "cmount" ];
|
tags = lib.optionals enableCmount [ "cmount" ];
|
||||||
|
|
||||||
ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ];
|
ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ];
|
||||||
|
|
||||||
|
postConfigure = lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
substituteInPlace vendor/github.com/winfsp/cgofuse/fuse/host_cgo.go \
|
||||||
|
--replace-fail '"libfuse.so.2"' '"${lib.getLib fuse}/lib/libfuse.so.2"'
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
let
|
let
|
||||||
rcloneBin =
|
rcloneBin =
|
||||||
|
@ -50,8 +56,7 @@ buildGoModule rec {
|
||||||
# as the setuid wrapper is required as non-root on NixOS.
|
# as the setuid wrapper is required as non-root on NixOS.
|
||||||
''
|
''
|
||||||
wrapProgram $out/bin/rclone \
|
wrapProgram $out/bin/rclone \
|
||||||
--suffix PATH : "${lib.makeBinPath [ fuse3 ] }" \
|
--suffix PATH : "${lib.makeBinPath [ fuse3 ] }"
|
||||||
--prefix LD_LIBRARY_PATH : "${fuse3}/lib"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
|
|
|
@ -33,14 +33,14 @@ let
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
hash = {
|
hash = {
|
||||||
x86_64-linux = "sha256-KLOI0lG0rZbLS2uiONNlgyCkohzQhytRovAfrjnGuDI=";
|
x86_64-linux = "sha256-l67oq9Jj2mmxcLsEMI4t+85cKD65xxMNkTNJrrRrwJQ=";
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
displayname = "XPipe";
|
displayname = "XPipe";
|
||||||
|
|
||||||
in stdenvNoCC.mkDerivation rec {
|
in stdenvNoCC.mkDerivation rec {
|
||||||
pname = "xpipe";
|
pname = "xpipe";
|
||||||
version = "10.2.2";
|
version = "11.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
|
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.13.22";
|
version = "5.13.28";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "git-mit";
|
pname = "git-mit";
|
||||||
|
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
||||||
owner = "PurpleBooth";
|
owner = "PurpleBooth";
|
||||||
repo = "git-mit";
|
repo = "git-mit";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-nYKwf0+Ai6GU9CeRKI7NInmkA4yH41tMWoT9S03m0VI=";
|
hash = "sha256-zw1yY/vCrxklmIXGHO5cMOQ9L3xfHD24f2JN7ibF/I8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-dcTyombQBR0IGkK+2GWedFQf/1a74gVUIqM96xVxlj0=";
|
cargoHash = "sha256-pnSp6XCVSxCY7b1LHeQM9/KsjG6sGQoMCPcL8Bby4A4=";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ let
|
||||||
davinci = (
|
davinci = (
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
|
pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
|
||||||
version = "18.6.6";
|
version = "19.0";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
(appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } )
|
(appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } )
|
||||||
|
@ -55,8 +55,8 @@ let
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHash =
|
outputHash =
|
||||||
if studioVariant
|
if studioVariant
|
||||||
then "sha256-9iTdIjHH8uoXlVr6miyqmHuzbbpbqdJPEbPGycsccoI="
|
then "sha256-KxoUXHMlgWoa00GSq/DLVgyOjuv7k8aUwl20XvDRZvc="
|
||||||
else "sha256-WrIQ1FHm65MOGb5HfFl2WzXYJRlqktuZdrtzcjWp1gI=";
|
else "sha256-XQP5RL/p/voQePLiBr1Hc+dBUZHW39XxDjyxKJyKXxw=";
|
||||||
|
|
||||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ let
|
||||||
} ''
|
} ''
|
||||||
DOWNLOADID=$(
|
DOWNLOADID=$(
|
||||||
curl --silent --compressed "$DOWNLOADSURL" \
|
curl --silent --compressed "$DOWNLOADSURL" \
|
||||||
| jq --raw-output '.downloads[] | select(.name | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .urls.Linux[0].downloadId'
|
| jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId'
|
||||||
)
|
)
|
||||||
echo "downloadid is $DOWNLOADID"
|
echo "downloadid is $DOWNLOADID"
|
||||||
test -n "$DOWNLOADID"
|
test -n "$DOWNLOADID"
|
||||||
|
@ -271,13 +271,13 @@ buildFHSEnv {
|
||||||
currentVersion=${lib.escapeShellArg davinci.version}
|
currentVersion=${lib.escapeShellArg davinci.version}
|
||||||
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
|
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
|
||||||
|
|
||||||
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+\.\d+' | sort | tail -n 1)"
|
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
|
||||||
update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
|
update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
|
||||||
|
|
||||||
# Since the standard and studio both use the same version we need to reset it before updating studio
|
# Since the standard and studio both use the same version we need to reset it before updating studio
|
||||||
sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
|
sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
|
||||||
|
|
||||||
latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+\.\d+' | sort | tail -n 1)"
|
latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
|
||||||
update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
|
update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
, libogg, libvorbis, flac, libxslt
|
, libogg, libvorbis, flac, libxslt
|
||||||
, lzo, libcdio, libmodplug, libass, libbluray, libudfread
|
, lzo, libcdio, libmodplug, libass, libbluray, libudfread
|
||||||
, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
|
, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
|
||||||
, curl, bzip2, zip, unzip, glxinfo
|
, curl, bzip2, zip, unzip, mesa-demos
|
||||||
, libcec, libcec_platform, dcadec, libuuid
|
, libcec, libcec_platform, dcadec, libuuid
|
||||||
, libcrossguid, libmicrohttpd
|
, libcrossguid, libmicrohttpd
|
||||||
, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1
|
, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1
|
||||||
|
@ -119,7 +119,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||||
libogg libvorbis flac libxslt systemd
|
libogg libvorbis flac libxslt systemd
|
||||||
lzo libcdio libmodplug libass libbluray libudfread
|
lzo libcdio libmodplug libass libbluray libudfread
|
||||||
sqlite libmysqlclient avahi lame
|
sqlite libmysqlclient avahi lame
|
||||||
curl bzip2 zip unzip glxinfo
|
curl bzip2 zip unzip mesa-demos
|
||||||
libcec libcec_platform dcadec libuuid
|
libcec libcec_platform dcadec libuuid
|
||||||
libxcrypt libgcrypt libgpg-error libunistring
|
libxcrypt libgcrypt libgpg-error libunistring
|
||||||
libcrossguid libplist
|
libcrossguid libplist
|
||||||
|
@ -229,7 +229,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||||
# TODO: figure out which binaries should be wrapped this way and which shouldn't
|
# TODO: figure out which binaries should be wrapped this way and which shouldn't
|
||||||
for p in $(ls --ignore=kodi-send $out/bin/) ; do
|
for p in $(ls --ignore=kodi-send $out/bin/) ; do
|
||||||
wrapProgram $out/bin/$p \
|
wrapProgram $out/bin/$p \
|
||||||
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ]
|
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python mesa-demos ]
|
||||||
++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
|
++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
([ curl systemd libmad libcec libcec_platform libass ]
|
([ curl systemd libmad libcec libcec_platform libass ]
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "motion";
|
pname = "motion";
|
||||||
version = "4.6.0";
|
version = "4.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Motion-Project";
|
owner = "Motion-Project";
|
||||||
repo = "motion";
|
repo = "motion";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "sha256-f23glk91HWSEW/Glq/DdEikTQeg1eELEg4XG9zTsU78=";
|
sha256 = "sha256-bGjiO14a7xKRgoeo5JlexXlKggE+agRMmQViBXagmt8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
|
@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
yarn --offline run build
|
yarn --offline run build
|
||||||
yarn --offline run electron-builder --dir \
|
yarn --offline run electron-builder --dir \
|
||||||
--config .electron-builder.config.cjs \
|
--config .electron-builder.config.cjs \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -120,7 +120,7 @@ in buildNpmPackage rec {
|
||||||
|
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
electron,
|
electron,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
electronDist = "${electron}/${if stdenv.isDarwin then "Applications" else "libexec/electron"}";
|
|
||||||
in
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "blockbench";
|
pname = "blockbench";
|
||||||
version = "4.10.4";
|
version = "4.10.4";
|
||||||
|
@ -45,7 +42,7 @@ buildNpmPackage rec {
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
# electronDist needs to be modifiable on Darwin
|
# electronDist needs to be modifiable on Darwin
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
|
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
|
|
|
@ -103,7 +103,7 @@ buildNpmPackage' rec {
|
||||||
${
|
${
|
||||||
if stdenv.isDarwin then
|
if stdenv.isDarwin then
|
||||||
''
|
''
|
||||||
cp -r ${electron}/Applications/Electron.app ./
|
cp -r ${electron.dist}/Electron.app ./
|
||||||
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
|
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
|
||||||
|
|
||||||
substituteInPlace electron-builder-config.js \
|
substituteInPlace electron-builder-config.js \
|
||||||
|
@ -121,7 +121,7 @@ buildNpmPackage' rec {
|
||||||
''
|
''
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version} \
|
-c.electronVersion=${electron.version} \
|
||||||
-c.npmRebuild=false
|
-c.npmRebuild=false
|
||||||
''
|
''
|
||||||
|
|
|
@ -8,9 +8,6 @@
|
||||||
electron,
|
electron,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
|
|
||||||
in
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "caprine";
|
pname = "caprine";
|
||||||
version = "2.60.1";
|
version = "2.60.1";
|
||||||
|
@ -29,7 +26,7 @@ buildNpmPackage rec {
|
||||||
nativeBuildInputs = [ copyDesktopItems ];
|
nativeBuildInputs = [ copyDesktopItems ];
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
|
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
|
|
|
@ -17,16 +17,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "eza";
|
pname = "eza";
|
||||||
version = "0.19.0";
|
version = "0.19.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eza-community";
|
owner = "eza-community";
|
||||||
repo = "eza";
|
repo = "eza";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-FhtgqfPQRUsnyi/qEe0PPtRfJIUa4UaNbvrkPvZpsQk=";
|
hash = "sha256-VV8tqVJq+bsgfdNSxSzo1vqYtYT37D2pBX4HydY6cKs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-z1jrCUstQk272EEeqcjGhm5b/YaxTFw21F+AbguMdmo=";
|
cargoHash = "sha256-SUvQxW3STsP1VrPJKK2NYbApuoGfbmfUiywZILvcvj4=";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
|
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
|
||||||
buildInputs = [ zlib ]
|
buildInputs = [ zlib ]
|
||||||
|
|
|
@ -79,7 +79,7 @@ buildNpmPackage {
|
||||||
postBuild =
|
postBuild =
|
||||||
lib.optionalString stdenv.isDarwin ''
|
lib.optionalString stdenv.isDarwin ''
|
||||||
# electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
|
# electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
|
||||||
cp -r ${electron}/Applications/Electron.app ./
|
cp -r ${electron.dist}/Electron.app ./
|
||||||
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
|
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
|
||||||
|
|
||||||
# Disable code signing during build on macOS.
|
# Disable code signing during build on macOS.
|
||||||
|
@ -90,7 +90,7 @@ buildNpmPackage {
|
||||||
+ ''
|
+ ''
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist=${if stdenv.isDarwin then "./" else "${electron}/libexec/electron"} \
|
-c.electronDist=${if stdenv.isDarwin then "./" else electron.dist} \
|
||||||
-c.electronVersion=${electron.version} \
|
-c.electronVersion=${electron.version} \
|
||||||
-c.npmRebuild=false
|
-c.npmRebuild=false
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "flarectl";
|
pname = "flarectl";
|
||||||
version = "0.102.0";
|
version = "0.103.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cloudflare";
|
owner = "cloudflare";
|
||||||
repo = "cloudflare-go";
|
repo = "cloudflare-go";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-i/JWbi8itjcFklknFGB23DtYh4+jd+2YMQysHtS3qf8=";
|
hash = "sha256-mYdZgHJz2Ajrk/JRbaDeghm39PWidnAIZvjJTvl8lpM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-4tJATAvWpWq1aTtV4ERTHF6S2D0azC3HlrwxkLIGT7s=";
|
vendorHash = "sha256-R3By8/cR4pZQgUSyNGDnnvWwcpZqraqk5GRZ8Om9JOU=";
|
||||||
|
|
||||||
subPackages = [ "cmd/flarectl" ];
|
subPackages = [ "cmd/flarectl" ];
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist="${electron}/libexec/electron" \
|
-c.electronDist="${electron.dist}" \
|
||||||
-c.electronVersion="${electron.version}"
|
-c.electronVersion="${electron.version}"
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -13,9 +13,6 @@
|
||||||
electron,
|
electron,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "koodo-reader";
|
pname = "koodo-reader";
|
||||||
version = "1.6.7";
|
version = "1.6.7";
|
||||||
|
@ -52,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
env.CSC_IDENTITY_AUTO_DISCOVERY = "false";
|
env.CSC_IDENTITY_AUTO_DISCOVERY = "false";
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
yarn --offline run electron-builder --dir \
|
yarn --offline run electron-builder --dir \
|
||||||
-c.electronDist=electron-dist \
|
-c.electronDist=electron-dist \
|
||||||
|
@ -117,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${finalAttrs.version}";
|
changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${finalAttrs.version}";
|
||||||
description = "A cross-platform ebook reader";
|
description = "Cross-platform ebook reader";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
A modern ebook manager and reader with sync and backup capacities
|
A modern ebook manager and reader with sync and backup capacities
|
||||||
for Windows, macOS, Linux and Web
|
for Windows, macOS, Linux and Web
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "lxgw-neoxihei";
|
pname = "lxgw-neoxihei";
|
||||||
version = "1.200";
|
version = "1.201";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
||||||
hash = "sha256-8m+19lJNdg+mBvvHAig8NyZ4AOC2NE3k7rll7u32cuw=";
|
hash = "sha256-2w25Jvbx7u9O0azsvLSX1TxfXANVNdfzjfNALhsxUZI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
|
|
@ -12,9 +12,6 @@
|
||||||
makeDesktopItem,
|
makeDesktopItem,
|
||||||
copyDesktopItems,
|
copyDesktopItems,
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
|
|
||||||
in
|
|
||||||
# NOTE mqtt-explorer has 3 yarn subpackages and uses relative links
|
# NOTE mqtt-explorer has 3 yarn subpackages and uses relative links
|
||||||
# between them, which makes it hard to package them via 3 `mkYarnPackage`
|
# between them, which makes it hard to package them via 3 `mkYarnPackage`
|
||||||
# since the resulting `node_modules` directories don't have the same structure
|
# since the resulting `node_modules` directories don't have the same structure
|
||||||
|
@ -88,7 +85,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patchShebangs {node_modules,app/node_modules,backend/node_modules}
|
patchShebangs {node_modules,app/node_modules,backend/node_modules}
|
||||||
|
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
|
|
|
@ -10,18 +10,17 @@
|
||||||
libICE,
|
libICE,
|
||||||
libSM,
|
libSM,
|
||||||
libX11,
|
libX11,
|
||||||
nexusmods-app,
|
|
||||||
runCommand,
|
runCommand,
|
||||||
pname ? "nexusmods-app",
|
pname ? "nexusmods-app",
|
||||||
}:
|
}:
|
||||||
buildDotnetModule rec {
|
buildDotnetModule (finalAttrs: {
|
||||||
inherit pname;
|
inherit pname;
|
||||||
version = "0.4.1";
|
version = "0.4.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Nexus-Mods";
|
owner = "Nexus-Mods";
|
||||||
repo = "NexusMods.App";
|
repo = "NexusMods.App";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-FzQphMhiC1g+6qmk/R1v4rq2ldy35NcaWm0RR1UlwLA=";
|
hash = "sha256-FzQphMhiC1g+6qmk/R1v4rq2ldy35NcaWm0RR1UlwLA=";
|
||||||
};
|
};
|
||||||
|
@ -54,10 +53,13 @@ buildDotnetModule rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeWrapperArgs = [
|
makeWrapperArgs = [
|
||||||
"--prefix PATH : ${lib.makeBinPath [ desktop-file-utils ]}"
|
"--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeInputs}"
|
||||||
"--set APPIMAGE ${placeholder "out"}/bin/${meta.mainProgram}" # Make associating with nxm links work on Linux
|
# Make associating with nxm links work on Linux
|
||||||
|
"--set APPIMAGE ${placeholder "out"}/bin/NexusMods.App"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
runtimeInputs = [ desktop-file-utils ];
|
||||||
|
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
fontconfig
|
fontconfig
|
||||||
libICE
|
libICE
|
||||||
|
@ -65,7 +67,7 @@ buildDotnetModule rec {
|
||||||
libX11
|
libX11
|
||||||
];
|
];
|
||||||
|
|
||||||
executables = [ meta.mainProgram ];
|
executables = [ "NexusMods.App" ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
@ -93,15 +95,10 @@ buildDotnetModule rec {
|
||||||
let
|
let
|
||||||
runTest =
|
runTest =
|
||||||
name: script:
|
name: script:
|
||||||
runCommand "${pname}-test-${name}"
|
runCommand "${pname}-test-${name}" { nativeBuildInputs = [ finalAttrs.finalPackage ]; } ''
|
||||||
{
|
${script}
|
||||||
# TODO: use finalAttrs when buildDotnetModule has support
|
touch $out
|
||||||
nativeBuildInputs = [ nexusmods-app ];
|
'';
|
||||||
}
|
|
||||||
''
|
|
||||||
${script}
|
|
||||||
touch $out
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
serve = runTest "serve" ''
|
serve = runTest "serve" ''
|
||||||
|
@ -123,7 +120,7 @@ buildDotnetModule rec {
|
||||||
meta = {
|
meta = {
|
||||||
mainProgram = "NexusMods.App";
|
mainProgram = "NexusMods.App";
|
||||||
homepage = "https://github.com/Nexus-Mods/NexusMods.App";
|
homepage = "https://github.com/Nexus-Mods/NexusMods.App";
|
||||||
changelog = "https://github.com/Nexus-Mods/NexusMods.App/releases/tag/${src.rev}";
|
changelog = "https://github.com/Nexus-Mods/NexusMods.App/releases/tag/${finalAttrs.src.rev}";
|
||||||
license = [ lib.licenses.gpl3Plus ];
|
license = [ lib.licenses.gpl3Plus ];
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
l0b0
|
l0b0
|
||||||
|
@ -158,4 +155,4 @@ buildDotnetModule rec {
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -10,16 +10,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "novops";
|
pname = "novops";
|
||||||
version = "0.15.0";
|
version = "0.16.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PierreBeucher";
|
owner = "PierreBeucher";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-b6CM7dDjEzFuL6SZQsFMBOq8p66Jnd7BdXFspWYlTps=";
|
hash = "sha256-Hqm3bKMRUyIZ/wD+kjAhUuKcJdaA8LT7bnourda6nuw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-mhNEeczbqXVsHoErwEIPUuJqNcyR6dTKBDeHCVH+KsE=";
|
cargoHash = "sha256-ObbCJQw4DgUH1/XuI7ZgqFY9O9OH1uGUkfaQRjcGkAY=";
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
openssl # required for openssl-sys
|
openssl # required for openssl-sys
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
gamemode,
|
gamemode,
|
||||||
glfw,
|
glfw,
|
||||||
glfw-wayland-minecraft,
|
glfw-wayland-minecraft,
|
||||||
glxinfo,
|
mesa-demos,
|
||||||
jdk8,
|
jdk8,
|
||||||
jdk17,
|
jdk17,
|
||||||
jdk21,
|
jdk21,
|
||||||
|
@ -134,7 +134,7 @@ symlinkJoin {
|
||||||
++ additionalLibs;
|
++ additionalLibs;
|
||||||
|
|
||||||
runtimePrograms = [
|
runtimePrograms = [
|
||||||
glxinfo
|
mesa-demos
|
||||||
pciutils # need lspci
|
pciutils # need lspci
|
||||||
xorg.xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
xorg.xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
||||||
] ++ additionalPrograms;
|
] ++ additionalPrograms;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
cdrtools,
|
cdrtools,
|
||||||
curl,
|
curl,
|
||||||
gawk,
|
gawk,
|
||||||
glxinfo,
|
mesa-demos,
|
||||||
gnugrep,
|
gnugrep,
|
||||||
gnused,
|
gnused,
|
||||||
jq,
|
jq,
|
||||||
|
@ -49,7 +49,7 @@ let
|
||||||
zsync
|
zsync
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.isLinux [
|
++ lib.optionals stdenv.isLinux [
|
||||||
glxinfo
|
mesa-demos
|
||||||
usbutils
|
usbutils
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
];
|
];
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
}:
|
}:
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "rclip";
|
pname = "rclip";
|
||||||
version = "1.10.2";
|
version = "1.10.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yurijmikhalevich";
|
owner = "yurijmikhalevich";
|
||||||
repo = "rclip";
|
repo = "rclip";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-z+zwhd3JH40Vg9yHt9ektvm2jWFOvj1DaCSI9GwXLT8=";
|
hash = "sha256-MdqO6X1dbIzmDuDSjrbmKbQfPIPcyhVIbodERYu9PZU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3Packages; [
|
nativeBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -32,8 +32,6 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
platformInfo = platformInfos.${stdenv.system};
|
platformInfo = platformInfos.${stdenv.system};
|
||||||
|
|
||||||
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
|
|
||||||
in
|
in
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "ride";
|
pname = "ride";
|
||||||
|
@ -109,7 +107,7 @@ buildNpmPackage rec {
|
||||||
mkdir local-cache
|
mkdir local-cache
|
||||||
|
|
||||||
# electron files need to be writable on Darwin
|
# electron files need to be writable on Darwin
|
||||||
cp -r ${electronDist} electron-dist
|
cp -r ${electron.dist} electron-dist
|
||||||
chmod -R u+w electron-dist
|
chmod -R u+w electron-dist
|
||||||
|
|
||||||
pushd electron-dist
|
pushd electron-dist
|
||||||
|
|
|
@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
npm exec electron-builder -- \
|
npm exec electron-builder -- \
|
||||||
--dir \
|
--dir \
|
||||||
--config electron-builder-${platformId}.yml \
|
--config electron-builder-${platformId}.yml \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
# electron builds must be writable on darwin
|
# electron builds must be writable on darwin
|
||||||
preBuild = lib.optionalString stdenv.isDarwin ''
|
preBuild = lib.optionalString stdenv.isDarwin ''
|
||||||
cp -r ${electron}/Applications/Electron.app .
|
cp -r ${electron.dist}/Electron.app .
|
||||||
chmod -R u+w Electron.app
|
chmod -R u+w Electron.app
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
pnpm exec electron-builder \
|
pnpm exec electron-builder \
|
||||||
--dir \
|
--dir \
|
||||||
-c.asarUnpack="**/*.node" \
|
-c.asarUnpack="**/*.node" \
|
||||||
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
|
-c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -11,20 +11,20 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "yazi";
|
pname = "yazi";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sxyazi";
|
owner = "sxyazi";
|
||||||
repo = "yazi";
|
repo = "yazi";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-tK2dm+WIEJGSq/PbRyagt7x43nd/o1HxP8HMj23HfnQ=";
|
hash = "sha256-skJK0iAqQ4uyEx/SeF/97YHWKYBNHmdYpltx3h6JvNc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-Lb9gu4/i+vPH3dhdzIn9V2s6fKooxEefcN2T/oDqVmg=";
|
cargoHash = "sha256-w7eFeKmYFDmSpG/p4r2w6qw8uUm4q+VUbAI+TnKhp5s=";
|
||||||
|
|
||||||
env.YAZI_GEN_COMPLETIONS = true;
|
env.YAZI_GEN_COMPLETIONS = true;
|
||||||
env.VERGEN_GIT_SHA = "Nixpkgs";
|
env.VERGEN_GIT_SHA = "Nixpkgs";
|
||||||
env.VERGEN_BUILD_DATE = "2024-08-15";
|
env.VERGEN_BUILD_DATE = "2024-08-28";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ];
|
buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ];
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ jordanisaacs ];
|
maintainers = with maintainers; [ jordanisaacs ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
broken = stdenv.isDarwin && stdenv.isAarch64; # build timeout
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
22
pkgs/development/coq-modules/rewriter/default.nix
Normal file
22
pkgs/development/coq-modules/rewriter/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, mkCoqDerivation, coq, version ? null }:
|
||||||
|
|
||||||
|
mkCoqDerivation {
|
||||||
|
pname = "rewriter";
|
||||||
|
owner = "mit-plv";
|
||||||
|
inherit version;
|
||||||
|
defaultVersion = let inherit (lib.versions) range; in
|
||||||
|
lib.switch coq.coq-version [
|
||||||
|
{ case = range "8.17" "8.19"; out = "0.0.11"; }
|
||||||
|
] null;
|
||||||
|
release = {
|
||||||
|
"0.0.11".sha256 = "sha256-aYoO08nwItlOoE5BnKRGib2Zk4Fz4Ni/L4QaqkObPow=";
|
||||||
|
};
|
||||||
|
releaseRev = v: "v${v}";
|
||||||
|
|
||||||
|
mlPlugin = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Reflective PHOAS rewriting/pattern-matching-compilation framework for simply-typed equalities and let-lifting, experimental and tailored for use in Fiat Cryptography";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,14 +8,14 @@
|
||||||
|
|
||||||
python3Packages.buildPythonPackage {
|
python3Packages.buildPythonPackage {
|
||||||
pname = "edl";
|
pname = "edl";
|
||||||
version = "3.52.1-unstable-2024-07-05";
|
version = "3.52.1-unstable-2024-08-27";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bkerler";
|
owner = "bkerler";
|
||||||
repo = "edl";
|
repo = "edl";
|
||||||
rev = "53671740213046bcf875acd2feb1c1d07fb1605c";
|
rev = "d2c585e4ccc066895b71ca9014c1ebb5af316e07";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-jm5BSnjAuqOa5oHhboruqQJ9BdsyjQic4vbwSNgIneQ=";
|
hash = "sha256-hQturda+iDmH5DVP1CjG526wcggdzTSrW2jqrEzLXtY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
{ lib, stdenv, fetchurl, autoreconfHook, unzip, m4, bison, flex, openssl, zlib }:
|
{ lib, stdenv, fetchurl, autoreconfHook, unzip, m4, bison, flex, openssl, zlib, buildPackages }:
|
||||||
|
|
||||||
let
|
let
|
||||||
majorVersion = "2.8";
|
majorVersion = "2.8";
|
||||||
|
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "gsoap";
|
pname = "gsoap";
|
||||||
|
@ -22,6 +23,10 @@ in stdenv.mkDerivation rec {
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
substituteInPlace configure.ac \
|
substituteInPlace configure.ac \
|
||||||
--replace 'AM_INIT_AUTOMAKE([foreign])' 'AM_INIT_AUTOMAKE([foreign subdir-objects])'
|
--replace 'AM_INIT_AUTOMAKE([foreign])' 'AM_INIT_AUTOMAKE([foreign subdir-objects])'
|
||||||
|
${lib.optionalString isCross ''
|
||||||
|
substituteInPlace gsoap/wsdl/Makefile.am \
|
||||||
|
--replace-fail 'SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT)' 'SOAP=${lib.getExe' buildPackages.gsoap "soapcpp2"}'
|
||||||
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pdfhummus";
|
pname = "pdfhummus";
|
||||||
version = "4.6.6";
|
version = "4.6.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "galkahana";
|
owner = "galkahana";
|
||||||
repo = "PDF-Writer";
|
repo = "PDF-Writer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-JPL5+GoL4zvHgStgTV9pJBPsQtAeE2DJe02YrZEtdJ8=";
|
hash = "sha256-XOoMh1YL4wJQ6Uliy0sdcrlqJbbbnZ0gmjuaXS1h+qQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioambient";
|
pname = "aioambient";
|
||||||
version = "2024.01.0";
|
version = "2024.08.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||||
owner = "bachya";
|
owner = "bachya";
|
||||||
repo = "aioambient";
|
repo = "aioambient";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-eqZVY0L+2BWF7cCXW/VLQYYXNPtUF6tJHQmeZNW1W5o=";
|
hash = "sha256-GedGwG4Lm28BvfSBOGcspUQ3LCmdb2IC2rLifuKGOes=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
build-system = [ poetry-core ];
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchPypi,
|
fetchFromGitHub,
|
||||||
pythonOlder,
|
pythonOlder,
|
||||||
setuptools,
|
flit-core,
|
||||||
|
|
||||||
# extras: babel
|
# extras: babel
|
||||||
babel,
|
babel,
|
||||||
flask-babel,
|
flask-babel,
|
||||||
|
|
||||||
# extras: common
|
# extras: common
|
||||||
|
argon2-cffi,
|
||||||
bcrypt,
|
bcrypt,
|
||||||
bleach,
|
bleach,
|
||||||
flask-mailman,
|
flask-mailman,
|
||||||
|
@ -31,12 +32,14 @@
|
||||||
flask-login,
|
flask-login,
|
||||||
flask-principal,
|
flask-principal,
|
||||||
flask-wtf,
|
flask-wtf,
|
||||||
|
markupsafe,
|
||||||
passlib,
|
passlib,
|
||||||
importlib-resources,
|
importlib-resources,
|
||||||
wtforms,
|
wtforms,
|
||||||
|
|
||||||
# tests
|
# tests
|
||||||
argon2-cffi,
|
authlib,
|
||||||
|
flask-sqlalchemy-lite,
|
||||||
freezegun,
|
freezegun,
|
||||||
mongoengine,
|
mongoengine,
|
||||||
mongomock,
|
mongomock,
|
||||||
|
@ -47,19 +50,25 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "flask-security-too";
|
pname = "flask-security";
|
||||||
version = "5.5.0";
|
version = "5.5.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
pname = "flask_security_too";
|
owner = "pallets-eco";
|
||||||
inherit version;
|
repo = "flask-security";
|
||||||
hash = "sha256-nuYOqKgH3Wfk2IFEDUhWUB6aP1xZ+c4DK7n0zB01TSk=";
|
rev = "refs/tags/${version}";
|
||||||
|
hash = "sha256-RGRwgrDFe+0v8NYyajMikdoi1DQf1I+B5y8KJyF+cZs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml \
|
||||||
|
--replace-fail phonenumberslite phonenumbers
|
||||||
|
'';
|
||||||
|
|
||||||
|
build-system = [ flit-core ];
|
||||||
|
|
||||||
# flask-login>=0.6.2 not satisfied by version 0.7.0.dev0
|
# flask-login>=0.6.2 not satisfied by version 0.7.0.dev0
|
||||||
pythonRelaxDeps = [ "flask-login" ];
|
pythonRelaxDeps = [ "flask-login" ];
|
||||||
|
@ -70,17 +79,19 @@ buildPythonPackage rec {
|
||||||
flask-login
|
flask-login
|
||||||
flask-principal
|
flask-principal
|
||||||
flask-wtf
|
flask-wtf
|
||||||
|
markupsafe
|
||||||
passlib
|
passlib
|
||||||
importlib-resources
|
importlib-resources
|
||||||
wtforms
|
wtforms
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.optional-dependencies = {
|
optional-dependencies = {
|
||||||
babel = [
|
babel = [
|
||||||
babel
|
babel
|
||||||
flask-babel
|
flask-babel
|
||||||
];
|
];
|
||||||
common = [
|
common = [
|
||||||
|
argon2-cffi
|
||||||
bcrypt
|
bcrypt
|
||||||
bleach
|
bleach
|
||||||
flask-mailman
|
flask-mailman
|
||||||
|
@ -100,7 +111,8 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeCheckInputs =
|
nativeCheckInputs =
|
||||||
[
|
[
|
||||||
argon2-cffi
|
authlib
|
||||||
|
flask-sqlalchemy-lite
|
||||||
freezegun
|
freezegun
|
||||||
mongoengine
|
mongoengine
|
||||||
mongomock
|
mongomock
|
||||||
|
@ -108,12 +120,15 @@ buildPythonPackage rec {
|
||||||
pony
|
pony
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
zxcvbn
|
zxcvbn
|
||||||
freezegun
|
|
||||||
]
|
]
|
||||||
++ passthru.optional-dependencies.babel
|
++ optional-dependencies.babel
|
||||||
++ passthru.optional-dependencies.common
|
++ optional-dependencies.common
|
||||||
++ passthru.optional-dependencies.fsqla
|
++ optional-dependencies.fsqla
|
||||||
++ passthru.optional-dependencies.mfa;
|
++ optional-dependencies.mfa;
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
pybabel compile --domain flask_security -d flask_security/translations
|
||||||
|
'';
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# needs /etc/resolv.conf
|
# needs /etc/resolv.conf
|
||||||
|
@ -123,9 +138,9 @@ buildPythonPackage rec {
|
||||||
pythonImportsCheck = [ "flask_security" ];
|
pythonImportsCheck = [ "flask_security" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
changelog = "https://github.com/Flask-Middleware/flask-security/blob/${version}/CHANGES.rst";
|
changelog = "https://github.com/pallets-eco/flask-security/blob/${version}/CHANGES.rst";
|
||||||
homepage = "https://github.com/Flask-Middleware/flask-security";
|
homepage = "https://github.com/pallets-eco/flask-security";
|
||||||
description = "Simple security for Flask apps (fork)";
|
description = "Quickly add security features to your Flask application";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ gador ];
|
maintainers = with maintainers; [ gador ];
|
||||||
};
|
};
|
|
@ -0,0 +1,45 @@
|
||||||
|
{
|
||||||
|
aiosqlite,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
flask,
|
||||||
|
flit-core,
|
||||||
|
lib,
|
||||||
|
pytestCheckHook,
|
||||||
|
sqlalchemy,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "flask-sqlalchemy-lite";
|
||||||
|
version = "0.1.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "pallets-eco";
|
||||||
|
repo = "flask-sqlalchemy-lite";
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
hash = "sha256-LpdPp5Gp74DSJqD1DJqwNeaMKdN5pEAUkxnKGYZcVis=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [ flit-core ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
flask
|
||||||
|
sqlalchemy
|
||||||
|
] ++ flask.optional-dependencies.async ++ sqlalchemy.optional-dependencies.asyncio;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "flask_sqlalchemy_lite" ];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
aiosqlite
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
changelog = "https://github.com/pallets-eco/flask-sqlalchemy-lite/blob/${src.rev}/CHANGES.md";
|
||||||
|
description = "Integrate SQLAlchemy with Flask";
|
||||||
|
homepage = "https://github.com/pallets-eco/flask-sqlalchemy-lite";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ dotlambda ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,35 +3,26 @@
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
|
pythonAtLeast,
|
||||||
pythonOlder,
|
pythonOlder,
|
||||||
setuptools,
|
setuptools,
|
||||||
fetchpatch,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pony";
|
pname = "pony";
|
||||||
version = "0.7.17";
|
version = "0.7.18";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8" || pythonAtLeast "3.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ponyorm";
|
owner = "ponyorm";
|
||||||
repo = "pony";
|
repo = "pony";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-wBqw+YHKlxYplgsYL1pbkusHyPfCaVPcH/Yku6WDYbE=";
|
hash = "sha256-2qGkHPBbfFrjJatKVa44bDbn/i3/YH/8LWd8CXyFRqo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
build-system = [ setuptools ];
|
||||||
# https://github.com/ponyorm/pony/pull/713
|
|
||||||
(fetchpatch {
|
|
||||||
name = "py312-compat.patch";
|
|
||||||
url = "https://github.com/ponyorm/pony/commit/5a37f6d59b6433d17d6d56b54f3726190e98c98f.patch";
|
|
||||||
hash = "sha256-niOoANOYHqrcmEXRZEDew2BM8P/s7UFnn0qpgB8V0Mk=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools ];
|
|
||||||
|
|
||||||
nativeCheckInputs = [ pytestCheckHook ];
|
nativeCheckInputs = [ pytestCheckHook ];
|
||||||
|
|
||||||
|
|
|
@ -1,54 +1,52 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
darwin,
|
||||||
|
ocl-icd,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
|
||||||
# build-system
|
# build-system
|
||||||
cmake,
|
cmake,
|
||||||
scikit-build-core,
|
|
||||||
pathspec,
|
|
||||||
ninja,
|
|
||||||
nanobind,
|
nanobind,
|
||||||
|
ninja,
|
||||||
|
numpy,
|
||||||
|
pathspec,
|
||||||
|
scikit-build-core,
|
||||||
|
|
||||||
|
# buildInputs
|
||||||
|
opencl-headers,
|
||||||
|
pybind11,
|
||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
appdirs,
|
|
||||||
cffi,
|
|
||||||
darwin,
|
|
||||||
decorator,
|
|
||||||
mako,
|
|
||||||
numpy,
|
|
||||||
ocl-icd,
|
|
||||||
oldest-supported-numpy,
|
|
||||||
opencl-headers,
|
|
||||||
platformdirs,
|
platformdirs,
|
||||||
pybind11,
|
|
||||||
pytestCheckHook,
|
|
||||||
pytools,
|
pytools,
|
||||||
six,
|
|
||||||
|
# checks
|
||||||
|
pytestCheckHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
os-specific-buildInputs = if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ];
|
os-specific-buildInputs =
|
||||||
|
if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ];
|
||||||
in
|
in
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyopencl";
|
pname = "pyopencl";
|
||||||
version = "2024.2.6";
|
version = "2024.2.7";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "inducer";
|
owner = "inducer";
|
||||||
repo = "pyopencl";
|
repo = "pyopencl";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-nP7ZAGeRXrjqDRWlc2SDP1hk1fseGeu9Zx0lOp9Pchs=";
|
hash = "sha256-DfZCtTeN1a1KS2qUU6iztba4opAVC/RUCe/hnkqTbII=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
cmake
|
cmake
|
||||||
nanobind
|
nanobind
|
||||||
ninja
|
ninja
|
||||||
numpy
|
numpy
|
||||||
oldest-supported-numpy
|
|
||||||
pathspec
|
pathspec
|
||||||
scikit-build-core
|
scikit-build-core
|
||||||
];
|
];
|
||||||
|
@ -60,15 +58,10 @@ buildPythonPackage rec {
|
||||||
pybind11
|
pybind11
|
||||||
] ++ os-specific-buildInputs;
|
] ++ os-specific-buildInputs;
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
appdirs
|
|
||||||
cffi
|
|
||||||
decorator
|
|
||||||
mako
|
|
||||||
numpy
|
numpy
|
||||||
platformdirs
|
platformdirs
|
||||||
pytools
|
pytools
|
||||||
six
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [ pytestCheckHook ];
|
nativeCheckInputs = [ pytestCheckHook ];
|
||||||
|
@ -83,9 +76,13 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
pythonImportsCheck = [ "pyopencl" ];
|
pythonImportsCheck = [ "pyopencl" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Python wrapper for OpenCL";
|
description = "Python wrapper for OpenCL";
|
||||||
homepage = "https://github.com/pyopencl/pyopencl";
|
homepage = "https://github.com/pyopencl/pyopencl";
|
||||||
license = licenses.mit;
|
changelog = "https://github.com/inducer/pyopencl/releases/tag/v${version}";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||||
|
# ld: symbol(s) not found for architecture arm64
|
||||||
|
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "rangehttpserver";
|
pname = "rangehttpserver";
|
||||||
version = "1.3.3";
|
version = "1.4.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "danvk";
|
owner = "danvk";
|
||||||
repo = "RangeHTTPServer";
|
repo = "RangeHTTPServer";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-ZXEbis37QO8t05JQ2qQQf5rkUSxq3DwzR3khAJkZ5W0=";
|
hash = "sha256-wvGJ5wHYLb7wJUGgurkdRTABV6kTH7/GXzXgpd0Ypbc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools ];
|
nativeBuildInputs = [ setuptools ];
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "renault-api";
|
pname = "renault-api";
|
||||||
version = "0.2.5";
|
version = "0.2.6";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||||
owner = "hacf-fr";
|
owner = "hacf-fr";
|
||||||
repo = "renault-api";
|
repo = "renault-api";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-PBNiYfWcPx3AorpYmNiPGC8MAE8efQOwdtaY8dH1wTs=";
|
hash = "sha256-opxEQIpZkaSWglPh4gwLJIi89B/ooHlwc9nKZRIS/j8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
build-system = [ poetry-core ];
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "reolink-aio";
|
pname = "reolink-aio";
|
||||||
version = "0.9.7";
|
version = "0.9.8";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "starkillerOG";
|
owner = "starkillerOG";
|
||||||
repo = "reolink_aio";
|
repo = "reolink_aio";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-EWNnaLXgJ4ieLFVBT651d50eZ/s/NfdRwRAVQy49kpc=";
|
hash = "sha256-3rwL47mXVzWBL4REE1Dchg8GQLWJn+bzoZnmXHgKX40=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "tencentcloud-sdk-python";
|
pname = "tencentcloud-sdk-python";
|
||||||
version = "3.0.1219";
|
version = "3.0.1221";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||||
owner = "TencentCloud";
|
owner = "TencentCloud";
|
||||||
repo = "tencentcloud-sdk-python";
|
repo = "tencentcloud-sdk-python";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-EgWa4YmMLcA0z7M88vWMaNDLi5pZ+qNYvALi/MSS45s=";
|
hash = "sha256-wrz0Q/sNy6FBEcIu/eD7yV2HGOgV9sdzw+Q2Pxkh9eI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
@ -30,12 +30,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
pythonImportsCheck = [ "tencentcloud" ];
|
pythonImportsCheck = [ "tencentcloud" ];
|
||||||
|
|
||||||
pytestFlagsArray = [
|
pytestFlagsArray = [ "tests/unit/" ];
|
||||||
# Other tests require credentials
|
|
||||||
"tests/unit/test_deserialize_warning.py"
|
|
||||||
"tests/unit/test_import.py"
|
|
||||||
"tests/unit/test_serialization.py"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Tencent Cloud API 3.0 SDK for Python";
|
description = "Tencent Cloud API 3.0 SDK for Python";
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ttn-client";
|
pname = "ttn-client";
|
||||||
version = "1.2.0";
|
version = "1.2.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.11";
|
disabled = pythonOlder "3.11";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = "angelnu";
|
owner = "angelnu";
|
||||||
repo = "thethingsnetwork_python_client";
|
repo = "thethingsnetwork_python_client";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-CAodXoc2T/vyAQKWYCm3te3urbSpGMZ7gmYlvDmTEQY=";
|
hash = "sha256-dWEXoqW4JyYeLFLS3J4CaRJ45wjdVf8wrtMGCKgBds8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ hatchling ];
|
build-system = [ hatchling ];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "xiaomi-ble";
|
pname = "xiaomi-ble";
|
||||||
version = "0.30.2";
|
version = "0.31.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = "xiaomi-ble";
|
repo = "xiaomi-ble";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-x+i5zC0WTWO+F1uIliAzyc+48X3njwTNz5ss5KK6xuQ=";
|
hash = "sha256-JmJfLRszP0uKsQ6HjTUbh9YeEGa06qBuJwbmu1lzZCw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "checkov";
|
pname = "checkov";
|
||||||
version = "3.2.236";
|
version = "3.2.238";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bridgecrewio";
|
owner = "bridgecrewio";
|
||||||
repo = "checkov";
|
repo = "checkov";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-w5ac8yerkGEOFOKNgeFtIOIjzekOd7G4Hn3J3kEzjMM=";
|
hash = "sha256-L5HGX7cT5pxd4dFjrppSg70XyqCDg1EXodsBRWFZ9o8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./flake8-compat-5.x.patch ];
|
patches = [ ./flake8-compat-5.x.patch ];
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
{
|
{
|
||||||
"version": "1.4.3",
|
"version": "1.5.0",
|
||||||
"assets": {
|
"assets": {
|
||||||
"aarch64-darwin": {
|
"aarch64-darwin": {
|
||||||
"asset": "scala-cli-aarch64-apple-darwin.gz",
|
"asset": "scala-cli-aarch64-apple-darwin.gz",
|
||||||
"sha256": "1hb0n97z5f1h2fcxiygi72ljc20lmlymhm6kcff2azfnjr2sdc48"
|
"sha256": "1samfkiw4rgfw36sqd85nrn0v050jy9mca3qvn46wfxczrf3sjvj"
|
||||||
},
|
},
|
||||||
"aarch64-linux": {
|
"aarch64-linux": {
|
||||||
"asset": "scala-cli-aarch64-pc-linux.gz",
|
"asset": "scala-cli-aarch64-pc-linux.gz",
|
||||||
"sha256": "1267cvhfmkxhxhq4ypqx4v24w19i1p8bx36hm2mbwi7aqz1m32ms"
|
"sha256": "02zpqffprf1hf68jhr9h7panqr110ip0fyv42lgqpj6rbhlxi371"
|
||||||
},
|
},
|
||||||
"x86_64-darwin": {
|
"x86_64-darwin": {
|
||||||
"asset": "scala-cli-x86_64-apple-darwin.gz",
|
"asset": "scala-cli-x86_64-apple-darwin.gz",
|
||||||
"sha256": "190kwxr93m2i8azrlahq41xhkpx0pkadiak1wbdzalgfxd7q36n6"
|
"sha256": "1lfrcz2khabyww52ji03p034k3h6zrmgzxgy1zw78r5z2s984w4f"
|
||||||
},
|
},
|
||||||
"x86_64-linux": {
|
"x86_64-linux": {
|
||||||
"asset": "scala-cli-x86_64-pc-linux.gz",
|
"asset": "scala-cli-x86_64-pc-linux.gz",
|
||||||
"sha256": "0fhydw1axm2xj8qwsl43y3bbbhm95h4yag055py1mxkqsq6f4vw4"
|
"sha256": "15rlzgg2innaifixwqy4w2lxg2ab9pi11s2fx1c053ylhbbbz3v1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ let
|
||||||
patchShebangs node_modules
|
patchShebangs node_modules
|
||||||
|
|
||||||
mkdir -p ~/.cache/electron/${electronDummyHash}
|
mkdir -p ~/.cache/electron/${electronDummyHash}
|
||||||
cp -ra '${electron}/libexec/electron' "$TMPDIR/electron"
|
cp -ra '${electron.dist}' "$TMPDIR/electron"
|
||||||
chmod -R u+w "$TMPDIR/electron"
|
chmod -R u+w "$TMPDIR/electron"
|
||||||
(cd "$TMPDIR/electron" && zip -0Xr ~/.cache/electron/${electronDummyHash}/${electronDummyFilename} .)
|
(cd "$TMPDIR/electron" && zip -0Xr ~/.cache/electron/${electronDummyHash}/${electronDummyFilename} .)
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ let
|
||||||
++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ]
|
++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ]
|
||||||
);
|
);
|
||||||
|
|
||||||
linux = {
|
linux = finalAttrs: {
|
||||||
buildInputs = [ glib gtk3 ];
|
buildInputs = [ glib gtk3 ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -142,9 +142,11 @@ let
|
||||||
rm "$out/libexec/electron/libvulkan.so.1"
|
rm "$out/libexec/electron/libvulkan.so.1"
|
||||||
ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
|
ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.dist = finalAttrs.finalPackage + "/libexec/electron";
|
||||||
};
|
};
|
||||||
|
|
||||||
darwin = {
|
darwin = finalAttrs: {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
unzip
|
unzip
|
||||||
|
@ -157,9 +159,12 @@ let
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron
|
makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.dist = finalAttrs.finalPackage + "/Applications";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (
|
stdenv.mkDerivation (finalAttrs:
|
||||||
(common stdenv.hostPlatform) //
|
lib.recursiveUpdate
|
||||||
(if stdenv.isDarwin then darwin else linux)
|
(common stdenv.hostPlatform)
|
||||||
|
((if stdenv.isDarwin then darwin else linux) finalAttrs)
|
||||||
)
|
)
|
||||||
|
|
|
@ -27,7 +27,7 @@ let
|
||||||
|
|
||||||
fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps;
|
fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps;
|
||||||
|
|
||||||
in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
|
in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
|
||||||
packageName = "electron";
|
packageName = "electron";
|
||||||
inherit (info) version;
|
inherit (info) version;
|
||||||
buildTargets = [ "electron:electron_dist_zip" ];
|
buildTargets = [ "electron:electron_dist_zip" ];
|
||||||
|
@ -244,4 +244,9 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
|
||||||
hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"];
|
hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"];
|
||||||
timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
|
timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
|
||||||
};
|
};
|
||||||
|
})).overrideAttrs (finalAttrs: prevAttrs: {
|
||||||
|
# this was the only way I could get the package to properly reference itself
|
||||||
|
passthru = prevAttrs.passthru // {
|
||||||
|
dist = finalAttrs.finalPackage + "/libexec/electron";
|
||||||
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
unwrapped = electron-unwrapped;
|
unwrapped = electron-unwrapped;
|
||||||
inherit (electron-unwrapped) headers;
|
inherit (electron-unwrapped) headers dist;
|
||||||
};
|
};
|
||||||
inherit (electron-unwrapped) meta;
|
inherit (electron-unwrapped) meta;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ let
|
||||||
buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
|
buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
|
||||||
|
|
||||||
# the version of infisical
|
# the version of infisical
|
||||||
version = "0.28.5";
|
version = "0.28.6";
|
||||||
|
|
||||||
# the platform-specific, statically linked binary
|
# the platform-specific, statically linked binary
|
||||||
src =
|
src =
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
|
{ "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
|
||||||
, "x86_64-linux": "sha256-hYDBZ6cTUCJTd5Zv/jCXVLpSGSeXbtC0uxAjh4NIjV8="
|
, "x86_64-linux": "sha256-izVUw/RcH+U6i5kCdPGojsBF+Ont40QBYk4sJW/BLOA="
|
||||||
, "x86_64-darwin": "sha256-IjxGVl1TrQFN3ic0dAinfzziJeR1fiSeW8jE+aXD6cA="
|
, "x86_64-darwin": "sha256-j0f4NhLivG+MmzitOSnAcc/EQAiFVEn44w3UMnLCkVY="
|
||||||
, "aarch64-linux": "sha256-6KFwHFS8dZfG8rrK+85BUwjD+sNTqY/5WVhu0yEtJ70="
|
, "aarch64-linux": "sha256-hunRA42xIMcu5JBtTnibWXKEECIeBIHyeBwVnOGR25U="
|
||||||
, "aarch64-darwin": "sha256-nkv9r5CzzjI7CKfQ/tD+UJGoDR6Os7W6bc0dcoAiGhE="
|
, "aarch64-darwin": "sha256-s6bmANYuuAOq959R+lipThc39qyqww20ISZ965hWkWc="
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
yarn --offline electron-builder \
|
yarn --offline electron-builder \
|
||||||
--dir \
|
--dir \
|
||||||
-c.electronDist=${electron}/libexec/electron \
|
-c.electronDist=${electron.dist} \
|
||||||
-c.electronVersion=${electron.version}
|
-c.electronVersion=${electron.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ makeScopeWithSplicing', generateSplicesForMkScope
|
{ makeScopeWithSplicing', generateSplicesForMkScope
|
||||||
, stdenv, buildFHSEnv, pkgsi686Linux, glxinfo
|
, stdenv, buildFHSEnv, pkgsi686Linux, mesa-demos
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -14,10 +14,10 @@ let
|
||||||
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
|
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
|
||||||
steam = callPackage ./steam.nix { };
|
steam = callPackage ./steam.nix { };
|
||||||
steam-fhsenv = callPackage ./fhsenv.nix {
|
steam-fhsenv = callPackage ./fhsenv.nix {
|
||||||
glxinfo-i686 =
|
mesa-demos-i686 =
|
||||||
if self.steamArch == "amd64"
|
if self.steamArch == "amd64"
|
||||||
then pkgsi686Linux.glxinfo
|
then pkgsi686Linux.mesa-demos
|
||||||
else glxinfo;
|
else mesa-demos;
|
||||||
steam-runtime-wrapped-i686 =
|
steam-runtime-wrapped-i686 =
|
||||||
if self.steamArch == "amd64"
|
if self.steamArch == "amd64"
|
||||||
then pkgsi686Linux.steamPackages.steam-runtime-wrapped
|
then pkgsi686Linux.steamPackages.steam-runtime-wrapped
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, writeShellScript, buildFHSEnv, steam, glxinfo-i686
|
{ lib, stdenv, writeShellScript, buildFHSEnv, steam, mesa-demos-i686
|
||||||
, steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null
|
, steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null
|
||||||
, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
|
, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
|
||||||
, extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs
|
, extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs
|
||||||
|
@ -269,7 +269,7 @@ in buildFHSEnv rec {
|
||||||
|
|
||||||
runScript = writeShellScript "steam-wrapper.sh" ''
|
runScript = writeShellScript "steam-wrapper.sh" ''
|
||||||
if [ -f /etc/NIXOS ]; then # Check only useful on NixOS
|
if [ -f /etc/NIXOS ]; then # Check only useful on NixOS
|
||||||
${glxinfo-i686}/bin/glxinfo 2>&1 | grep -q Error
|
${mesa-demos-i686}/bin/glxinfo 2>&1 | grep -q Error
|
||||||
# If there was an error running glxinfo, we know something is wrong with the configuration
|
# If there was an error running glxinfo, we know something is wrong with the configuration
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
cat <<EOF > /dev/stderr
|
cat <<EOF > /dev/stderr
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
nixosTests,
|
nixosTests,
|
||||||
enableLocalIcons ? false,
|
enableLocalIcons ? false,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
git,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
dashboardIcons = fetchFromGitHub {
|
dashboardIcons = fetchFromGitHub {
|
||||||
|
@ -49,7 +50,7 @@ buildNpmPackage rec {
|
||||||
patchShebangs .next/standalone/server.js
|
patchShebangs .next/standalone/server.js
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals stdenv.isDarwin [ cctools ];
|
nativeBuildInputs = [ git ] ++ lib.optionals stdenv.isDarwin [ cctools ];
|
||||||
|
|
||||||
buildInputs = [ nodePackages.node-gyp-build ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
|
buildInputs = [ nodePackages.node-gyp-build ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
|
||||||
|
|
||||||
|
@ -68,9 +69,21 @@ buildNpmPackage rec {
|
||||||
|
|
||||||
chmod +x $out/share/homepage/server.js
|
chmod +x $out/share/homepage/server.js
|
||||||
|
|
||||||
|
# This patch must be applied here, as it's patching the `dist` directory
|
||||||
|
# of NextJS. Without this, homepage-dashboard errors when trying to
|
||||||
|
# write its prerender cache.
|
||||||
|
#
|
||||||
|
# This patch ensures that the cache implementation respects the env
|
||||||
|
# variable `HOMEPAGE_CACHE_DIR`, which is set by default in the
|
||||||
|
# wrapper below.
|
||||||
|
pushd $out
|
||||||
|
git apply ${./prerender_cache_path.patch}
|
||||||
|
popd
|
||||||
|
|
||||||
makeWrapper $out/share/homepage/server.js $out/bin/homepage \
|
makeWrapper $out/share/homepage/server.js $out/bin/homepage \
|
||||||
--set-default PORT 3000 \
|
--set-default PORT 3000 \
|
||||||
--set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard
|
--set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard \
|
||||||
|
--set-default HOMEPAGE_CACHE_DIR /var/cache/homepage-dashboard
|
||||||
|
|
||||||
${if enableLocalIcons then installLocalIcons else ""}
|
${if enableLocalIcons then installLocalIcons else ""}
|
||||||
|
|
||||||
|
|
18
pkgs/servers/homepage-dashboard/prerender_cache_path.patch
Normal file
18
pkgs/servers/homepage-dashboard/prerender_cache_path.patch
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
diff --git a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
|
||||||
|
index b1b74d8..a46c80b 100644
|
||||||
|
--- a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
|
||||||
|
+++ b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
|
||||||
|
@@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
||||||
|
exports.default = void 0;
|
||||||
|
var _lruCache = _interopRequireDefault(require("next/dist/compiled/lru-cache"));
|
||||||
|
var _path = _interopRequireDefault(require("../../../shared/lib/isomorphic/path"));
|
||||||
|
+var path = require('node:path');
|
||||||
|
class FileSystemCache {
|
||||||
|
constructor(ctx){
|
||||||
|
this.fs = ctx.fs;
|
||||||
|
this.flushToDisk = ctx.flushToDisk;
|
||||||
|
- this.serverDistDir = ctx.serverDistDir;
|
||||||
|
+ this.serverDistDir = path.join(process.env.HOMEPAGE_CACHE_DIR, "homepage");
|
||||||
|
this.appDir = !!ctx._appDir;
|
||||||
|
if (ctx.maxMemoryCacheSize) {
|
||||||
|
this.memoryCache = new _lruCache.default({
|
|
@ -6,16 +6,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "nats-server";
|
pname = "nats-server";
|
||||||
version = "2.10.18";
|
version = "2.10.19";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nats-io";
|
owner = "nats-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-xoCeP/6qKNeqsqVPKfybdwVs50QPBS82zBGxwOXrVGU=";
|
hash = "sha256-zgLo6j6CC/AHQKCnpXJIczneT4RbU6WneUSoL2vTthw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-6Dgk/F0gZlULpEZpWvJndHdp7AyggClOb3FrwotSjRs=";
|
vendorHash = "sha256-D/3c8Sov8LJzeWN2tu6iqwnwfb3EXXnJpgONo96pmYI=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ buildFHSEnv {
|
||||||
mit
|
mit
|
||||||
cockroachdb-community-license
|
cockroachdb-community-license
|
||||||
];
|
];
|
||||||
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||||
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ rushmorem thoughtpolice ];
|
maintainers = with maintainers; [ rushmorem thoughtpolice ];
|
||||||
};
|
};
|
|
@ -5,14 +5,14 @@
|
||||||
, git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }:
|
, git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2024-08-21";
|
version = "2024-08-27";
|
||||||
pname = "oh-my-zsh";
|
pname = "oh-my-zsh";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ohmyzsh";
|
owner = "ohmyzsh";
|
||||||
repo = "ohmyzsh";
|
repo = "ohmyzsh";
|
||||||
rev = "ebb479e5e2395d26fc368c9b9d534e935a292740";
|
rev = "efe21261d031b4836f64112a899706322acd26b0";
|
||||||
sha256 = "sha256-+uACSlon6xraKqwZhL8xFU40b0SvkEE2GAzvm/ROun0=";
|
sha256 = "sha256-ICHdwxySSzX64q+mfPKOQqOrLrc/RKiyvPioseNt4hE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -173,7 +173,7 @@ pythonPackages.buildPythonApplication rec {
|
||||||
python-dateutil
|
python-dateutil
|
||||||
sqlalchemy
|
sqlalchemy
|
||||||
itsdangerous
|
itsdangerous
|
||||||
flask-security-too
|
flask-security
|
||||||
bcrypt
|
bcrypt
|
||||||
cryptography
|
cryptography
|
||||||
sshtunnel
|
sshtunnel
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "spotdl";
|
pname = "spotdl";
|
||||||
version = "4.2.6";
|
version = "4.2.7";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "spotDL";
|
owner = "spotDL";
|
||||||
repo = "spotify-downloader";
|
repo = "spotify-downloader";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-OhZXxGkcO/dlYth9xUnpd/IbyvsbjMzwqQ9lPSvnFSs=";
|
hash = "sha256-AZpTxfnUyOLcPJQJyk77eqw1EbN3s7/8QQMxcxyJVKE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = with python3.pkgs; [ poetry-core ];
|
build-system = with python3.pkgs; [ poetry-core ];
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ lib, stdenv, fetchurl, libGL, libX11 }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "glxinfo";
|
|
||||||
version = "8.4.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "ftp://ftp.freedesktop.org/pub/mesa/demos/mesa-demos-${version}.tar.bz2";
|
|
||||||
sha256 = "0zgzbz55a14hz83gbmm0n9gpjnf5zadzi2kjjvkn6khql2a9rs81";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ libX11 libGL ];
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
|
|
||||||
buildPhase = "
|
|
||||||
$CC src/xdemos/{glxinfo.c,glinfo_common.c} -o glxinfo -lGL -lX11
|
|
||||||
$CC src/xdemos/glxgears.c -o glxgears -lGL -lX11 -lm
|
|
||||||
$CC src/egl/opengles2/es2_info.c -o es2_info -lEGL -lGLESv2 -lX11
|
|
||||||
$CC src/egl/opengles2/es2gears.c src/egl/eglut/{eglut.c,eglut_x11.c} -o es2gears -Isrc/egl/eglut -lEGL -lGLESv2 -lX11 -lm
|
|
||||||
$CC src/egl/opengl/eglinfo.c -o eglinfo -lEGL -lGLESv2 -lX11
|
|
||||||
";
|
|
||||||
|
|
||||||
installPhase = "
|
|
||||||
install -Dm 555 -t $out/bin glx{info,gears} es2{_info,gears} eglinfo
|
|
||||||
";
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Test utilities for OpenGL";
|
|
||||||
homepage = "https://www.mesa3d.org/";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ abbradar ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -6,7 +6,6 @@
|
||||||
, substituteAll
|
, substituteAll
|
||||||
, coreutils
|
, coreutils
|
||||||
, curl
|
, curl
|
||||||
, glxinfo
|
|
||||||
, gnugrep
|
, gnugrep
|
||||||
, gnused
|
, gnused
|
||||||
, xdg-utils
|
, xdg-utils
|
||||||
|
@ -18,6 +17,7 @@
|
||||||
, git
|
, git
|
||||||
, glslang
|
, glslang
|
||||||
, mako
|
, mako
|
||||||
|
, mesa-demos
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -131,9 +131,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
path = lib.makeBinPath [
|
path = lib.makeBinPath [
|
||||||
coreutils
|
coreutils
|
||||||
curl
|
curl
|
||||||
glxinfo
|
|
||||||
gnugrep
|
gnugrep
|
||||||
gnused
|
gnused
|
||||||
|
mesa-demos
|
||||||
xdg-utils
|
xdg-utils
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "sheldon";
|
pname = "sheldon";
|
||||||
version = "0.7.3";
|
version = "0.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rossmacarthur";
|
owner = "rossmacarthur";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-vGFR8NL3bOCUuNr0KQuAbjQMxvFbN/T9aVmf7Wxt9JU=";
|
hash = "sha256-eyfIPO1yXvb+0SeAx+F6/z5iDUA2GfWOiElfjn6abJM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-wVB+yL+h90f7NnASDaX5gxT5z45M8I1rxIJwY8uyB4k=";
|
cargoHash = "sha256-+yTX1wUfVVjsM42X0QliL+0xbzTPheADZibPh/5Czh8=";
|
||||||
|
|
||||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
|
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
|
||||||
nativeBuildInputs = [ installShellFiles pkg-config ];
|
nativeBuildInputs = [ installShellFiles pkg-config ];
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "flannel";
|
pname = "flannel";
|
||||||
version = "0.25.5";
|
version = "0.25.6";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
vendorHash = "sha256-i8uwHOPRVOCSPnFNr7IFZHkboV+iXrA23pkOmRAix54=";
|
vendorHash = "sha256-telkdlxNUoaZJ8mzKbcBq2sruI0reT9wp+yOLa8RBOs=";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
inherit rev;
|
inherit rev;
|
||||||
owner = "flannel-io";
|
owner = "flannel-io";
|
||||||
repo = "flannel";
|
repo = "flannel";
|
||||||
sha256 = "sha256-SMOS0ndBV8KySh9E2/vTAznKLZY2LAM7zSNQAiFBiGU=";
|
sha256 = "sha256-72eoAr3Vnvwqcrq1qFqEJY/J3yodICv+uWM484d99b4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ];
|
ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ];
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue