mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
Merge staging-next into staging
This commit is contained in:
commit
0c7c24795b
187 changed files with 1697 additions and 848 deletions
|
|
@ -3444,12 +3444,6 @@
|
|||
githubId = 20448408;
|
||||
keys = [ { fingerprint = "D446 E58D 87A0 31C7 EC15 88D7 B461 2924 45C6 E696"; } ];
|
||||
};
|
||||
berce = {
|
||||
email = "bert.moens@gmail.com";
|
||||
github = "berce";
|
||||
githubId = 10439709;
|
||||
name = "Bert Moens";
|
||||
};
|
||||
bergey = {
|
||||
email = "bergey@teallabs.org";
|
||||
github = "bergey";
|
||||
|
|
@ -4445,12 +4439,6 @@
|
|||
githubId = 54632731;
|
||||
name = "Cameron Dugan";
|
||||
};
|
||||
cameronfyfe = {
|
||||
email = "cameron.j.fyfe@gmail.com";
|
||||
github = "cameronfyfe";
|
||||
githubId = 21013281;
|
||||
name = "Cameron Fyfe";
|
||||
};
|
||||
cameronnemo = {
|
||||
email = "cnemo@tutanota.com";
|
||||
github = "CameronNemo";
|
||||
|
|
@ -18478,13 +18466,6 @@
|
|||
github = "mohe2015";
|
||||
githubId = 13287984;
|
||||
};
|
||||
momeemt = {
|
||||
name = "Mutsuha Asada";
|
||||
email = "me@momee.mt";
|
||||
github = "momeemt";
|
||||
githubId = 43488453;
|
||||
keys = [ { fingerprint = "D94F EA9F 5B08 F6A1 7B8F EB8B ACB5 4F0C BC6A A7C6"; } ];
|
||||
};
|
||||
monaaraj = {
|
||||
name = "Mon Aaraj";
|
||||
email = "owo69uwu69@gmail.com";
|
||||
|
|
@ -28968,6 +28949,14 @@
|
|||
githubId = 110242808;
|
||||
name = "Vasilii Pustovoit";
|
||||
};
|
||||
vavakado = {
|
||||
email = "xor@vavakado.xyz";
|
||||
github = "vavakado";
|
||||
githubId = 80159210;
|
||||
name = "Vladimir Rubin";
|
||||
matrix = "@vavakado:imagisphe.re";
|
||||
keys = [ { fingerprint = "A054 0374 CD37 2C71 FE6D E0CF CAB7 4472 7F36 B524"; } ];
|
||||
};
|
||||
vbgl = {
|
||||
email = "Vincent.Laporte@gmail.com";
|
||||
github = "vbgl";
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
- Python 2 has been removed from the top-level package set, as it is long past end-of-life. The `python2`, `python27`, `python2Full`, `python27Full`, `python2Packages`, and `python27Packages` attributes, along with the legacy `python`, `pythonFull`, and `pythonPackages` aliases, now throw an error directing you to `python3`. The `isPy2` and `isPy27` package flags have been removed accordingly. The only remaining Python 2 interpreter is vendored inside the `resholve` package for its `oil` dependency and is not exposed for general use.
|
||||
|
||||
- `security.polkit.enablePkexecWrapper` has been introduced, making the `pkexec` setuid wrapper opt-in.
|
||||
|
||||
- `systemd.user.extraConfig` has been removed in favor of the structured [](#opt-systemd.user.settings.Manager) option. Use `systemd.user.settings.Manager` to set any `systemd-user.conf(5)` option directly. For example, replace `systemd.user.extraConfig = "DefaultTimeoutStartSec=60";` with `systemd.user.settings.Manager.DefaultTimeoutStartSec = 60;`.
|
||||
|
||||
- `services.timesyncd.extraConfig` has been removed in favor of the structured [](#opt-services.timesyncd.settings.Time) option. Use `services.timesyncd.settings.Time` to set any `timesyncd.conf(5)` option directly. For example, replace `services.timesyncd.extraConfig = "PollIntervalMaxSec=180";` with `services.timesyncd.settings.Time.PollIntervalMaxSec = 180;`.
|
||||
|
|
|
|||
|
|
@ -127,6 +127,38 @@ let
|
|||
</fontconfig>
|
||||
'';
|
||||
|
||||
# user defined font aliases
|
||||
# priority 53
|
||||
aliases =
|
||||
let
|
||||
mkFontBlock =
|
||||
key: fonts:
|
||||
lib.optionalString ((builtins.length fonts) > 0) ''
|
||||
<${key}>
|
||||
${lib.concatMapStrings (font: "<family>${font}</family>") fonts}
|
||||
</${key}>
|
||||
'';
|
||||
|
||||
mkAliasBlock = family: opts: ''
|
||||
<alias binding="${opts.binding}">
|
||||
<family>${family}</family>
|
||||
${mkFontBlock "prefer" opts.prefer}
|
||||
${mkFontBlock "accept" opts.accept}
|
||||
${mkFontBlock "default" opts.default}
|
||||
</alias>
|
||||
'';
|
||||
in
|
||||
pkgs.writeText "fc-53-user-aliases.conf" ''
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
|
||||
<fontconfig>
|
||||
|
||||
<!-- User defined aliases -->
|
||||
${lib.concatStrings (lib.mapAttrsToList mkAliasBlock cfg.aliases)}
|
||||
|
||||
</fontconfig>
|
||||
'';
|
||||
|
||||
# bitmap font options
|
||||
# priority 53
|
||||
rejectBitmaps = pkgs.writeText "fc-53-no-bitmaps.conf" ''
|
||||
|
|
@ -245,6 +277,9 @@ let
|
|||
# 53-no-bitmaps.conf
|
||||
ln -s ${rejectBitmaps} $dst/53-no-bitmaps.conf
|
||||
|
||||
# 53-user-aliases.conf
|
||||
ln -s ${aliases} $dst/53-user-aliases.conf
|
||||
|
||||
${lib.optionalString (!cfg.allowType1) ''
|
||||
# 53-nixos-reject-type1.conf
|
||||
ln -s ${rejectType1} $dst/53-nixos-reject-type1.conf
|
||||
|
|
@ -522,6 +557,69 @@ in
|
|||
description = "Use embedded bitmaps in fonts like Calibri.";
|
||||
};
|
||||
|
||||
aliases = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
binding = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"same"
|
||||
"weak"
|
||||
"strong"
|
||||
];
|
||||
default = "same";
|
||||
description = ''
|
||||
Binding precedence for this font family. See
|
||||
fontconfig "Font Matching" section for details.
|
||||
'';
|
||||
};
|
||||
|
||||
prefer = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Fonts whose glyphs are chosen preferentially prior
|
||||
to fonts which match the alias family.
|
||||
'';
|
||||
};
|
||||
|
||||
accept = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Fonts that are chosen if none of the preferred
|
||||
fonts, nor the alias family could provide the
|
||||
desired glyph.
|
||||
'';
|
||||
};
|
||||
|
||||
default = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Last chance fallback fonts which are chosen by
|
||||
default if none of the other options could
|
||||
provide the desired glyph.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# use FreeSans for Greek symbols missing in Helvetica
|
||||
"Helvetica" = {
|
||||
default = [ "FreeSans" ];
|
||||
};
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Font aliases that can substitute preferential fonts,
|
||||
or specify custom fallback fonts.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
|
@ -557,6 +655,9 @@ in
|
|||
# 52-nixos-default-fonts.conf
|
||||
r ${defaultFontsConf},
|
||||
|
||||
# 53-user-aliases.conf
|
||||
r ${aliases},
|
||||
|
||||
# 53-no-bitmaps.conf
|
||||
r ${rejectBitmaps},
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ in
|
|||
{
|
||||
imports = [ ./installation-cd-graphical-base.nix ];
|
||||
|
||||
# required for calamares
|
||||
security.polkit.enablePkexecWrapper = true;
|
||||
|
||||
# required for kpmcore to work correctly
|
||||
programs.partition-manager.enable = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ in
|
|||
'';
|
||||
|
||||
config = lib.mkIf config.system.tools.nixos-rebuild.enableRun0Elevation {
|
||||
security.polkit.enable = lib.mkDefault true;
|
||||
security.run0.enable = lib.mkDefault true;
|
||||
environment.systemPackages = [ pkgs.polkit-stdin-agent ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,10 @@ in
|
|||
};
|
||||
|
||||
security = {
|
||||
polkit.enable = true;
|
||||
polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
wrappers = lib.mkIf cfg.enableRenice {
|
||||
gamemoded = {
|
||||
owner = "root";
|
||||
|
|
|
|||
|
|
@ -64,32 +64,36 @@ in
|
|||
# 3. Put ThroneCore into a systemd service, and let polkit check service name.
|
||||
# This is the most secure and convenient way but requires heavy modification
|
||||
# to Throne source code. Would be good to let upstream support that eventually.
|
||||
security.polkit.extraConfig =
|
||||
lib.mkIf (cfg.tunMode.enable && (!cfg.tunMode.setuid) && config.services.resolved.enable)
|
||||
''
|
||||
polkit.addRule(function(action, subject) {
|
||||
const allowedActionIds = [
|
||||
"org.freedesktop.resolve1.revert",
|
||||
"org.freedesktop.resolve1.set-domains",
|
||||
"org.freedesktop.resolve1.set-default-route",
|
||||
"org.freedesktop.resolve1.set-dns-servers"
|
||||
];
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
extraConfig =
|
||||
lib.mkIf (cfg.tunMode.enable && (!cfg.tunMode.setuid) && config.services.resolved.enable)
|
||||
''
|
||||
polkit.addRule(function(action, subject) {
|
||||
const allowedActionIds = [
|
||||
"org.freedesktop.resolve1.revert",
|
||||
"org.freedesktop.resolve1.set-domains",
|
||||
"org.freedesktop.resolve1.set-default-route",
|
||||
"org.freedesktop.resolve1.set-dns-servers"
|
||||
];
|
||||
|
||||
if (allowedActionIds.indexOf(action.id) !== -1) {
|
||||
try {
|
||||
var parentPid = polkit.spawn(["${lib.getExe' pkgs.procps "ps"}", "-o", "ppid=", subject.pid]).trim();
|
||||
var parentCap = polkit.spawn(["${lib.getExe' pkgs.libcap "getpcaps"}", parentPid]).trim();
|
||||
if (parentCap.includes("cap_net_admin") && parentCap.includes("cap_net_raw")) {
|
||||
return polkit.Result.YES;
|
||||
} else {
|
||||
if (allowedActionIds.indexOf(action.id) !== -1) {
|
||||
try {
|
||||
var parentPid = polkit.spawn(["${lib.getExe' pkgs.procps "ps"}", "-o", "ppid=", subject.pid]).trim();
|
||||
var parentCap = polkit.spawn(["${lib.getExe' pkgs.libcap "getpcaps"}", parentPid]).trim();
|
||||
if (parentCap.includes("cap_net_admin") && parentCap.includes("cap_net_raw")) {
|
||||
return polkit.Result.YES;
|
||||
} else {
|
||||
return polkit.Result.NOT_HANDLED;
|
||||
}
|
||||
} catch (e) {
|
||||
return polkit.Result.NOT_HANDLED;
|
||||
}
|
||||
} catch (e) {
|
||||
return polkit.Result.NOT_HANDLED;
|
||||
}
|
||||
}
|
||||
})
|
||||
'';
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ aleksana ];
|
||||
|
|
|
|||
|
|
@ -6,27 +6,52 @@
|
|||
}:
|
||||
let
|
||||
|
||||
cfg = config.security.polkit;
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkIf
|
||||
mkPackageOption
|
||||
mkRemovedOptionModule
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.security.polkit;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "security" "polkit" "debug" ] "Use security.polkit.extraArgs instead")
|
||||
];
|
||||
|
||||
options = {
|
||||
options.security.polkit = {
|
||||
enable = mkEnableOption "polkit";
|
||||
|
||||
security.polkit.enable = lib.mkEnableOption "polkit";
|
||||
enablePkexecWrapper = mkEnableOption "the setuid pkexec wrapper";
|
||||
|
||||
security.polkit.package = lib.mkPackageOption pkgs "polkit" { };
|
||||
package = mkPackageOption pkgs "polkit" { };
|
||||
|
||||
security.polkit.debug = lib.mkEnableOption "debug logs from polkit. This is required in order to see log messages from rule definitions";
|
||||
extraArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [
|
||||
"--no-debug"
|
||||
"--log-level=notice"
|
||||
];
|
||||
description = ''
|
||||
List of arguments to pass to the polkitd executable.
|
||||
|
||||
security.polkit.extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
::: {.note}
|
||||
To see debug logs you need to negate the default `--no-debug` setting.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
/* Log authorization checks. */
|
||||
polkit.addRule(function(action, subject) {
|
||||
// Make sure to set { security.polkit.debug = true; } in configuration.nix
|
||||
// Make sure to negate --no-debug in services.polkit.extraArgs: { security.polkit.extraArgs = [ "--log-level=notice" ]; }
|
||||
polkit.log("user " + subject.user + " is attempting action " + action.id + " from PID " + subject.pid);
|
||||
});
|
||||
|
||||
|
|
@ -41,8 +66,8 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
security.polkit.adminIdentities = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
adminIdentities = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ "unix-group:wheel" ];
|
||||
example = [
|
||||
"unix-user:alice"
|
||||
|
|
@ -58,25 +83,34 @@ in
|
|||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [
|
||||
cfg.package.bin
|
||||
cfg.package.out
|
||||
];
|
||||
|
||||
services.dbus.packages = [ cfg.package.out ];
|
||||
|
||||
systemd.packages = [ cfg.package.out ];
|
||||
|
||||
systemd.services.polkit.serviceConfig.ExecStart = [
|
||||
""
|
||||
"${cfg.package.out}/lib/polkit-1/polkitd ${lib.optionalString (!cfg.debug) "--no-debug"}"
|
||||
];
|
||||
|
||||
systemd.services.polkit.restartTriggers = [ config.system.path ];
|
||||
systemd.services.polkit.reloadTriggers = [
|
||||
config.environment.etc."polkit-1/rules.d/10-nixos.rules".source
|
||||
];
|
||||
systemd.services.polkit.stopIfChanged = false;
|
||||
systemd.services.polkit = {
|
||||
restartTriggers = [ config.system.path ];
|
||||
reloadTriggers = [
|
||||
config.environment.etc."polkit-1/rules.d/10-nixos.rules".source
|
||||
];
|
||||
serviceConfig.ExecStart = [
|
||||
# nuke default ExecStart
|
||||
""
|
||||
# provide our own instead
|
||||
(toString (
|
||||
[
|
||||
"${lib.getLib cfg.package}/lib/polkit-1/polkitd"
|
||||
]
|
||||
++ cfg.extraArgs
|
||||
))
|
||||
];
|
||||
};
|
||||
|
||||
systemd.sockets."polkit-agent-helper".wantedBy = [ "sockets.target" ];
|
||||
|
||||
|
|
@ -89,7 +123,7 @@ in
|
|||
# The upstream unit uses PrivateDevices=yes and ProtectHome=yes,
|
||||
# which prevents PAM modules from accessing hardware (e.g. FIDO
|
||||
# tokens via /dev/hidraw*) or reading key files from home directories.
|
||||
(lib.mkIf config.security.pam.u2f.enable {
|
||||
(mkIf config.security.pam.u2f.enable {
|
||||
# Override upstream PrivateDevices=yes to allow access to /dev/hidraw*
|
||||
PrivateDevices = false;
|
||||
DeviceAllow = [
|
||||
|
|
@ -100,7 +134,7 @@ in
|
|||
# ~/.config/Yubico/u2f_keys (the default key file location)
|
||||
ProtectHome = "read-only";
|
||||
})
|
||||
(lib.mkIf config.security.pam.zfs.enable {
|
||||
(mkIf config.security.pam.zfs.enable {
|
||||
PrivateDevices = false;
|
||||
DeviceAllow = [
|
||||
"/dev/zfs rw"
|
||||
|
|
@ -120,23 +154,16 @@ in
|
|||
${cfg.extraConfig}
|
||||
''; # TODO: validation on compilation (at least against typos)
|
||||
|
||||
services.dbus.packages = [ cfg.package.out ];
|
||||
|
||||
security.pam.services.polkit-1 = { };
|
||||
|
||||
security.wrappers.pkexec = {
|
||||
enable = cfg.enablePkexecWrapper;
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
source = "${cfg.package.bin}/bin/pkexec";
|
||||
source = lib.getExe' cfg.package "pkexec";
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
# Probably no more needed, clean up
|
||||
"R /var/lib/polkit-1"
|
||||
"R /var/lib/PolicyKit"
|
||||
];
|
||||
|
||||
users.users.polkituser = {
|
||||
description = "PolKit daemon";
|
||||
uid = config.ids.uids.polkituser;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,13 @@
|
|||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkMerge
|
||||
mkOption
|
||||
;
|
||||
|
||||
cfg = config.security.run0;
|
||||
|
||||
sudoAlias = pkgs.writeShellScriptBin "sudo" ''
|
||||
|
|
@ -18,7 +25,9 @@ let
|
|||
in
|
||||
{
|
||||
options.security.run0 = {
|
||||
wheelNeedsPassword = lib.mkOption {
|
||||
enable = mkEnableOption "support for run0";
|
||||
|
||||
wheelNeedsPassword = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
|
|
@ -27,26 +36,45 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
enableSudoAlias = lib.mkEnableOption "make {command}`sudo` an alias to {command}`run0`.";
|
||||
enableSudoAlias = mkEnableOption "make {command}`sudo` an alias to {command}`run0`.";
|
||||
};
|
||||
|
||||
config = {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
cfg.enableSudoAlias -> (!config.security.sudo.enable && !config.security.sudo-rs.enable);
|
||||
message = "`security.run0.enableSudoAlias` cannot be enabled if `security.sudo` or `security.sudo-rs` are enabled.";
|
||||
}
|
||||
];
|
||||
|
||||
security.polkit.extraConfig = lib.mkIf (!cfg.wheelNeedsPassword) ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id == "org.freedesktop.systemd1.manage-units" && subject.isInGroup("wheel")) {
|
||||
return polkit.Result.YES;
|
||||
config = mkMerge [
|
||||
{
|
||||
# Late introduction of the enable toggle, this should help during migration.
|
||||
# TODO: Remove after 26.11 release
|
||||
assertions = [
|
||||
{
|
||||
assertion = !cfg.wheelNeedsPassword -> cfg.enable;
|
||||
message = "`security.run0.enable` is currently disabled, but is required for the `security.run0.wheelNeedsPassword` option to take effect";
|
||||
}
|
||||
});
|
||||
'';
|
||||
{
|
||||
assertion = cfg.enableSudoAlias -> cfg.enable;
|
||||
message = "`security.run0.enableSudoAlias` depends on `security.run0.enable`, which is disabled.";
|
||||
}
|
||||
];
|
||||
}
|
||||
(mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
cfg.enableSudoAlias -> (!config.security.sudo.enable && !config.security.sudo-rs.enable);
|
||||
message = "`security.run0.enableSudoAlias` cannot be enabled if `security.sudo` or `security.sudo-rs` are enabled.";
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = lib.optional cfg.enableSudoAlias sudoAlias;
|
||||
};
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
extraConfig = mkIf (!cfg.wheelNeedsPassword) ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id == "org.freedesktop.systemd1.manage-units" && subject.isInGroup("wheel")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = lib.optional cfg.enableSudoAlias sudoAlias;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,18 @@ in
|
|||
lib.optional cfg.enable 8097 # Music Assistant stream port
|
||||
++ lib.optional (lib.elem "airplay" cfg.providers) 7000
|
||||
++ lib.optional (lib.elem "sendspin" cfg.providers) 8927
|
||||
++ lib.optional (lib.elem "snapcast" cfg.providers) 1780;
|
||||
++ lib.optional (lib.elem "snapcast" cfg.providers) 1780
|
||||
++ lib.optionals (lib.elem "squeezelite" cfg.providers) [
|
||||
# https://lyrion.org/reference/slimproto-protocol/
|
||||
3483 # Slimproto control
|
||||
# https://lyrion.org/reference/cli/using-the-cli/
|
||||
9000 # Slimproto JSON-RPC
|
||||
9090 # Slimproto CLI
|
||||
];
|
||||
allowedUDPPorts = lib.optionals (lib.elem "squeezelite" cfg.providers) [
|
||||
# https://lyrion.org/reference/slimproto-protocol/
|
||||
3483 # Slimproto discovery
|
||||
];
|
||||
# The information published by Apple 1 seem to not apply to libraop.
|
||||
# The closest we could find that represents the port range being used as observed by tcpdump is the ephemeral port range.
|
||||
# 1: https://support.apple.com/en-us/103229#:~:text=49152%E2%80%93-,65535,-TCP%2C%20UDP
|
||||
|
|
|
|||
|
|
@ -243,6 +243,8 @@ in
|
|||
|
||||
# Required by Budgie's Polkit Dialog.
|
||||
security.polkit.enable = mkDefault true;
|
||||
# Required by Budige's Control Center and Desktop
|
||||
security.polkit.enablePkexecWrapper = mkDefault true;
|
||||
|
||||
# Required by Budgie Panel plugins and/or Budgie Control Center panels.
|
||||
networking.networkmanager.enable = mkDefault true; # for BCC's Network panel.
|
||||
|
|
|
|||
|
|
@ -146,7 +146,10 @@ in
|
|||
environment.sessionVariables.X11_EXTRA_RULES_XML = "${config.services.xserver.xkb.dir}/rules/base.extras.xml";
|
||||
programs.dconf.enable = true;
|
||||
programs.dconf.packages = [ pkgs.cosmic-session ];
|
||||
security.polkit.enable = true;
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
services.accounts-daemon.enable = true;
|
||||
services.displayManager.sessionPackages = [ pkgs.cosmic-session ];
|
||||
|
|
|
|||
|
|
@ -325,7 +325,11 @@ in
|
|||
i18n.inputMethod.enable = mkDefault true;
|
||||
i18n.inputMethod.type = mkDefault "ibus";
|
||||
programs.dconf.enable = true;
|
||||
security.polkit.enable = true;
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
# Required by gnome-initial-setup, gnome-system-monitor, gvfs for admin://
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
security.rtkit.enable = mkDefault true;
|
||||
services.accounts-daemon.enable = true;
|
||||
services.dleyna.enable = mkDefault true;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,10 @@
|
|||
config = lib.mkIf config.services.gnome.gnome-remote-desktop.enable {
|
||||
services.pipewire.enable = true;
|
||||
services.dbus.packages = [ pkgs.gnome-remote-desktop ];
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.gnome-remote-desktop ];
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,10 @@ in
|
|||
systemPackages = [ cfg.package ];
|
||||
};
|
||||
|
||||
security.polkit.enable = lib.mkDefault true;
|
||||
security.polkit = {
|
||||
enable = lib.mkDefault true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
|
||||
services = {
|
||||
dbus.packages = [ cfg.package ];
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ let
|
|||
cat > $out/startwm.sh <<EOF
|
||||
#!/bin/sh
|
||||
. /etc/profile
|
||||
${lib.optionalString cfg.audio.enable "${cfg.audio.package}/libexec/pulsaudio-xrdp-module/pulseaudio_xrdp_init"}
|
||||
${lib.optionalString cfg.audio.enable "${cfg.audio.package}/libexec/pulseaudio-xrdp-module/pulseaudio_xrdp_init"}
|
||||
${cfg.defaultWindowManager}
|
||||
EOF
|
||||
chmod +x $out/startwm.sh
|
||||
|
|
|
|||
|
|
@ -75,7 +75,11 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ cfg.package ] ++ cfg.schedsPackages;
|
||||
environment = {
|
||||
systemPackages = [ cfg.package ] ++ cfg.schedsPackages;
|
||||
etc."scx_loader.toml".source = configFile;
|
||||
};
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
|
||||
|
|
@ -84,10 +88,6 @@ in
|
|||
systemd.services.scx_loader = {
|
||||
path = cfg.schedsPackages;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
TemporaryFileSystem = [ "/etc" ];
|
||||
BindReadOnlyPaths = [ "${configFile.outPath}:/etc/scx_loader.toml" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,28 @@ let
|
|||
cfg.settings.database.backend == "postgresql"
|
||||
) finalPackage.optional-dependencies.postgres;
|
||||
};
|
||||
|
||||
pretalxManageWrapper = pkgs.writeShellApplication {
|
||||
name = "pretalx-manage";
|
||||
runtimeInputs = with pkgs; [
|
||||
util-linux
|
||||
];
|
||||
text = ''
|
||||
cd ${cfg.settings.filesystem.data}
|
||||
set -a
|
||||
${lib.concatMapStringsSep "\n" (file: ''
|
||||
. ${lib.escapeShellArg file}
|
||||
'') cfg.environmentFiles}
|
||||
set +a
|
||||
export PRETALX_CONFIG_FILE=${configFile}
|
||||
exec runuser ${
|
||||
lib.cli.toCommandLineShellGNU { } {
|
||||
inherit (cfg) user;
|
||||
preserve-environment = true;
|
||||
}
|
||||
} -- ${lib.getExe' pythonEnv "pretalx-manage"} "$@"
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
|
|
@ -325,18 +347,7 @@ in
|
|||
# https://docs.pretalx.org/administrator/installation/
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeScriptBin "pretalx-manage" ''
|
||||
cd ${cfg.settings.filesystem.data}
|
||||
sudo=exec
|
||||
if [[ "$USER" != ${cfg.user} ]]; then
|
||||
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} --preserve-env=PRETALX_CONFIG_FILE'
|
||||
fi
|
||||
set -a
|
||||
${lib.concatMapStringsSep "\n" (file: ". ${lib.escapeShellArg file}") cfg.environmentFiles}
|
||||
set +a
|
||||
export PRETALX_CONFIG_FILE=${configFile}
|
||||
$sudo ${lib.getExe' pythonEnv "pretalx-manage"} "$@"
|
||||
'')
|
||||
pretalxManageWrapper
|
||||
];
|
||||
|
||||
services.logrotate.settings.pretalx = {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ let
|
|||
mkOption
|
||||
mkPackageOption
|
||||
optionals
|
||||
optionalString
|
||||
recursiveUpdate
|
||||
types
|
||||
;
|
||||
|
|
@ -60,6 +59,24 @@ let
|
|||
};
|
||||
|
||||
withRedis = cfg.settings.redis.location != null;
|
||||
|
||||
pretixManageWrapper = pkgs.writeShellApplication {
|
||||
name = "pretix-manage";
|
||||
runtimeInputs = with pkgs; [
|
||||
util-linux
|
||||
];
|
||||
text = ''
|
||||
cd ${cfg.settings.pretix.datadir}
|
||||
export PRETIX_CONFIG_FILE=${configFile}
|
||||
exec runuser ${
|
||||
lib.cli.toCommandLineShellGNU { } {
|
||||
inherit (cfg) user;
|
||||
supp-group = if withRedis then config.services.redis.servers.pretix.group else null;
|
||||
whitelist-environment = "PRETIX_CONFIG_FILE";
|
||||
}
|
||||
} -- ${getExe' pythonEnv "pretix-manage"} "$@"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
|
|
@ -396,15 +413,7 @@ in
|
|||
# https://docs.pretix.eu/en/latest/admin/installation/index.html
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeScriptBin "pretix-manage" ''
|
||||
cd ${cfg.settings.pretix.datadir}
|
||||
sudo=exec
|
||||
if [[ "$USER" != ${cfg.user} ]]; then
|
||||
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} ${optionalString withRedis "-g redis-pretix"} --preserve-env=PRETIX_CONFIG_FILE'
|
||||
fi
|
||||
export PRETIX_CONFIG_FILE=${configFile}
|
||||
$sudo ${getExe' pythonEnv "pretix-manage"} "$@"
|
||||
'')
|
||||
pretixManageWrapper
|
||||
];
|
||||
|
||||
services.logrotate.settings.pretix = {
|
||||
|
|
|
|||
|
|
@ -111,7 +111,10 @@ in
|
|||
services.blueman.enable = mkDefault (notExcluded pkgs.blueman);
|
||||
services.hardware.bolt.enable = mkDefault (notExcluded pkgs.bolt);
|
||||
hardware.bluetooth.enable = mkDefault true;
|
||||
security.polkit.enable = true;
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
services.accounts-daemon.enable = true;
|
||||
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||
services.dbus.packages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -220,7 +220,10 @@ in
|
|||
|
||||
# Enable helpful DBus services.
|
||||
services.udisks2.enable = true;
|
||||
security.polkit.enable = true;
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
enablePkexecWrapper = lib.mkDefault true;
|
||||
};
|
||||
services.accounts-daemon.enable = true;
|
||||
services.upower.enable = config.powerManagement.enable;
|
||||
services.gnome.glib-networking.enable = true;
|
||||
|
|
|
|||
|
|
@ -1702,6 +1702,7 @@ in
|
|||
tiddlywiki = runTest ./tiddlywiki.nix;
|
||||
tigervnc = handleTest ./tigervnc.nix { };
|
||||
tika = runTest ./tika.nix;
|
||||
timekpr = runTest ./timekpr.nix;
|
||||
timezone = runTest ./timezone.nix;
|
||||
timidity = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./timidity { };
|
||||
tinc = handleTest ./tinc { };
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
# address.
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
|
@ -15,7 +14,7 @@
|
|||
|
||||
name = "kea";
|
||||
|
||||
nodes = {
|
||||
containers = {
|
||||
router =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
|
|
@ -26,6 +25,7 @@
|
|||
firewall.allowedUDPPorts = [ 67 ];
|
||||
};
|
||||
|
||||
services.resolved.enable = false;
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
|
|
@ -141,6 +141,7 @@
|
|||
firewall.allowedUDPPorts = [ 53 ];
|
||||
};
|
||||
|
||||
services.resolved.enable = false;
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
|
|
@ -153,8 +154,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
services.resolved.enable = false;
|
||||
|
||||
# Set up an authoritative nameserver, serving the `lan.nixos.test`
|
||||
# zone and configure an ACL that allows dynamic updates from
|
||||
# the router's ip address.
|
||||
|
|
@ -213,6 +212,7 @@
|
|||
{
|
||||
virtualisation.vlans = [ 1 ];
|
||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||
services.resolved.enable = false;
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
|
|
@ -222,16 +222,23 @@
|
|||
};
|
||||
};
|
||||
testScript =
|
||||
{ ... }:
|
||||
# python
|
||||
''
|
||||
start_all()
|
||||
|
||||
router.wait_for_unit("kea-dhcp4-server.service")
|
||||
client.systemctl("start systemd-networkd-wait-online.service")
|
||||
client.wait_for_unit("systemd-networkd-wait-online.service")
|
||||
client.wait_until_succeeds("ping -c 5 10.0.0.1")
|
||||
router.wait_until_succeeds("ping -c 5 10.0.0.3")
|
||||
nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3")
|
||||
router.log(router.execute("curl 127.0.0.1:9547")[1])
|
||||
router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'")
|
||||
|
||||
with subtest("DHCPv4"):
|
||||
client.systemctl("start systemd-networkd-wait-online.service")
|
||||
client.wait_for_unit("systemd-networkd-wait-online.service")
|
||||
client.wait_until_succeeds("ping -c 5 10.0.0.1")
|
||||
router.wait_until_succeeds("ping -c 5 10.0.0.3")
|
||||
|
||||
with subtest("DDNS"):
|
||||
nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3")
|
||||
|
||||
with subtest("Prometheus Exporter"):
|
||||
router.log(router.execute("curl 127.0.0.1:9547")[1])
|
||||
router.succeed("curl --silent 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'")
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -669,7 +669,7 @@ in
|
|||
|
||||
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
|
||||
with subtest("polkit agent works"):
|
||||
machine.send_chars("pkexec touch /tmp/polkit-test\n")
|
||||
machine.send_chars("run0 touch /tmp/polkit-test\n")
|
||||
# There's an authentication notification here that gains focus, but we struggle with OCRing it
|
||||
# Just hope that it's up after a short wait
|
||||
machine.sleep(10)
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
|
||||
# Provide a little logging of polkit checks - otherwise it's
|
||||
# impossible to know what's going on.
|
||||
security.polkit.debug = true;
|
||||
security.polkit.extraArgs = [ "--log-level=notice" ];
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
const ns = "org.freedesktop.RealtimeKit1.";
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import ./make-test-python.nix (
|
|||
hexa
|
||||
];
|
||||
};
|
||||
nodes = {
|
||||
containers = {
|
||||
|
||||
# The ISP's routers job is to delegate IPv6 prefixes via DHCPv6. Like with
|
||||
# regular IPv6 auto-configuration it will also emit IPv6 router
|
||||
|
|
@ -38,6 +38,7 @@ import ./make-test-python.nix (
|
|||
interfaces.eth1 = lib.mkForce { }; # Don't use scripted networking
|
||||
};
|
||||
|
||||
services.resolved.enable = false;
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
|
||||
|
|
@ -204,6 +205,7 @@ import ./make-test-python.nix (
|
|||
interfaces.eth1.ipv6.addresses = lib.mkForce [ ];
|
||||
};
|
||||
|
||||
services.resolved.enable = false;
|
||||
systemd.network = {
|
||||
networks = {
|
||||
# systemd-networkd will load the first network unit file
|
||||
|
|
@ -300,6 +302,7 @@ import ./make-test-python.nix (
|
|||
client = {
|
||||
virtualisation.vlans = [ 2 ];
|
||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||
services.resolved.enable = false;
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
name = "timekpr";
|
||||
meta.maintainers = [ lib.maintainers.atry ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
services.timekpr.enable = true;
|
||||
};
|
||||
containers.machine = {
|
||||
services.timekpr.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
|
|
|||
|
|
@ -4,37 +4,38 @@
|
|||
name = "pretalx";
|
||||
meta.maintainers = pkgs.pretalx.meta.maintainers;
|
||||
|
||||
nodes = {
|
||||
pretalx =
|
||||
{ config, ... }:
|
||||
{
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 talks.local
|
||||
'';
|
||||
containers.pretalx =
|
||||
{ config, ... }:
|
||||
{
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 talks.local
|
||||
'';
|
||||
|
||||
services.pretalx = {
|
||||
enable = true;
|
||||
plugins = with config.services.pretalx.package.plugins; [
|
||||
pages
|
||||
];
|
||||
nginx.domain = "talks.local";
|
||||
settings = {
|
||||
site.url = "http://talks.local";
|
||||
};
|
||||
services.pretalx = {
|
||||
enable = true;
|
||||
plugins = with config.services.pretalx.package.plugins; [
|
||||
pages
|
||||
];
|
||||
nginx.domain = "talks.local";
|
||||
settings = {
|
||||
site.url = "http://talks.local";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
testScript =
|
||||
# python
|
||||
''
|
||||
start_all()
|
||||
|
||||
pretalx.wait_for_unit("pretalx-web.service")
|
||||
pretalx.wait_for_unit("pretalx-worker.service")
|
||||
pretalx.wait_for_unit("pretalx-web.service")
|
||||
pretalx.wait_for_unit("pretalx-worker.service")
|
||||
|
||||
pretalx.wait_until_succeeds("curl -q --fail http://talks.local/orga/")
|
||||
pretalx.wait_until_succeeds("curl -q --fail http://talks.local/orga/")
|
||||
|
||||
pretalx.succeed("pretalx-manage --help")
|
||||
pretalx.log(pretalx.succeed("id"))
|
||||
pretalx.succeed("pretalx-manage --help | grep -q 'createsuperuser'")
|
||||
|
||||
pretalx.log(pretalx.succeed("systemd-analyze security pretalx-web.service"))
|
||||
'';
|
||||
pretalx.log(pretalx.succeed("systemd-analyze security pretalx-web.service"))
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,50 +1,47 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
name = "pretix";
|
||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||
meta.maintainers = pkgs.pretix.meta.maintainers;
|
||||
|
||||
nodes = {
|
||||
pretix = {
|
||||
virtualisation.memorySize = 2048;
|
||||
containers.pretix = {
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 tickets.local
|
||||
'';
|
||||
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 tickets.local
|
||||
'';
|
||||
|
||||
services.pretix = {
|
||||
enable = true;
|
||||
nginx.domain = "tickets.local";
|
||||
plugins = with pkgs.pretix.plugins; [
|
||||
passbook
|
||||
pages
|
||||
zugferd
|
||||
];
|
||||
settings = {
|
||||
pretix = {
|
||||
instance_name = "NixOS Test";
|
||||
url = "http://tickets.local";
|
||||
};
|
||||
mail.from = "hello@tickets.local";
|
||||
services.pretix = {
|
||||
enable = true;
|
||||
nginx.domain = "tickets.local";
|
||||
plugins = with pkgs.pretix.plugins; [
|
||||
passbook
|
||||
pages
|
||||
zugferd
|
||||
];
|
||||
settings = {
|
||||
pretix = {
|
||||
instance_name = "NixOS Test";
|
||||
url = "http://tickets.local";
|
||||
};
|
||||
mail.from = "hello@tickets.local";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
testScript =
|
||||
# python
|
||||
''
|
||||
start_all()
|
||||
|
||||
pretix.wait_for_unit("pretix-web.service")
|
||||
pretix.wait_for_unit("pretix-worker.service")
|
||||
pretix.wait_for_unit("pretix-web.service")
|
||||
pretix.wait_for_unit("pretix-worker.service")
|
||||
|
||||
pretix.wait_until_succeeds("curl -q --fail http://tickets.local")
|
||||
pretix.wait_until_succeeds("curl -q --fail http://tickets.local")
|
||||
|
||||
pretix.succeed("pretix-manage --help")
|
||||
pretix.succeed("pretix-manage --help | grep -q 'createsuperuser'")
|
||||
|
||||
pretix.log(pretix.succeed("systemd-analyze security pretix-web.service"))
|
||||
'';
|
||||
pretix.log(pretix.succeed("systemd-analyze security pretix-web.service"))
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "deadbeef-statusnotifier-plugin";
|
||||
version = "1.6";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vovochka404";
|
||||
repo = "deadbeef-statusnotifier-plugin";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-6WEbY59vPNrL3W5GUwFQJimmSS+td8Ob+G46fPAxfV4=";
|
||||
sha256 = "sha256-pDiQn+iHSTNWTO01j/fbEq3P374TMmnUiC5/Jn2hwBI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
|||
|
|
@ -5097,6 +5097,27 @@
|
|||
};
|
||||
}
|
||||
) { };
|
||||
keymap-popup = callPackage (
|
||||
{
|
||||
elpaBuild,
|
||||
fetchurl,
|
||||
lib,
|
||||
}:
|
||||
elpaBuild {
|
||||
pname = "keymap-popup";
|
||||
ename = "keymap-popup";
|
||||
version = "0.3.1.0.20260530.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/devel/keymap-popup-0.3.1.0.20260530.4.tar";
|
||||
sha256 = "1k6aqp65x3azbipj2pwdg15pip045cawx4im04s84kbk91fx0fxs";
|
||||
};
|
||||
packageRequires = [ ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/devel/keymap-popup.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}
|
||||
) { };
|
||||
kind-icon = callPackage (
|
||||
{
|
||||
elpaBuild,
|
||||
|
|
|
|||
|
|
@ -5015,6 +5015,27 @@
|
|||
};
|
||||
}
|
||||
) { };
|
||||
keymap-popup = callPackage (
|
||||
{
|
||||
elpaBuild,
|
||||
fetchurl,
|
||||
lib,
|
||||
}:
|
||||
elpaBuild {
|
||||
pname = "keymap-popup";
|
||||
ename = "keymap-popup";
|
||||
version = "0.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/keymap-popup-0.3.1.tar";
|
||||
sha256 = "0m44s8618n7g5pajxiv4k1dfx6l58gr01a3ga26fxc51j1d05q8b";
|
||||
};
|
||||
packageRequires = [ ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/keymap-popup.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}
|
||||
) { };
|
||||
kind-icon = callPackage (
|
||||
{
|
||||
elpaBuild,
|
||||
|
|
|
|||
|
|
@ -20,5 +20,22 @@ in
|
|||
yasnippet
|
||||
]
|
||||
);
|
||||
|
||||
# requires optional dependency for OMEMO support.
|
||||
jabber = super.jabber.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.mbedtls ];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
|
||||
# We need to run this in postInstall for package directory to become available
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ "\n"
|
||||
+ ''
|
||||
pushd $out/share/emacs/site-lisp/elpa/jabber-*/src
|
||||
make CC=$CC
|
||||
rm -r $out/share/emacs/site-lisp/elpa/jabber-*/src
|
||||
popd
|
||||
'';
|
||||
});
|
||||
# keep-sorted end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3225,17 +3225,21 @@
|
|||
elpaBuild,
|
||||
fetchurl,
|
||||
fsm,
|
||||
keymap-popup,
|
||||
lib,
|
||||
}:
|
||||
elpaBuild {
|
||||
pname = "jabber";
|
||||
ename = "jabber";
|
||||
version = "0.10.5.0.20260423.192938";
|
||||
version = "0.11.0.0.20260614.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu-devel/jabber-0.10.5.0.20260423.192938.tar";
|
||||
sha256 = "1q79iv4znishj6rdz1m76r0c8h72i2g47xfh6xfw2gqxbkkyilv3";
|
||||
url = "https://elpa.nongnu.org/nongnu-devel/jabber-0.11.0.0.20260614.0.tar";
|
||||
sha256 = "19h0w85m6vzwwpsgg6ifcyx2j082cgj6dpd7s5yd7pr438jazkn3";
|
||||
};
|
||||
packageRequires = [ fsm ];
|
||||
packageRequires = [
|
||||
fsm
|
||||
keymap-popup
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://elpa.nongnu.org/nongnu-devel/jabber.html";
|
||||
license = lib.licenses.free;
|
||||
|
|
|
|||
|
|
@ -3240,17 +3240,21 @@
|
|||
elpaBuild,
|
||||
fetchurl,
|
||||
fsm,
|
||||
keymap-popup,
|
||||
lib,
|
||||
}:
|
||||
elpaBuild {
|
||||
pname = "jabber";
|
||||
ename = "jabber";
|
||||
version = "0.10.5";
|
||||
version = "0.11.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/jabber-0.10.5.tar";
|
||||
sha256 = "1vjmajcls0l6mwccqdp7gr4g4r1z6f2qaf2palnimjb7w3gzh4mk";
|
||||
url = "https://elpa.nongnu.org/nongnu/jabber-0.11.0.tar";
|
||||
sha256 = "1wikfd8iqj9r1qrh6cd593vgbkjndfpm9f12ilsdwxwh0nx3cpd7";
|
||||
};
|
||||
packageRequires = [ fsm ];
|
||||
packageRequires = [
|
||||
fsm
|
||||
keymap-popup
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://elpa.nongnu.org/nongnu/jabber.html";
|
||||
license = lib.licenses.free;
|
||||
|
|
|
|||
|
|
@ -67,10 +67,10 @@ vimUtils.buildVimPlugin {
|
|||
in
|
||||
''
|
||||
mkdir -p $out/build
|
||||
ln -s ${avante-nvim-lib}/lib/libavante_repo_map${ext} $out/build/avante_repo_map${ext}
|
||||
ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext}
|
||||
ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext}
|
||||
ln -s ${avante-nvim-lib}/lib/libavante_html2md${ext} $out/build/avante_html2md${ext}
|
||||
cp ${avante-nvim-lib}/lib/libavante_repo_map${ext} $out/build/avante_repo_map${ext}
|
||||
cp ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext}
|
||||
cp ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext}
|
||||
cp ${avante-nvim-lib}/lib/libavante_html2md${ext} $out/build/avante_html2md${ext}
|
||||
|
||||
# Fixes PKCE auth flows not finding libcrypto
|
||||
substituteInPlace "$out/lua/avante/auth/pkce.lua" \
|
||||
|
|
|
|||
|
|
@ -338,8 +338,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
gtk = gtk3;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU Image Manipulation Program";
|
||||
homepage = "https://www.gimp.org/";
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cni-plugins";
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containernetworking";
|
||||
repo = "plugins";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0ZonR8pV20bBbC2AkNCJhoseDVxNwwMa7coD/ON6clA=";
|
||||
hash = "sha256-3OhUvIJPU5Ayc4/po9Rj4Tfa5536aN8bj+51M6Xg5os=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
|||
|
|
@ -1058,11 +1058,11 @@
|
|||
"vendorHash": null
|
||||
},
|
||||
"oracle_oci": {
|
||||
"hash": "sha256-uIggPhDgTMQei6LpXPzAbfbsoNjVN35P60QcqqHyCIA=",
|
||||
"hash": "sha256-SFs0BYaYgB4J/HbaYFx1Sh1raVWhRJdW/3KMWdyvX+I=",
|
||||
"homepage": "https://registry.terraform.io/providers/oracle/oci",
|
||||
"owner": "oracle",
|
||||
"repo": "terraform-provider-oci",
|
||||
"rev": "v8.17.0",
|
||||
"rev": "v8.18.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
|
@ -1436,13 +1436,13 @@
|
|||
"vendorHash": "sha256-lWBMihP6oX7qPpTuPQQwQS3IDwdyb/rEYqtBsTozb7Q="
|
||||
},
|
||||
"venafi_venafi": {
|
||||
"hash": "sha256-wpAckNRqZjSDt7KpCRpLSYkn6Gm+QPzn5sIJ90wRXjI=",
|
||||
"hash": "sha256-WOCZRVAYVR9uzsyyAvCQvYReaas6YmZsbRgxxxhDF/k=",
|
||||
"homepage": "https://registry.terraform.io/providers/Venafi/venafi",
|
||||
"owner": "Venafi",
|
||||
"repo": "terraform-provider-venafi",
|
||||
"rev": "v0.23.1",
|
||||
"rev": "v0.23.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-chDZVBd7tb1VsfTXcWz7j29LzHpUnJpXKRFAyqxnR8s="
|
||||
"vendorHash": "sha256-rqDzBez3HvhG+xvEyQ6foq/m0sFyyqrioquY9mcuWOU="
|
||||
},
|
||||
"vinyldns_vinyldns": {
|
||||
"hash": "sha256-/M+HFMDeKpIzzdn04TkMxriVeE6vvORRiqonxF38B9Q=",
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
libtorrent-rasterbar,
|
||||
python3Packages,
|
||||
gtk3,
|
||||
libappindicator-gtk3,
|
||||
glib,
|
||||
gobject-introspection,
|
||||
librsvg,
|
||||
|
|
@ -54,6 +55,7 @@ let
|
|||
gtk3
|
||||
gobject-introspection
|
||||
pygobject3
|
||||
libappindicator-gtk3
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@ in
|
|||
buildKodiAddon rec {
|
||||
pname = "jellycon";
|
||||
namespace = "plugin.video.jellycon";
|
||||
version = "0.9.1";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jellyfin";
|
||||
repo = "jellycon";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-bSAzd0nKD0S3hNEM0azmCNPw9wHQK5XH6lbfcz3sW9o=";
|
||||
sha256 = "sha256-1o9mkMjlLDIcokpTqDKmFlCOF1XjrVOxlFfy0bpZolc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ buildGoModule (finalAttrs: {
|
|||
description = "Static checker for GitHub Actions workflow files";
|
||||
changelog = "https://github.com/rhysd/actionlint/raw/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "actionlint";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -43,6 +43,6 @@ buildGoModule {
|
|||
mainProgram = "algolia";
|
||||
homepage = "https://algolia.com/doc/tools/cli/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
platforms = lib.platforms.all;
|
||||
homepage = "https://github.com/abap34/almo";
|
||||
changelog = "https://github.com/abap34/almo/releases/tag/${finalAttrs.src.tag}";
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "almo";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ let
|
|||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "amp-cli";
|
||||
version = "0.0.1780564400-g2007df";
|
||||
version = "0.0.1781370323-g977781";
|
||||
|
||||
src = finalAttrs.passthru.sources.${stdenvNoCC.hostPlatform.system};
|
||||
|
||||
|
|
@ -78,10 +78,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
url = "https://static.ampcode.com/cli/${finalAttrs.version}/amp-${platform}.gz";
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-7hUa1Qs1pNH2+31rrc9T99eDQ9Vq+CSwxROISyPqogY=";
|
||||
aarch64-linux = "sha256-ThT2J1YBoZM5+YanRbL40GyxYQtK/xyDqac8fv0gfZs=";
|
||||
x86_64-darwin = "sha256-VnuMqXVzqge5jgduxB+woYLVZkFtu92MEsEsrh4tJgE=";
|
||||
aarch64-darwin = "sha256-gYAI+eQitglQTBtuilHkHKd8rsYsJ7s2QKoFQR85l6o=";
|
||||
x86_64-linux = "sha256-taXa0AE0re6IoUxr/Sa7Os/pt/u0Zm+eCxRbRW019fA=";
|
||||
aarch64-linux = "sha256-gFfgGlFB+HpV+KAitpOtXu2ij7hQYmxzm8gzy+l79us=";
|
||||
x86_64-darwin = "sha256-1L+J9i/y5fg2rySOfAZySnBbqgmxpM7+7h9CoREI14s=";
|
||||
aarch64-darwin = "sha256-1I7roExnTQFjByVDDr6ym3X+70Ba9IVE9vxBHVlJQIY=";
|
||||
}
|
||||
.${system'};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "astroterm";
|
||||
version = "1.0.10";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "da-luce";
|
||||
repo = "astroterm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-z9KblIAoXk///NnRFHCSAFNDuNiPxDuuiliajcsyJM0=";
|
||||
hash = "sha256-u0UKYoZCDClRmG12czmm0rmOcy3nruarSyjdh8Lu2dw=";
|
||||
};
|
||||
|
||||
bsc5File = fetchurl {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
python3Packages.buildPythonApplication {
|
||||
pname = "avell-unofficial-control-center";
|
||||
version = "1.0.4";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rodgomesc";
|
||||
|
|
@ -17,14 +17,16 @@ python3Packages.buildPythonApplication {
|
|||
sha256 = "1qz1kv7p09nxffndzz9jlkzpfx26ppz66f8603zyamjq9dqdmdin";
|
||||
};
|
||||
|
||||
# No tests included
|
||||
doCheck = false;
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
dependencies = with python3Packages; [
|
||||
pyusb
|
||||
elevate
|
||||
];
|
||||
|
||||
# No tests included
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/rodgomesc/avell-unofficial-control-center";
|
||||
description = "Software for controlling RGB keyboard lights on some gaming laptops that use ITE Device(8291) Rev 0.03";
|
||||
|
|
|
|||
|
|
@ -36,6 +36,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
mainProgram = "avro-tools";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
cron,
|
||||
openssh,
|
||||
sshfs-fuse,
|
||||
fuse3,
|
||||
gocryptfs,
|
||||
which,
|
||||
ps,
|
||||
|
|
@ -73,11 +74,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
--replace-fail "share" "${python'.sitePackages}"
|
||||
|
||||
substituteInPlace "schedule.py" \
|
||||
--replace-fail "'crontab'" "'${cron}/bin/crontab'" \
|
||||
--replace-fail "'crontab'" "'${lib.getExe' cron "crontab"}'" \
|
||||
--replace-fail "'which'" "'${lib.getExe which}'" \
|
||||
--replace-fail "'ps'" "'${lib.getExe ps}'" \
|
||||
--replace-fail "'grep'" "'${lib.getExe gnugrep}'" \
|
||||
|
||||
substituteInPlace mount.py \
|
||||
--replace-fail "'fusermount'" "'${lib.getExe' fuse3 "fusermount3"}'"
|
||||
|
||||
substituteInPlace "bitlicense.py" \
|
||||
--replace-fail "/usr/share/doc" "$out/share/doc" \
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "bazel-gazelle";
|
||||
version = "0.47.0";
|
||||
version = "0.51.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bazelbuild";
|
||||
owner = "bazel-contrib";
|
||||
repo = "bazel-gazelle";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-rnJ8rht7ccAI8ceOv3B0mlcY0fQg9Nfy+hu+/pmQQqE=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ooqk4xutkjXoy9Irikos/53+6Mhdh3+WmJF7vo3JVFw=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
@ -22,14 +22,18 @@ buildGoModule (finalAttrs: {
|
|||
subPackages = [ "cmd/gazelle" ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/bazelbuild/bazel-gazelle";
|
||||
changelog = "https://github.com/bazel-contrib/bazel-gazelle/releases/tag/${finalAttrs.src.tag}";
|
||||
homepage = "https://github.com/bazel-contrib/bazel-gazelle";
|
||||
description = ''
|
||||
Gazelle is a Bazel build file generator for Bazel projects. It natively
|
||||
supports Go and protobuf, and it may be extended to support new languages
|
||||
and custom rule sets.
|
||||
'';
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ kalbasit ];
|
||||
maintainers = with lib.maintainers; [
|
||||
kalbasit
|
||||
hythera
|
||||
];
|
||||
mainProgram = "gazelle";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -95,9 +95,6 @@ buildNpmPackage rec {
|
|||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
# make electron-builder not attempt to codesign the app on darwin
|
||||
env.CSC_IDENTITY_AUTO_DISCOVERY = "false";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
dart-sass
|
||||
|
|
|
|||
|
|
@ -86,6 +86,6 @@ stdenv.mkDerivation {
|
|||
homepage = "https://github.com/google/bloaty";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,20 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "blocky";
|
||||
version = "0.30.0";
|
||||
version = "0.31.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "0xERR0R";
|
||||
repo = "blocky";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-SZpAPX+MIQA0HRUUmjXi7g+DEJ+jyub4rlyc0RLclew=";
|
||||
hash = "sha256-qFGJaShWplvZo/uKRjizWWeb/OzLJCoL9YTRsKWTriY=";
|
||||
};
|
||||
|
||||
# needs network connection and fails at
|
||||
# https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go
|
||||
doCheck = false;
|
||||
|
||||
vendorHash = "sha256-DahHFf0w0ksQniuVByX45/fLcqpAga23qMjAGnZTjjY=";
|
||||
vendorHash = "sha256-EsGaY3U6bHjQTj+rLRtjiQJoNP5WnP7/gZ2NrRX53b0=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,6 @@ buildGoModule (finalAttrs: {
|
|||
description = "CLI for building apps using Cloud Native Buildpacks";
|
||||
mainProgram = "pack";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
homepage = "https://developer.android.com/studio/command-line/bundletool";
|
||||
changelog = "https://github.com/google/bundletool/releases/tag/${finalAttrs.version}";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
platforms = jre_headless.meta.platforms;
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "byobu";
|
||||
version = "6.13";
|
||||
version = "6.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dustinkirkland";
|
||||
repo = "byobu";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-h+3BEMfBRozmpqFNRyfKzjKgevaYm8v7DsJMwkhiCQ4=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-QovoXH8cm8CZMSYGjI7FgynHtJjahpe9R2s62F7aZvo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
@ -103,9 +103,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
Tmux terminal multiplexer, and works on most Linux, BSD, and Mac
|
||||
distributions.
|
||||
'';
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "byobu";
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ cbrxyz ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -13,12 +13,3 @@ index 3e4f9ea..5b82861 100644
|
|||
)
|
||||
|
||||
dependency('pygobject-3.0')
|
||||
@@ -82,7 +78,7 @@ configure_file(
|
||||
|
||||
install_data(
|
||||
'share/applications/caffeine.desktop',
|
||||
- install_dir: '/etc/xdg/autostart',
|
||||
+ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'),
|
||||
)
|
||||
|
||||
install_data(
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@
|
|||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "caffeine-ng";
|
||||
version = "4.2.0";
|
||||
version = "4.3.2";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "WhyNotHugo";
|
||||
repo = "caffeine-ng";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-uYzLRZ+6ZgIwhSuJWRBpLYHgonX7sFXgUZid0V26V0Q=";
|
||||
hash = "sha256-eJ/0lzE5X1WFhgTAgI/SOmtxPbK7ppTk90RWobPZk2o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -49,6 +49,6 @@ rustPlatform.buildRustPackage rec {
|
|||
mainProgram = "cargo-risczero";
|
||||
homepage = "https://risczero.com";
|
||||
license = with lib.licenses; [ asl20 ];
|
||||
maintainers = with lib.maintainers; [ cameronfyfe ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ bundlerEnv {
|
|||
mainProgram = "cfn_nag";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
momeemt
|
||||
mathstlouis
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,6 @@ buildNpmPackage (finalAttrs: {
|
|||
changelog = "https://github.com/clean-css/clean-css-cli/blob/v${finalAttrs.version}/History.md";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "cleancss";
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
stdenv,
|
||||
fetchurl,
|
||||
cabextract,
|
||||
installFonts,
|
||||
}:
|
||||
|
||||
let
|
||||
|
|
@ -76,7 +77,10 @@ stdenv.mkDerivation {
|
|||
) fonts
|
||||
);
|
||||
|
||||
nativeBuildInputs = [ cabextract ];
|
||||
nativeBuildInputs = [
|
||||
cabextract
|
||||
installFonts
|
||||
];
|
||||
|
||||
buildCommand = ''
|
||||
for i in $exes; do
|
||||
|
|
@ -124,7 +128,9 @@ stdenv.mkDerivation {
|
|||
mv webdings.ttf Webdings.ttf.tmp
|
||||
mv Webdings.ttf.tmp Webdings.ttf
|
||||
|
||||
install -m444 -Dt $out/share/fonts/truetype *.ttf
|
||||
# using buildCommand means no phases are run
|
||||
# so we run the function ourselves
|
||||
installFonts
|
||||
|
||||
# Also put the EULA there to be on the safe side.
|
||||
cp ${eula} $out/share/fonts/truetype/eula.html
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
glib,
|
||||
glibc,
|
||||
icu,
|
||||
libffi,
|
||||
python3,
|
||||
gn,
|
||||
ninja,
|
||||
|
|
@ -106,6 +107,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
buildInputs = [
|
||||
glib
|
||||
icu
|
||||
libffi
|
||||
]
|
||||
++ lib.optionals stdenv.targetPlatform.isDarwin [
|
||||
apple-sdk_15
|
||||
|
|
@ -123,6 +125,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
RUSTC_BOOTSTRAP = 1;
|
||||
EXTRA_GN_ARGS = lib.concatStringsSep " " (
|
||||
[
|
||||
"use_system_libffi=true"
|
||||
"use_sysroot=false" # prevent download of debian sysroot
|
||||
"clang_version=\"${lib.versions.major llvmPackages.clang.version}\""
|
||||
"rustc_version=\"${rustc.version}\""
|
||||
|
|
|
|||
|
|
@ -64,19 +64,18 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
cp -R ${electron.dist}/Electron.app Electron.app
|
||||
chmod -R u+w Electron.app
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
sed -i "/afterSign/d" electron-builder-linux-mac.json
|
||||
''
|
||||
+ ''
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin "--config electron-builder-linux-mac.json --config.mac.identity=null"} \
|
||||
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \
|
||||
-c.electronVersion=${electron.version}
|
||||
--config electron-builder-linux-mac.json \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.mac.identity=null
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [ cameronfyfe ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "dumbpipe";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@
|
|||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pname = "dvdisaster";
|
||||
version = "0.79.10-pl5";
|
||||
version = "0.79.10-pl6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "speed47";
|
||||
repo = "dvdisaster";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-lWvZDB08lZb87l4oEbrdtc6Me4mWHiW3DFNXYoYR3a0=";
|
||||
hash = "sha256-yQldvTvmbZgIOLKzdubd1zomSRKvAkTnS6hpEYWPr8A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -32,6 +32,6 @@ buildNpmPackage {
|
|||
homepage = "https://ejs.co";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "ejs";
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ buildGoModule (finalAttrs: {
|
|||
description = "Command output timestamper";
|
||||
homepage = "https://github.com/gdubicki/ets/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ cameronfyfe ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "ets";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
analysis.
|
||||
'';
|
||||
homepage = "https://www.ettercap-project.org/";
|
||||
changelog = "https://github.com/Ettercap/ettercap/releases/tag/${finalAttrs.version}";
|
||||
changelog = "https://github.com/Ettercap/ettercap/blob/master/CHANGELOG";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ pSub ];
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ buildNpmPackage rec {
|
|||
license = lib.licenses.mit;
|
||||
mainProgram = "firebase";
|
||||
maintainers = with lib.maintainers; [
|
||||
momeemt
|
||||
sarahec
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -87,8 +87,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
peterhoeg
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
changelog = "https://cvs.savannah.gnu.org/viewvc/global/global/NEWS?view=markup&pathrev=VERSION-${
|
||||
lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version
|
||||
}";
|
||||
changelog = "https://www.gnu.org/software/global/whatsnew.html";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "google-cloud-sql-proxy";
|
||||
version = "2.21.1";
|
||||
version = "2.22.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = "cloud-sql-proxy";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-3C7IfpVcv1BpzKnMV6dQJ0e7hY50owR3YijlI2+cAJQ=";
|
||||
hash = "sha256-vTTYQ1D42X1L03EE9c5Xz/SCRE3wWROT/daY+f0vLPI=";
|
||||
};
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorHash = "sha256-tbglk7rscPx1RrURSzVW5FgZE6b6mp4tvOXVQKMUrjQ=";
|
||||
vendorHash = "sha256-lOT9GpZk6Bv5P8kiyMR4j+aHOO0be4pW4WvVux8hpnQ=";
|
||||
|
||||
checkFlags = [
|
||||
"-short"
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "gpu-viewer";
|
||||
version = "3.34";
|
||||
version = "3.35";
|
||||
pyproject = false;
|
||||
__structuredAttrs = true;
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
|||
owner = "arunsivaramanneo";
|
||||
repo = "gpu-viewer";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ovgP5RaFAT01zccQiyy1vERBj9OW77v0hMZ0SjoS74M=";
|
||||
hash = "sha256-W8BPtHbOwLZ95bY6ZmAaKS87fh+gOWZIhxjWKqiavag=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -50,28 +50,20 @@ buildNpmPackage (finalAttrs: {
|
|||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# electronDist needs to be modifiable on Darwin
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
# Disable code signing during build on macOS.
|
||||
# https://github.com/electron-userland/electron-builder/blob/fa6fc16/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
||||
# the electronDist directory needs to be outside of the working directory
|
||||
# otherwise the electron-builder config accidentally includes it inside the .asar file
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version}
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=${electron.dist} \
|
||||
-c.electronVersion=${electron.version}
|
||||
''
|
||||
+ ''
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.mac.identity=null
|
||||
# ^ disable codesigning on Darwin
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
|
|
|
|||
60
pkgs/by-name/hi/hinoirisetr/package.nix
Normal file
60
pkgs/by-name/hi/hinoirisetr/package.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
fetchFromForgejo,
|
||||
installShellFiles,
|
||||
lib,
|
||||
libnotify,
|
||||
pandoc,
|
||||
patchelf,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hinoirisetr";
|
||||
version = "1.6.3";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromForgejo {
|
||||
domain = "git.vavakado.xyz";
|
||||
owner = "me";
|
||||
repo = "hinoirisetr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-XgIeeVCnlntf2RopA6SMuFCgbqTlTEZv6V5ezjEHVKA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-lydS9TWb+Y1PPC7C3Mn6KNVX1fsooAcDKJeKMnXWZY0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pandoc
|
||||
patchelf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libnotify
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
patchelf --add-rpath "${lib.getLib libnotify}/lib" $out/bin/hinoirisetr
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
pandoc manpages/hinoirisetr.1.md -s -t man -o hinoirisetr.1
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installManPage hinoirisetr.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "a lightweight daemon that automatically adjusts your screen's color temperature and gamma";
|
||||
homepage = "https://git.vavakado.xyz/me/hinoirisetr";
|
||||
changelog = "https://git.vavakado.xyz/me/hinoirisetr/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
vavakado
|
||||
];
|
||||
mainProgram = "hinoirisetr";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
|
@ -9,16 +9,16 @@
|
|||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hl-log-viewer";
|
||||
version = "0.36.2";
|
||||
version = "0.36.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pamburus";
|
||||
repo = "hl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-r6p4gw1QzZPu1DWzbTNDnvKMi/pqZvViK4rAn4aov4A=";
|
||||
hash = "sha256-Azt1jfBZP7N5ZAgdY2Hww6nt5ty2VEKZpaHZDodP/zM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8yb8elk8iG4snyExkQdJQn5eaKMNcPqYsAE/sIW6euk=";
|
||||
cargoHash = "sha256-RXIXoF3z2Zleje1OakHXQxPmNkRcqHjINRZYqMXS8U0=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
|||
|
|
@ -21,21 +21,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "inlyne";
|
||||
version = "0.5.0";
|
||||
version = "0.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Inlyne-Project";
|
||||
repo = "inlyne";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ueE1NKbCMBUBrrdsHkwZ5Yv6LD3tQL3ZAk2O4xoYOcw=";
|
||||
hash = "sha256-bUM9Mn/C9l6s6ucoLRo25m4PbbW3gp5d3AvO/9GTJcI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-6TwMZNYvW1bBE+9PJUXQxP5Uz7VYsjyLabmaxcX9Mbk=";
|
||||
|
||||
cargoPatches = [
|
||||
# update metrics dependency to fix Rust 1.94 compatibility
|
||||
./update-metrics.patch
|
||||
];
|
||||
cargoHash = "sha256-IaaojW5PYSUwyh1iv2HrDidIV8keEykKHY61rpcCAPc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
|
@ -83,6 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
lib.makeLibraryPath [
|
||||
libGL
|
||||
libx11
|
||||
libxkbcommon
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -2409,9 +2409,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "metrics"
|
||||
-version = "0.24.0"
|
||||
+version = "0.24.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8ae428771d17306715c5091d446327d1cfdedc82185c65ba8423ab404e45bf10"
|
||||
+checksum = "5d5312e9ba3771cfa961b585728215e3d972c950a3eed9252aa093d6301277e8"
|
||||
dependencies = [
|
||||
"ahash 0.8.11",
|
||||
"portable-atomic",
|
||||
|
|
@ -69,8 +69,6 @@ buildNpmPackage.override { inherit nodejs; } rec {
|
|||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
# use our own node headers since we skip downloading them
|
||||
NIX_CFLAGS_COMPILE = "-I${nodejs}/include/node";
|
||||
# disable code signing on Darwin
|
||||
CSC_IDENTITY_AUTO_DISCOVERY = lib.optionalString stdenv.hostPlatform.isDarwin "false";
|
||||
};
|
||||
|
||||
postConfigure = ''
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.epl10;
|
||||
platforms = jdk.meta.platforms;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "lein";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -26,13 +26,13 @@ let
|
|||
in
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "lemminx";
|
||||
version = "0.31.0";
|
||||
version = "0.31.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eclipse";
|
||||
repo = "lemminx";
|
||||
tag = version;
|
||||
hash = "sha256-a+9RN1265fsmYAUMuUTxA+VqJv7xPlzuc8HqoZwmR4M=";
|
||||
hash = "sha256-nV+IXeGEnJ7q2GEH9LKiy8ABePHSIt8GFPj/sZzv71E=";
|
||||
# Lemminx reads this git information at runtime from a git.properties
|
||||
# file on the classpath
|
||||
leaveDotGit = true;
|
||||
|
|
|
|||
|
|
@ -29,8 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
description = "Archiver and compressor using the LZSS and Huffman encoding compression algorithms";
|
||||
homepage = "https://github.com/jca02266/lha";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
momeemt
|
||||
maintainers = [
|
||||
];
|
||||
# Some of the original LHa code has been rewritten and the current author
|
||||
# considers adopting a "true" free and open source license for it.
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
homepage = "https://www.acs.com.hk";
|
||||
license = lib.licenses.lgpl2Plus;
|
||||
maintainers = with lib.maintainers; [ berce ];
|
||||
maintainers = [ ];
|
||||
platforms = with lib.platforms; unix;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
14
pkgs/by-name/ma/makemkv/app-id.patch
Normal file
14
pkgs/by-name/ma/makemkv/app-id.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/makemkvgui/src/main.cpp b/makemkvgui/src/main.cpp
|
||||
index 73ce457..71f822c 100644
|
||||
--- a/makemkvgui/src/main.cpp
|
||||
+++ b/makemkvgui/src/main.cpp
|
||||
@@ -65,6 +65,9 @@ int qMain(int argc, char **argv)
|
||||
#if (QT_VERSION > 0x050000)
|
||||
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
#endif
|
||||
+ // Ensure the app-id ('makemkv') is set, so that GNOME can show
|
||||
+ // the correct icon in the dash.
|
||||
+ QGuiApplication::setDesktopFileName("makemkv");
|
||||
|
||||
CApClient::ITransport* p_trans = NULL;
|
||||
|
||||
|
|
@ -43,7 +43,12 @@ stdenv.mkDerivation (
|
|||
|
||||
srcs = lib.attrValues finalAttrs.passthru.srcs;
|
||||
sourceRoot = "makemkv-oss-${version}";
|
||||
patches = [ ./r13y.patch ];
|
||||
patches = [
|
||||
./r13y.patch
|
||||
# This patch is sourced from NonGuix, licensed GPLv3:
|
||||
# https://gitlab.com/nonguix/nonguix/-/blob/2d1f3691546f007c7cd96ae87e4e970fed789182/nongnu/packages/patches/makemkv-app-id.patch
|
||||
./app-id.patch
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -164,11 +164,11 @@ let
|
|||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "microsoft-edge";
|
||||
version = "149.0.4022.52";
|
||||
version = "149.0.4022.69";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-3lFhfxkS80P59dk00lpBp+8IIFUvSEJVGGTfAghxw4g=";
|
||||
hash = "sha256-0Ur+0KKJQ7VTr7IMax5BIgwSf6jNhr0Aiz+So7Hj/OE=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mitra";
|
||||
version = "4.17.0";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "silverpill";
|
||||
repo = "mitra";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ysV0r0K+2ivnDg/GuqwK5HWa4/jQtopXqS9g/9wWrOw=";
|
||||
hash = "sha256-Chn3SONSg6yhwwHcry/cO2L7/ihEco35gpRlMlQVXz8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-RDMLfg+KsvfXDjsCzCn53kebBRN8/6er/LsS/BzoeU0=";
|
||||
cargoHash = "sha256-0lXwOphoUQqe1O0KbAOl98ZbMKyG8ZZOl7NhXYwSvvQ=";
|
||||
|
||||
# require running database
|
||||
doCheck = false;
|
||||
|
|
|
|||
|
|
@ -56,12 +56,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
# disable code signing on macos
|
||||
# https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
|
||||
postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
|
|
@ -100,7 +94,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
yarn --offline run electron-builder --dir \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version}
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.mac.identity=null
|
||||
# ^ disable code signing on macos
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "msedgedriver";
|
||||
version = "149.0.4022.52";
|
||||
version = "149.0.4022.69";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
|
||||
hash = "sha256-GLPkBOlXDTpjYrrc9odDeHXXZ8vLPiw06v1bIN1zOpo=";
|
||||
hash = "sha256-BtyQD+zkZWv5GhnxJOg4BkVLrCdBZr7KN1bvXyvp4B8=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "nixos-firewall-tool";
|
||||
|
||||
pname = "nixos-firewall-tool";
|
||||
version = lib.trivial.release;
|
||||
src = builtins.filterSource (name: _: !(lib.hasSuffix ".nix" name)) ./.;
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
ocamlPackages.buildDunePackage (finalAttrs: {
|
||||
pname = "nixtamal";
|
||||
version = "1.5.4";
|
||||
version = "1.6.0";
|
||||
release_year = 2026;
|
||||
|
||||
minimalOCamlVersion = "5.3";
|
||||
|
|
@ -29,7 +29,7 @@ ocamlPackages.buildDunePackage (finalAttrs: {
|
|||
url = "https://darcs.toastal.in.th/nixtamal/stable/";
|
||||
mirrors = [ "https://smeder.ee/~toastal/nixtamal.darcs" ];
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-ST90m0SF3dyGOV3Q43bJ9bGuznP0WIkQsIJXUNFNPOs=";
|
||||
hash = "sha256-OOAulI6ZJGbbUMi68jnJQ+cJpZVQYL5F5HUfdOZ3wEs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ in
|
|||
|
||||
py.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "oci-cli";
|
||||
version = "3.85.0";
|
||||
version = "3.86.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oracle";
|
||||
repo = "oci-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-10KIrd6ZI56YiqNzmo/f5jUEp5YZF5JUN6NPzbgnq9w=";
|
||||
hash = "sha256-bdHhM7ah1dnQYOK8TXheSqSbFZn3WgMfsfQtAT24wBM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "oelint-adv";
|
||||
version = "9.8.2";
|
||||
version = "9.8.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "priv-kweihmann";
|
||||
repo = "oelint-adv";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-mZleG+NAVqjeJ66SlYYvF90XwJ4H1wlsMOQRBdH1qhM=";
|
||||
hash = "sha256-bQFjf+BAmJKsjcjZcTc34+4bcSq4hgSBKgHRcYA1ai0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
|
|
@ -54,12 +54,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
OPENCODE_CHANNEL = "prod";
|
||||
MODELS_DEV_API_JSON = "${models-dev}/dist/_api.json";
|
||||
OPENCODE_DISABLE_MODELS_FETCH = true;
|
||||
}
|
||||
# Disable code signing on macOS. Public build hosts don't have Apple Developer
|
||||
# certificates, so electron-builder's `security find-identity` spawns produce
|
||||
# EPERM inside the nix sandbox.
|
||||
// lib.optionalAttrs stdenvNoCC.hostPlatform.isDarwin {
|
||||
CSC_IDENTITY_AUTO_DISCOVERY = "false";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
|
||||
Needs `services.gnome.at-spi2-core.enable = true;` in `configuration.nix`.
|
||||
'';
|
||||
maintainers = with lib.maintainers; [ berce ];
|
||||
teams = [ lib.teams.gnome ];
|
||||
license = lib.licenses.lgpl21;
|
||||
platforms = lib.platforms.linux;
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "pj";
|
||||
version = "1.13.0";
|
||||
version = "1.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josephschmitt";
|
||||
repo = "pj";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-T09puEftbgvtXKcywJcXHfI+UTKGjyFaPMr7LEHDIUQ=";
|
||||
hash = "sha256-i6BYNKizpEE3OffkOuAShFow21sMMHPyCK5RMguXCCQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rya2afSV9Y1hmUZU0wyR9NETBl3TXD/OTHv0zvVl8v8=";
|
||||
|
|
|
|||
|
|
@ -9,23 +9,23 @@
|
|||
runCommand,
|
||||
nixosTests,
|
||||
npm-lockfile-fix,
|
||||
cmake,
|
||||
nix-update-script,
|
||||
brotli,
|
||||
tailwindcss_3,
|
||||
esbuild,
|
||||
buildPackages,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "plausible";
|
||||
version = "3.0.1";
|
||||
version = "3.2.1";
|
||||
mixEnv = "ce";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plausible";
|
||||
repo = "analytics";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DQIRsqkH2zgIkb3yezuJEKJ99PS031GJ+bDAeHMLNUY=";
|
||||
hash = "sha256-2roIj0s2cybYdGmmJSPJ5Rc1gNunxlYew9JR5xxMv+k=";
|
||||
postFetch = ''
|
||||
${lib.getExe npm-lockfile-fix} $out/assets/package-lock.json
|
||||
sed -ie '
|
||||
|
|
@ -47,7 +47,7 @@ let
|
|||
pname = "${pname}-assets";
|
||||
inherit version;
|
||||
src = "${src}/assets";
|
||||
npmDepsHash = "sha256-hPbKEC8DE/gb483COG/ZbTuEP8Y44Fs7ppHMpXphCjg=";
|
||||
npmDepsHash = "sha256-grYxPRzpu3pcv3lyTQxx0RDhmgFhsOKZoYbzd701xjA=";
|
||||
dontNpmBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
@ -60,7 +60,7 @@ let
|
|||
pname = "${pname}-tracker";
|
||||
inherit version;
|
||||
src = "${src}/tracker";
|
||||
npmDepsHash = "sha256-kfqJVUw3xnMT0sOkc5O42CwBxPQXiYnOQ5WpdZwzxfE";
|
||||
npmDepsHash = "sha256-hrsvQXvbcfRDUc1qinyUJ7Oh4yMM1e+UEdYudjYyJxk=";
|
||||
dontNpmBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
@ -69,6 +69,18 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
# lazy_html (new dep since 3.1.0) builds a NIF against lexbor
|
||||
# its Makefile clones lexbor at build time (which sandbox forbids)
|
||||
# pre-seed commit in lazy_html's mix.exs so the clone target is skipped
|
||||
# and force a build in preBuild below
|
||||
lexborCommit = "244b84956a6dc7eec293781d051354f351274c46";
|
||||
lexborSrc = fetchFromGitHub {
|
||||
owner = "lexbor";
|
||||
repo = "lexbor";
|
||||
rev = lexborCommit;
|
||||
hash = "sha256-Oup/lGU8a9Dqfho4Llg39t9Y9n4xfUmGk0772OkpnLQ=";
|
||||
};
|
||||
|
||||
mixFodDeps = beamPackages.fetchMixDeps {
|
||||
inherit
|
||||
pname
|
||||
|
|
@ -76,7 +88,7 @@ let
|
|||
src
|
||||
mixEnv
|
||||
;
|
||||
hash = "sha256-caCbuMEDsLcxm8xehWEJiaTfgl435crBfnQFQpzGsLY";
|
||||
hash = "sha256-fm/elkCNpu5sduBxly06i/z30Y9BMtt+qthXmLuvlUc=";
|
||||
};
|
||||
|
||||
mjmlNif = rustPlatform.buildRustPackage {
|
||||
|
|
@ -84,7 +96,7 @@ let
|
|||
version = "";
|
||||
src = "${mixFodDeps}/mjml/native/mjml_nif";
|
||||
|
||||
cargoHash = "sha256-zDWOik65PWAMpIDDcG+DibprPVW/k+Q83+fjFI5vWaY=";
|
||||
cargoHash = "sha256-a8xSRdFtMYF0n2rl7A5ZgHoaunUJLVJwHvrkc9uyZKo=";
|
||||
doCheck = false;
|
||||
|
||||
env = {
|
||||
|
|
@ -109,7 +121,13 @@ let
|
|||
file=''${lib##*/}
|
||||
base=''${file%.*}
|
||||
ln -s "$lib" $out/mjml/priv/native/$base.so
|
||||
# mjml >= 4.0 loads through RustlerPrecompiled (expects NIF name w/o lib prefix)
|
||||
ln -s "$lib" $out/mjml/priv/native/''${base#lib}.so
|
||||
done
|
||||
|
||||
mkdir -p $out/lazy_html/_build/c/third_party/lexbor
|
||||
cp -r --no-preserve=mode ${lexborSrc} \
|
||||
$out/lazy_html/_build/c/third_party/lexbor/${lexborCommit}
|
||||
'';
|
||||
|
||||
beamPackages = beam27Packages.extend (self: super: { elixir = elixir_1_18; });
|
||||
|
|
@ -126,10 +144,22 @@ beamPackages.mixRelease rec {
|
|||
nativeBuildInputs = [
|
||||
nodejs
|
||||
brotli
|
||||
cmake
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
mixFodDeps = patchedMixFodDeps;
|
||||
|
||||
# deps are compiled in mixRelease configurePhase
|
||||
# so the force_build switch must be in place before then
|
||||
# preBuild would be too late
|
||||
preConfigure = ''
|
||||
cat >> config/config.exs <<EOF
|
||||
config :elixir_make, :force_build, lazy_html: true
|
||||
EOF
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
inherit (nixosTests) plausible;
|
||||
|
|
@ -160,12 +190,15 @@ beamPackages.mixRelease rec {
|
|||
preBuild = ''
|
||||
rm -r assets tracker
|
||||
cp --no-preserve=mode -r ${assets} assets
|
||||
cp -r ${tracker} tracker
|
||||
# tracker must be writable since 3.1.0
|
||||
# compile.js emits npm_package/plausible.js
|
||||
cp --no-preserve=mode -r ${tracker} tracker
|
||||
|
||||
# Fix cross-compilation with buildPackages
|
||||
# since tailwindcss_3 is not available for RiscV
|
||||
# since tailwindcss is not available for RiscV
|
||||
# plausible >= 3.1.0 needs tailwind v4
|
||||
cat >> config/config.exs <<EOF
|
||||
config :tailwind, path: "${lib.getExe buildPackages.tailwindcss_3}"
|
||||
config :tailwind, path: "${lib.getExe buildPackages.tailwindcss_4}"
|
||||
config :esbuild, path: "${lib.getExe esbuild}"
|
||||
EOF
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ rustPlatform.buildRustPackage {
|
|||
description = "Script interpolation engine for markdown documents";
|
||||
homepage = "https://github.com/terror/present/";
|
||||
license = lib.licenses.cc0;
|
||||
maintainers = with lib.maintainers; [ cameronfyfe ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "present";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "prqlc";
|
||||
version = "0.13.12";
|
||||
version = "0.13.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prql";
|
||||
repo = "prql";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-dVabMpXrdNV6hvUVk80mWuIpg8Vb0ZaJnrezO+FtbKg=";
|
||||
hash = "sha256-/5z8i65WpLl06uYqu+PD/fMyajeHiECbzdgTD6D4M20=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hL52k61pgqOFpn3aN8DIlx2KlaOjMVD60/x6dMkZ5Rg=";
|
||||
cargoHash = "sha256-vQOcdDnNPC6dcHbr3GgsE/seokiormNK1oi6E9JrcTY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ stdenv.mkDerivation rec {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/pulseaudio/modules $out/libexec/pulsaudio-xrdp-module $out/etc/xdg/autostart
|
||||
mkdir -p $out/lib/pulseaudio/modules $out/libexec/pulseaudio-xrdp-module $out/etc/xdg/autostart
|
||||
install -m 755 src/.libs/*${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/pulseaudio/modules
|
||||
|
||||
install -m 755 instfiles/load_pa_modules.sh $out/libexec/pulsaudio-xrdp-module/pulseaudio_xrdp_init
|
||||
substituteInPlace $out/libexec/pulsaudio-xrdp-module/pulseaudio_xrdp_init \
|
||||
install -m 755 instfiles/load_pa_modules.sh $out/libexec/pulseaudio-xrdp-module/pulseaudio_xrdp_init
|
||||
substituteInPlace $out/libexec/pulseaudio-xrdp-module/pulseaudio_xrdp_init \
|
||||
--replace pactl ${pulseaudio}/bin/pactl
|
||||
|
||||
runHook postInstall
|
||||
|
|
|
|||
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