Merge master into haskell-updates
This commit is contained in:
+2
-2
@@ -69,8 +69,8 @@ let
|
||||
$epubPath
|
||||
|
||||
echo "application/epub+zip" > mimetype
|
||||
zip -0Xq "$out" mimetype
|
||||
cd scratch && zip -Xr9D "$out" *
|
||||
zip -0Xq -b "$TMPDIR" "$out" mimetype
|
||||
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
|
||||
'';
|
||||
|
||||
# NB: This file describes the Nixpkgs manual, which happens to use module
|
||||
|
||||
@@ -11,7 +11,8 @@ On NixOS, you need to explicitly enable `ibus` with given engines before customi
|
||||
```nix
|
||||
{ pkgs, ... }: {
|
||||
i18n.inputMethod = {
|
||||
enabled = "ibus";
|
||||
enable = true;
|
||||
type = "ibus";
|
||||
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20276,6 +20276,12 @@
|
||||
githubId = 2845239;
|
||||
name = "Tim Put";
|
||||
};
|
||||
timschumi = {
|
||||
email = "timschumi@gmx.de";
|
||||
github = "timschumi";
|
||||
githubId = 16820960;
|
||||
name = "Tim Schumacher";
|
||||
};
|
||||
timstott = {
|
||||
email = "stott.timothy@gmail.com";
|
||||
github = "timstott";
|
||||
|
||||
@@ -91,9 +91,11 @@ def make_worktree() -> Generator[Tuple[str, str], None, None]:
|
||||
target_directory = f'{wt}/nixpkgs'
|
||||
|
||||
subprocess.run(['git', 'worktree', 'add', '-b', branch_name, target_directory])
|
||||
yield (target_directory, branch_name)
|
||||
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
|
||||
subprocess.run(['git', 'branch', '-D', branch_name])
|
||||
try:
|
||||
yield (target_directory, branch_name)
|
||||
finally:
|
||||
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
|
||||
subprocess.run(['git', 'branch', '-D', branch_name])
|
||||
|
||||
async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, branch: str, changes: List[Dict]) -> None:
|
||||
for change in changes:
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
Common configuration for headless machines (e.g., Amazon EC2 instances).
|
||||
|
||||
Disables [sound](#opt-sound.enable),
|
||||
[vesa](#opt-boot.vesa), serial consoles,
|
||||
Disables [vesa](#opt-boot.vesa), serial consoles,
|
||||
[emergency mode](#opt-systemd.enableEmergencyMode),
|
||||
[grub splash images](#opt-boot.loader.grub.splashImage)
|
||||
and configures the kernel to reboot automatically on panic.
|
||||
|
||||
@@ -5,5 +5,4 @@ graphical stuff. It's a very short file that enables
|
||||
[noXlibs](#opt-environment.noXlibs), sets
|
||||
[](#opt-i18n.supportedLocales) to
|
||||
only support the user-selected locale,
|
||||
[disables packages' documentation](#opt-documentation.enable),
|
||||
and [disables sound](#opt-sound.enable).
|
||||
and [disables packages' documentation](#opt-documentation.enable).
|
||||
|
||||
@@ -197,6 +197,8 @@
|
||||
|
||||
- `services.roundcube.maxAttachmentSize` will multiply the value set with `1.37` to offset overhead introduced by the base64 encoding applied to attachments.
|
||||
|
||||
- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
|
||||
|
||||
- The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer.
|
||||
Consequently the package `pkgs.ma1sd` has also been removed.
|
||||
|
||||
@@ -218,6 +220,9 @@
|
||||
The derivation now installs "impl" headers selectively instead of by a wildcard.
|
||||
Use `imgui.src` if you just want to access the unpacked sources.
|
||||
|
||||
- The `i18n.inputMethod` module introduces two new properties:
|
||||
`enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release.
|
||||
|
||||
- `security.pam.u2f` now follows RFC42.
|
||||
All module options are now settable through the freeform `.settings`.
|
||||
|
||||
@@ -233,3 +238,46 @@
|
||||
should be changed to using *runner authentication tokens* by configuring
|
||||
{option}`services.gitlab-runner.services.<name>.authenticationTokenConfigFile` instead of the former
|
||||
{option}`services.gitlab-runner.services.<name>.registrationConfigFile` option.
|
||||
|
||||
## Detailed migration information {#sec-release-24.11-migration}
|
||||
|
||||
### `sound` options removal {#sec-release-24.11-migration-sound}
|
||||
|
||||
The `sound` options have been largely removed, as they are unnecessary for most modern setups, and cause issues when enabled.
|
||||
|
||||
If you set `sound.enable` in your configuration:
|
||||
- If you are using Pulseaudio or PipeWire, simply remove that option
|
||||
- If you are not using an external sound server, and want volumes to be persisted across shutdowns, set `hardware.alsa.enablePersistence = true` instead
|
||||
|
||||
If you set `sound.enableOSSEmulation` in your configuration:
|
||||
- Make sure it is still necessary, as very few applications actually use OSS
|
||||
- If necessary, set `boot.kernelModules = [ "snd_pcm_oss" ]`
|
||||
|
||||
If you set `sound.extraConfig` in your configuration:
|
||||
- If you are using another sound server, like Pulseaudio, JACK or PipeWire, migrate your configuration to that
|
||||
- If you are not using an external sound server, set `environment.etc."asound.conf".text = yourExtraConfig` instead
|
||||
|
||||
If you set `sound.mediaKeys` in your configuration:
|
||||
- Preferably switch to handling media keys in your desktop environment/compositor
|
||||
- If you want to maintain the exact behavior of the option, use the following snippet
|
||||
|
||||
```nix
|
||||
services.actkbd = let
|
||||
volumeStep = "1%";
|
||||
in {
|
||||
enable = true;
|
||||
bindings = [
|
||||
# "Mute" media key
|
||||
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
|
||||
|
||||
# "Lower Volume" media key
|
||||
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}- unmute"; }
|
||||
|
||||
# "Raise Volume" media key
|
||||
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}+ unmute"; }
|
||||
|
||||
# "Mic Mute" media key
|
||||
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
|
||||
];
|
||||
};
|
||||
```
|
||||
|
||||
@@ -6,7 +6,6 @@ with lib;
|
||||
let
|
||||
|
||||
cfg = config.hardware.pulseaudio;
|
||||
alsaCfg = config.sound;
|
||||
|
||||
hasZeroconf = let z = cfg.zeroconf; in z.publish.enable || z.discovery.enable;
|
||||
|
||||
@@ -58,7 +57,7 @@ let
|
||||
# Write an /etc/asound.conf that causes all ALSA applications to
|
||||
# be re-routed to the PulseAudio server through ALSA's Pulse
|
||||
# plugin.
|
||||
alsaConf = writeText "asound.conf" (''
|
||||
alsaConf = ''
|
||||
pcm_type.pulse {
|
||||
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
|
||||
${lib.optionalString enable32BitAlsaPlugins
|
||||
@@ -76,8 +75,7 @@ let
|
||||
ctl.!default {
|
||||
type pulse
|
||||
}
|
||||
${alsaCfg.extraConfig}
|
||||
'');
|
||||
'';
|
||||
|
||||
in {
|
||||
|
||||
@@ -221,10 +219,8 @@ in {
|
||||
|
||||
environment.systemPackages = [ overriddenPackage ];
|
||||
|
||||
sound.enable = true;
|
||||
|
||||
environment.etc = {
|
||||
"asound.conf".source = alsaConf;
|
||||
"alsa/conf.d/99-pulseaudio.conf".text = alsaConf;
|
||||
|
||||
"pulse/daemon.conf".source = writeText "daemon.conf"
|
||||
(lib.generators.toKeyValue {} cfg.daemon.config);
|
||||
|
||||
@@ -25,7 +25,8 @@ The following snippet can be used to configure IBus:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "ibus";
|
||||
enable = true;
|
||||
type = "ibus";
|
||||
ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
|
||||
};
|
||||
}
|
||||
@@ -81,7 +82,8 @@ The following snippet can be used to configure Fcitx:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-hangul fcitx5-m17n ];
|
||||
};
|
||||
}
|
||||
@@ -119,7 +121,8 @@ The following snippet can be used to configure Nabi:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "nabi";
|
||||
enable = true;
|
||||
type = "nabi";
|
||||
};
|
||||
}
|
||||
```
|
||||
@@ -134,7 +137,8 @@ The following snippet can be used to configure uim:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "uim";
|
||||
enable = true;
|
||||
type = "uim";
|
||||
};
|
||||
}
|
||||
```
|
||||
@@ -154,7 +158,8 @@ The following snippet can be used to configure Hime:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "hime";
|
||||
enable = true;
|
||||
type = "hime";
|
||||
};
|
||||
}
|
||||
```
|
||||
@@ -168,7 +173,8 @@ The following snippet can be used to configure Kime:
|
||||
```nix
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "kime";
|
||||
enable = true;
|
||||
type = "kime";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
@@ -4,6 +4,8 @@ with lib;
|
||||
let
|
||||
cfg = config.i18n.inputMethod;
|
||||
|
||||
allowedTypes = types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ];
|
||||
|
||||
gtk2_cache = pkgs.runCommand "gtk2-immodule.cache"
|
||||
{ preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
@@ -28,10 +30,23 @@ in
|
||||
{
|
||||
options.i18n = {
|
||||
inputMethod = {
|
||||
enable = mkEnableOption "an additional input method type" // {
|
||||
default = cfg.enabled != null;
|
||||
defaultText = literalMD "`true` if the deprecated option `enabled` is set, false otherwise";
|
||||
};
|
||||
|
||||
enabled = mkOption {
|
||||
type = types.nullOr (types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ]);
|
||||
type = types.nullOr allowedTypes;
|
||||
default = null;
|
||||
example = "fcitx5";
|
||||
description = "Deprecated - use `type` and `enable = true` instead";
|
||||
};
|
||||
|
||||
type = mkOption {
|
||||
type = types.nullOr allowedTypes;
|
||||
default = cfg.enabled;
|
||||
defaultText = literalMD "The value of the deprecated option `enabled`, defaulting to null";
|
||||
example = "fcitx5";
|
||||
description = ''
|
||||
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
|
||||
|
||||
@@ -59,7 +74,8 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enabled != null) {
|
||||
config = mkIf cfg.enable {
|
||||
warnings = optional (cfg.enabled != null) "i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead";
|
||||
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
|
||||
};
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
im = config.i18n.inputMethod;
|
||||
cfg = im.fcitx5;
|
||||
imcfg = config.i18n.inputMethod;
|
||||
cfg = imcfg.fcitx5;
|
||||
fcitx5Package =
|
||||
if cfg.plasma6Support
|
||||
then pkgs.qt6Packages.fcitx5-with-addons.override { inherit (cfg) addons; }
|
||||
@@ -108,7 +108,7 @@ in
|
||||
'')
|
||||
];
|
||||
|
||||
config = mkIf (im.enabled == "fcitx5") {
|
||||
config = mkIf (imcfg.enable && imcfg.type == "fcitx5") {
|
||||
i18n.inputMethod.package = fcitx5Package;
|
||||
|
||||
i18n.inputMethod.fcitx5.addons = lib.optionals (cfg.quickPhrase != { }) [
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
imcfg = config.i18n.inputMethod;
|
||||
in
|
||||
{
|
||||
config = mkIf (config.i18n.inputMethod.enabled == "hime") {
|
||||
config = mkIf (imcfg.enable && imcfg.type == "hime") {
|
||||
i18n.inputMethod.package = pkgs.hime;
|
||||
environment.variables = {
|
||||
GTK_IM_MODULE = "hime";
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.i18n.inputMethod.ibus;
|
||||
imcfg = config.i18n.inputMethod;
|
||||
cfg = imcfg.ibus;
|
||||
ibusPackage = pkgs.ibus-with-plugins.override { plugins = cfg.engines; };
|
||||
ibusEngine = lib.types.mkOptionType {
|
||||
name = "ibus-engine";
|
||||
@@ -53,7 +54,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
|
||||
config = mkIf (imcfg.enable && imcfg.type == "ibus") {
|
||||
i18n.inputMethod.package = ibusPackage;
|
||||
|
||||
environment.systemPackages = [
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ config, pkgs, lib, generators, ... }:
|
||||
let imcfg = config.i18n.inputMethod;
|
||||
let
|
||||
imcfg = config.i18n.inputMethod;
|
||||
in {
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "i18n" "inputMethod" "kime" "config" ] "Use i18n.inputMethod.kime.* instead")
|
||||
@@ -31,7 +32,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (imcfg.enabled == "kime") {
|
||||
config = lib.mkIf (imcfg.enable && imcfg.type == "kime") {
|
||||
i18n.inputMethod.package = pkgs.kime;
|
||||
|
||||
environment.variables = {
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
imcfg = config.i18n.inputMethod;
|
||||
in
|
||||
{
|
||||
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
|
||||
config = mkIf (imcfg.enable && imcfg.type == "nabi") {
|
||||
i18n.inputMethod.package = pkgs.nabi;
|
||||
|
||||
environment.variables = {
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.i18n.inputMethod.uim;
|
||||
imcfg = config.i18n.inputMethod;
|
||||
cfg = imcfg.uim;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
@@ -21,7 +22,7 @@ in
|
||||
|
||||
};
|
||||
|
||||
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
|
||||
config = mkIf (imcfg.enable && imcfg.type == "uim") {
|
||||
i18n.inputMethod.package = pkgs.uim;
|
||||
|
||||
environment.variables = {
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
./programs/goldwarden.nix
|
||||
./programs/gpaste.nix
|
||||
./programs/gphoto2.nix
|
||||
./programs/gpu-screen-recorder.nix
|
||||
./programs/haguichi.nix
|
||||
./programs/hamster.nix
|
||||
./programs/htop.nix
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.gpu-screen-recorder;
|
||||
package = cfg.package.override {
|
||||
inherit (config.security) wrapperDir;
|
||||
};
|
||||
in {
|
||||
options = {
|
||||
programs.gpu-screen-recorder = {
|
||||
package = lib.mkPackageOption pkgs "gpu-screen-recorder" {};
|
||||
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to install gpu-screen-recorder and generate setcap
|
||||
wrappers for promptless recording.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
security.wrappers."gsr-kms-server" = {
|
||||
owner = "root";
|
||||
group = "root";
|
||||
capabilities = "cap_sys_admin+ep";
|
||||
source = "${package}/bin/gsr-kms-server";
|
||||
};
|
||||
security.wrappers."gpu-screen-recorder" = {
|
||||
owner = "root";
|
||||
group = "root";
|
||||
capabilities = "cap_sys_nice+ep";
|
||||
source = "${package}/bin/gpu-screen-recorder";
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ timschumi ];
|
||||
}
|
||||
@@ -3,132 +3,38 @@
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
inherit (pkgs) alsa-utils;
|
||||
|
||||
pulseaudioEnabled = config.hardware.pulseaudio.enable;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
|
||||
(mkRemovedOptionModule [ "sound" ] "The option was heavily overloaded and can be removed from most configurations.")
|
||||
];
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
sound = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable ALSA sound.
|
||||
'';
|
||||
};
|
||||
|
||||
enableOSSEmulation = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable ALSA OSS emulation (with certain cards sound mixing may not work!).
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
defaults.pcm.!card 3
|
||||
'';
|
||||
description = ''
|
||||
Set addition configuration for system-wide alsa.
|
||||
'';
|
||||
};
|
||||
|
||||
mediaKeys = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable volume and capture control with keyboard media keys.
|
||||
|
||||
You want to leave this disabled if you run a desktop environment
|
||||
like KDE, Gnome, Xfce, etc, as those handle such things themselves.
|
||||
You might want to enable this if you run a minimalistic desktop
|
||||
environment or work from bare linux ttys/framebuffers.
|
||||
|
||||
Enabling this will turn on {option}`services.actkbd`.
|
||||
'';
|
||||
};
|
||||
|
||||
volumeStep = mkOption {
|
||||
type = types.str;
|
||||
default = "1";
|
||||
example = "1%";
|
||||
description = ''
|
||||
The value by which to increment/decrement volume on media keys.
|
||||
|
||||
See amixer(1) for allowed values.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
options.hardware.alsa.enablePersistence = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable ALSA sound card state saving on shutdown.
|
||||
This is generally not necessary if you're using an external sound server.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.sound.enable {
|
||||
|
||||
environment.systemPackages = [ alsa-utils ];
|
||||
|
||||
environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "")
|
||||
{ "asound.conf".text = config.sound.extraConfig; };
|
||||
|
||||
config = mkIf config.hardware.alsa.enablePersistence {
|
||||
# ALSA provides a udev rule for restoring volume settings.
|
||||
services.udev.packages = [ alsa-utils ];
|
||||
|
||||
boot.kernelModules = optional config.sound.enableOSSEmulation "snd_pcm_oss";
|
||||
|
||||
systemd.services.alsa-store =
|
||||
{ description = "Store Sound Card State";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
unitConfig.RequiresMountsFor = "/var/lib/alsa";
|
||||
unitConfig.ConditionVirtualization = "!systemd-nspawn";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
|
||||
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
|
||||
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
|
||||
};
|
||||
systemd.services.alsa-store = {
|
||||
description = "Store Sound Card State";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
unitConfig = {
|
||||
RequiresMountsFor = "/var/lib/alsa";
|
||||
ConditionVirtualization = "!systemd-nspawn";
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
|
||||
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
|
||||
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
|
||||
};
|
||||
|
||||
services.actkbd = mkIf config.sound.mediaKeys.enable {
|
||||
enable = true;
|
||||
bindings = [
|
||||
# "Mute" media key
|
||||
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
|
||||
|
||||
# "Lower Volume" media key
|
||||
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; }
|
||||
|
||||
# "Raise Volume" media key
|
||||
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; }
|
||||
|
||||
# "Mic Mute" media key
|
||||
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ in {
|
||||
config = mkMerge [
|
||||
|
||||
(mkIf pcmPlugin {
|
||||
sound.extraConfig = ''
|
||||
environment.etc."alsa/conf.d/98-jack.conf".text = ''
|
||||
pcm_type.jack {
|
||||
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;
|
||||
${lib.optionalString enable32BitAlsaPlugins
|
||||
@@ -139,7 +139,7 @@ in {
|
||||
(mkIf loopback {
|
||||
boot.kernelModules = [ "snd-aloop" ];
|
||||
boot.kernelParams = [ "snd-aloop.index=${toString cfg.loopback.index}" ];
|
||||
sound.extraConfig = cfg.loopback.config;
|
||||
environment.etc."alsa/conf.d/99-jack-loopback.conf".text = cfg.loopback.config;
|
||||
})
|
||||
|
||||
(mkIf cfg.jackd.enable {
|
||||
|
||||
@@ -11,6 +11,7 @@ let
|
||||
DEBUG = "0";
|
||||
DEBUG_TOOLBAR = "0";
|
||||
MEDIA_ROOT = "/var/lib/tandoor-recipes";
|
||||
GUNICORN_MEDIA = true;
|
||||
} // optionalAttrs (config.time.timeZone != null) {
|
||||
TZ = config.time.timeZone;
|
||||
} // (
|
||||
|
||||
@@ -314,7 +314,16 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
||||
).stdout
|
||||
|
||||
# See status_binaries() in systemd bootctl.c for code which generates this
|
||||
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
|
||||
# Matches
|
||||
# Available Boot Loaders on ESP:
|
||||
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
|
||||
# File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
|
||||
# But also:
|
||||
# Available Boot Loaders on ESP:
|
||||
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
|
||||
# File: ├─/EFI/systemd/HashTool.efi
|
||||
# └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
|
||||
installed_match = re.search(r"^\W+.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
|
||||
installed_out, re.IGNORECASE | re.MULTILINE)
|
||||
|
||||
available_match = re.search(r"^\((.*)\)$", available_out)
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
usb = "off";
|
||||
usbehci = "off";
|
||||
};
|
||||
sound.enable = false;
|
||||
documentation.man.enable = false;
|
||||
documentation.nixos.enable = false;
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.domination ];
|
||||
};
|
||||
|
||||
|
||||
@@ -21,8 +21,7 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
|
||||
# Create a virtual sound device, with mixing
|
||||
# and all, for recording audio.
|
||||
boot.kernelModules = [ "snd-aloop" ];
|
||||
sound.enable = true;
|
||||
sound.extraConfig = ''
|
||||
environment.etc."asound.conf".text = ''
|
||||
pcm.!default {
|
||||
type plug
|
||||
slave.pcm pcm.dmixer
|
||||
|
||||
@@ -8,8 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
imports = [
|
||||
./common/x11.nix
|
||||
];
|
||||
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.ft2-clone ];
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,10 @@ makeInstalledTest {
|
||||
|
||||
testConfig = {
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
i18n.inputMethod.enabled = "ibus";
|
||||
i18n.inputMethod = {
|
||||
enable = true;
|
||||
type = "ibus";
|
||||
};
|
||||
systemd.user.services.ibus-daemon = {
|
||||
serviceConfig.ExecStart = "${pkgs.ibus}/bin/ibus-daemon --xim --verbose";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Tests whether container images are imported and auto deploying manifests work
|
||||
import ../make-test-python.nix (
|
||||
{
|
||||
pkgs,
|
||||
@@ -108,8 +109,8 @@ import ../make-test-python.nix (
|
||||
machine.succeed("ls /var/lib/rancher/k3s/server/manifests/hello.yaml")
|
||||
|
||||
# check if container images got imported
|
||||
machine.succeed("crictl img | grep 'test\.local/pause'")
|
||||
machine.succeed("crictl img | grep 'test\.local/hello'")
|
||||
machine.wait_until_succeeds("crictl img | grep 'test\.local/pause'")
|
||||
machine.wait_until_succeeds("crictl img | grep 'test\.local/hello'")
|
||||
|
||||
# check if resources of manifests got created
|
||||
machine.wait_until_succeeds("kubectl get ns foo")
|
||||
|
||||
@@ -7,9 +7,7 @@ let
|
||||
allK3s = lib.filterAttrs (n: _: lib.strings.hasPrefix "k3s_" n) pkgs;
|
||||
in
|
||||
{
|
||||
# Test whether container images are imported and auto deploying manifests work
|
||||
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
|
||||
# Testing K3s with Etcd backend
|
||||
etcd = lib.mapAttrs (
|
||||
_: k3s:
|
||||
import ./etcd.nix {
|
||||
@@ -17,8 +15,6 @@ in
|
||||
inherit (pkgs) etcd;
|
||||
}
|
||||
) allK3s;
|
||||
# Run a single node k3s cluster and verify a pod can run
|
||||
single-node = lib.mapAttrs (_: k3s: import ./single-node.nix { inherit system pkgs k3s; }) allK3s;
|
||||
# Run a multi-node k3s cluster and verify pod networking works across nodes
|
||||
multi-node = lib.mapAttrs (_: k3s: import ./multi-node.nix { inherit system pkgs k3s; }) allK3s;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Tests K3s with Etcd backend
|
||||
import ../make-test-python.nix (
|
||||
{
|
||||
pkgs,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# A test that runs a multi-node k3s cluster and verify pod networking works across nodes
|
||||
import ../make-test-python.nix (
|
||||
{
|
||||
pkgs,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# A test that runs a single node k3s cluster and verify a pod can run
|
||||
import ../make-test-python.nix (
|
||||
{
|
||||
pkgs,
|
||||
|
||||
@@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
|
||||
nodes.machine =
|
||||
{ pkgs, lib, ... }:
|
||||
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
|
||||
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
@@ -37,7 +37,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
|
||||
mkServer = { mpd, musicService, }:
|
||||
{ boot.kernelModules = [ "snd-dummy" ];
|
||||
sound.enable = true;
|
||||
services.mpd = mpd;
|
||||
systemd.services.musicService = musicService;
|
||||
};
|
||||
|
||||
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.pt2-clone ];
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.sfxr-qt ];
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.shattered-pixel-dungeon ];
|
||||
};
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
enable = true;
|
||||
extraArguments = "-s 127.0.0.1 -d slimproto=info";
|
||||
};
|
||||
sound.enable = true;
|
||||
boot.initrd.kernelModules = ["snd-dummy"];
|
||||
boot.kernelModules = ["snd-dummy"];
|
||||
};
|
||||
|
||||
testScript =
|
||||
|
||||
@@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
|
||||
nodes.machine =
|
||||
{ pkgs, lib, ... }:
|
||||
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
|
||||
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
@@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.sndio.org/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
|
||||
url = "http://www.sndio.org/aucatctl-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "524f2fae47db785234f166551520d9605b9a27551ca438bd807e3509ce246cf0";
|
||||
};
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "falkTX";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "carla";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-H15T/z/IRfgWdqToTzq2eJ7q3n9Kj44IZXsd4uaipuU=";
|
||||
};
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
, fmt_9
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation {
|
||||
pname = "jack-passthrough";
|
||||
version = "2021-9-25";
|
||||
|
||||
# https://github.com/guysherman/jack-passthrough
|
||||
src = fetchFromGitHub {
|
||||
owner = "guysherman";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "jack-passthrough";
|
||||
rev = "aad03b7c5ccc4a4dcb8fa38c49aa64cb9d628660";
|
||||
hash = "sha256-9IsNaLW5dYAqiwe+vX0+D3oIKFP2TIfy1q1YaqmS6wE=";
|
||||
};
|
||||
@@ -37,4 +37,4 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "jack-passthru";
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qpwgraph";
|
||||
version = "0.7.4";
|
||||
version = "0.7.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "rncbc";
|
||||
repo = "qpwgraph";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-1YExpvhCHIdRqFCvOmiG3G7k/qs7q1ITwtZXGMc/SRk=";
|
||||
sha256 = "sha256-EMBoP0gmJ1JwjkCc1UjTM4BgeYhFSFhUOD14rJRow1o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
||||
|
||||
@@ -133,8 +133,6 @@ stdenv.mkDerivation {
|
||||
mkdir -p $libdir
|
||||
mv ./usr/* $out/
|
||||
|
||||
cp meta/snap.yaml $out
|
||||
|
||||
# Work around Spotify referring to a specific minor version of
|
||||
# OpenSSL.
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
, flac
|
||||
, libjxl
|
||||
, librsvg
|
||||
, game-music-emu
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, kissfft
|
||||
@@ -26,13 +27,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tauon";
|
||||
version = "7.7.2";
|
||||
version = "7.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taiko2k";
|
||||
repo = "TauonMusicBox";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-IVl7XL6nn42zaY4bDraF9os0dXfquUql4E96djfVdVg=";
|
||||
hash = "sha256-8UnUcEvG206tPwyD+WqxcJgDvQlYvTJ6v+sm0u30Z3k=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
@@ -75,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
flac
|
||||
game-music-emu
|
||||
gtk3
|
||||
libappindicator
|
||||
libnotify
|
||||
|
||||
@@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.0.0-rc.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.zrythm.org/releases/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
url = "https://www.zrythm.org/releases/zrythm-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-Ljbw7bjGI6js4OP9KEXCkhC9AMbInSz0nn+pROm4vXw=";
|
||||
};
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
outputs = [ "out" "dev" "doc" "man" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.geany.org/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
|
||||
url = "https://download.geany.org/geany-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-VltM0vAxHB46Fn7HHEoy26ZC4P5VSuW7a4F3t6dMzJI=";
|
||||
};
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
glib
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook3
|
||||
, writeText
|
||||
, # sniprun dependencies
|
||||
bashInteractive
|
||||
, coreutils
|
||||
@@ -1482,12 +1483,19 @@
|
||||
install -Dt $out/bin ftplugin/evinceSync.py
|
||||
'';
|
||||
};
|
||||
# the vim plugin expects evinceSync.py to be a python file, but it is a C wrapper
|
||||
pythonWrapper = writeText "evinceSync-wrapper.py" /* python */ ''
|
||||
#!${python3}/bin/python3
|
||||
import os
|
||||
import sys
|
||||
os.execv("${svedbackend}/bin/evinceSync.py", sys.argv)
|
||||
'';
|
||||
in
|
||||
super.sved.overrideAttrs {
|
||||
preferLocalBuild = true;
|
||||
postPatch = ''
|
||||
rm ftplugin/evinceSync.py
|
||||
ln -s ${svedbackend}/bin/evinceSync.py ftplugin/evinceSync.py
|
||||
install -m 544 ${pythonWrapper} ftplugin/evinceSync.py
|
||||
'';
|
||||
meta = {
|
||||
description = "synctex support between vim/neovim and evince";
|
||||
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "0.8.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
url = "mirror://gnome/sources/ocrfeeder/${lib.versions.majorMinor finalAttrs.version}/ocrfeeder-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-sD0qWUndguJzTw0uy0FIqupFf4OX6dTFvcd+Mz+8Su0=";
|
||||
};
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "bazecor";
|
||||
version = "1.3.11";
|
||||
version = "1.4.0";
|
||||
src = appimageTools.extract {
|
||||
inherit pname version;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage";
|
||||
hash = "sha256-iMurQDF0CBMnJnjmEgNIKYd8C5B4FguMi4Jqa3dHr3o=";
|
||||
hash = "sha256-BKTOWpQT+5DCbPl+lQvbGBtpfRe098BJmQr+bMMMjKg=";
|
||||
};
|
||||
|
||||
# Workaround for https://github.com/Dygmalab/Bazecor/issues/370
|
||||
@@ -19,7 +19,7 @@ let
|
||||
substituteInPlace \
|
||||
$out/usr/lib/bazecor/resources/app/.webpack/main/index.js \
|
||||
--replace-fail \
|
||||
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===l.trim()}catch(e){console.error(e)}return!1}' \
|
||||
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===d.trim()}catch(e){u.default.error(e)}return!1}' \
|
||||
'checkUdev=()=>{return 1}'
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Cloudef";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "bemenu";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-wdOrVX4AgGXySlwmqFRp9OWoSkEYBIZumBGTrFfyNpg=";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bibletime";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "bibletime";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-4O8F5/EyoJFJBEWOAs9lzN3TKuu/CEdKfPaOF8gNqps=";
|
||||
};
|
||||
|
||||
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.blender.org/source/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-T7s69k0/hN9ccQN0hFQibBiFwawu1Tc9DOoegOgsCEg=";
|
||||
};
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "citations";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-RV9oQcXzRsNcvZc/8Xt7qZ/88DvHofC2Av0ftxzeF6Q=";
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
|
||||
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/genesys-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-I1lEVvwRiGf1f4zUtqKhSb+it/nC8WAmw5S6edquOj8=";
|
||||
};
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
, bluez
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation {
|
||||
pname = "rofi-bluetooth";
|
||||
version = "unstable-2023-02-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nickclyde";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "rofi-bluetooth";
|
||||
# https://github.com/nickclyde/rofi-bluetooth/issues/19
|
||||
rev = "9d91c048ff129819f4c6e9e48a17bd54343bbffb";
|
||||
sha256 = "sha256-1Xe3QFThIvJDCUznDP5ZBzwZEMuqmxpDIV+BcVvQDG8=";
|
||||
@@ -38,4 +38,4 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mainProgram = "rofi-bluetooth";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3 }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spotify-tray";
|
||||
@@ -19,10 +19,14 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
|
||||
|
||||
buildInputs = [ gtk3 ];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/spotify-tray --set GDK_BACKEND x11
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/tsmetana/spotify-tray";
|
||||
description = "Adds a tray icon to the Spotify Linux client application";
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"packageVersion": "127.0.2-2",
|
||||
"packageVersion": "128.0-2",
|
||||
"source": {
|
||||
"rev": "127.0.2-2",
|
||||
"sha256": "1f4xz496x1nf7lmvk50hakj9p6q0kzxl5f9s2k0b6kczvyc8gw5n"
|
||||
"rev": "128.0-2",
|
||||
"sha256": "0239m5r5nfn291slpxh1qhj3g3q2pskyp967ahvn7nbsqlvjyhag"
|
||||
},
|
||||
"settings": {
|
||||
"rev": "1debc2d30949baff2d1e7df23e87900f1987a8ae",
|
||||
"sha256": "12xgjv40mihbyfsah26vvdyb4yirydc1a884v2chnca4f5q00lc2"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "127.0.2",
|
||||
"sha512": "d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b"
|
||||
"version": "128.0",
|
||||
"sha512": "309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cilium-cli";
|
||||
version = "0.16.11";
|
||||
version = "0.16.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-muIVjT6ssNejp5O8ju06h9e7ZVcfwXyHgQIa0IEP4Xg=";
|
||||
hash = "sha256-69LDIKaAJYbxTp0qBgfnE/YG6vnyN9/HgyxEBPqFY+4=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helmfile";
|
||||
version = "0.165.0";
|
||||
version = "0.166.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helmfile";
|
||||
repo = "helmfile";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fXrfthjWaCo0p7NwP9EWa0uFeCCHInzi7h2tgawHlh0=";
|
||||
hash = "sha256-TZskvZyNihklCJB0yMFXk1bLEuhetQvJ+6uLnYiLBs0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-nWfj/E3Lg58wZ27LEI91+Ns9lj+unK6xYTEcxdAFOXI=";
|
||||
vendorHash = "sha256-aQ/g7MWMWvxRcTHPUYRGjaaPX9ZH6m+TJ6BdsFeGOsY=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -88,12 +88,12 @@ lib:
|
||||
# make sure they're in the path if desired.
|
||||
let
|
||||
|
||||
baseMeta = with lib; {
|
||||
baseMeta = {
|
||||
description = "Lightweight Kubernetes distribution";
|
||||
license = licenses.asl20;
|
||||
license = lib.licenses.asl20;
|
||||
homepage = "https://k3s.io";
|
||||
maintainers = lib.teams.k3s.members;
|
||||
platforms = platforms.linux;
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
# resolves collisions with other installations of kubectl, crictl, ctr
|
||||
# prefer non-k3s versions
|
||||
@@ -367,6 +367,7 @@ buildGoModule rec {
|
||||
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
|
||||
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
|
||||
|
||||
# copy needed 'go generate' inputs into place
|
||||
@@ -387,12 +388,14 @@ buildGoModule rec {
|
||||
|
||||
./scripts/package-cli
|
||||
mkdir -p $out/bin
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
# wildcard to match the arm64 build too
|
||||
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
|
||||
wrapProgram $out/bin/k3s \
|
||||
@@ -404,27 +407,31 @@ buildGoModule rec {
|
||||
install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh
|
||||
wrapProgram $out/bin/k3s-killall.sh \
|
||||
--prefix PATH : ${lib.makeBinPath (k3sRuntimeDeps ++ k3sKillallDeps)}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru.updateScript = updateScript;
|
||||
|
||||
passthru.mkTests =
|
||||
version:
|
||||
let
|
||||
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
|
||||
in
|
||||
{
|
||||
auto-deploy = nixosTests.k3s.auto-deploy.${k3s_version};
|
||||
etcd = nixosTests.k3s.etcd.${k3s_version};
|
||||
single-node = nixosTests.k3s.single-node.${k3s_version};
|
||||
multi-node = nixosTests.k3s.multi-node.${k3s_version};
|
||||
};
|
||||
passthru.tests = passthru.mkTests k3sVersion;
|
||||
passthru = {
|
||||
k3sCNIPlugins = k3sCNIPlugins;
|
||||
k3sContainerd = k3sContainerd;
|
||||
k3sRepo = k3sRepo;
|
||||
k3sRoot = k3sRoot;
|
||||
k3sServer = k3sServer;
|
||||
mkTests =
|
||||
version:
|
||||
let
|
||||
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
|
||||
in
|
||||
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
|
||||
tests = passthru.mkTests k3sVersion;
|
||||
updateScript = updateScript;
|
||||
};
|
||||
|
||||
meta = baseMeta;
|
||||
}
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "openshift";
|
||||
version = "4.14.0";
|
||||
gitCommit = "0c63f9d";
|
||||
version = "4.16.0";
|
||||
gitCommit = "fa84651";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openshift";
|
||||
repo = "oc";
|
||||
rev = "0c63f9da2694c080257111616c60005f32a5bf47";
|
||||
hash = "sha256-viNSRwGNB0TGgw501cQuj4ajmAgvqk4vj2RmW8/DCB8=";
|
||||
rev = "fa846511dbeb7e08cf77265056397283c6c896f9";
|
||||
hash = "sha256-mGItCpZQqQOKoNm2amwpHrEIcZdVNirQFa7DGvmnR9s=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "0.92.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
url = "mirror://gnome/sources/gnome-network-displays/${lib.versions.majorMinor finalAttrs.version}/gnome-network-displays-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-df35UJnRolVSiYcArpnrglxNKbTKA3LAGsNwlDF7cj4=";
|
||||
};
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "element-web";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = webSrcHash;
|
||||
};
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "hydrogen-web";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-u8Yex3r7EZH+JztQHJbfncYeyyl6hgb1ZNFIg//wcb0=";
|
||||
};
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "2.0.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/${finalAttrs.pname}-${finalAttrs.version}-amd64.deb";
|
||||
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/ticktick-${finalAttrs.version}-amd64.deb";
|
||||
hash = "sha256-oo1ssIU6nYMBoEc888xAiTS7PHuEkoaC7KsPRTwL0ZA=";
|
||||
};
|
||||
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qlog";
|
||||
version = "0.37.0";
|
||||
version = "0.37.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foldynl";
|
||||
repo = "QLog";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-OXE+8e8Wr2EETEfdDaI/fb+SSsRhippqPzTXTlwLP4c=";
|
||||
hash = "sha256-ZIgKyPRTzlk6N23SmDEPNM8vXXh0FizXb9/WqtbmSCU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "migrate";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://peterbeerli.com/migrate-html5/download_version4/${finalAttrs.pname}-${finalAttrs.version}.src.tar.gz";
|
||||
url = "https://peterbeerli.com/migrate-html5/download_version4/migrate-${finalAttrs.version}.src.tar.gz";
|
||||
hash = "sha256-twkoR9L6VPUye12OC0B5w0PxcxyKain6RkhCswLEdwg=";
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "surelog";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-V4LmW4ca6KfugOu0XnGwutRqWR/9K6ESokHOB2yAVag=";
|
||||
fetchSubmodules = false; # we use all dependencies from nix
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "UHDM";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-va8qAzsg589C6rLmG1uIMDr4X30qpBgRO1ZVKdEs5ok=";
|
||||
fetchSubmodules = false; # we use all dependencies from nix
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "uarmsolver";
|
||||
version = "0.2.6";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firefly-cpp";
|
||||
repo = "uARMSolver";
|
||||
rev = version;
|
||||
sha256 = "sha256-E8hc7qoIDaNERMUhVlh+iBvQX1odzd/szeMSh8TCNFo=";
|
||||
sha256 = "sha256-IMlh6Y5iVouMZatR1uxw0gUNZBdh2qm56s+GEjcr1+M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "5.46.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${finalAttrs.pname}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
|
||||
url = "mirror://sourceforge/maxima/maxima-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-c5Dwa0jaZckDPosvYpuXi5AFZFSlQCLbfecOIiWqiwc=";
|
||||
};
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ghq";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "x-motemen";
|
||||
repo = "ghq";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fp/pqLpuEqvLoB3ioDd1Kx+i1NUI+bUDJzdaT7dQGSg=";
|
||||
sha256 = "sha256-vO/skiVq9wFWjTWyUb9IbKRAmtGSZEtBBEbW6R+oOQM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-M9B19rSEMnmT4wfOVnSAK06UPR/xrs0252lX3B9ebF8=";
|
||||
vendorHash = "sha256-qUMpHFCCzfwM4wC0FIaOrnTiqq3BlG5Jr9XlkSx2HRo=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
, CoreServices
|
||||
, Foundation
|
||||
, Security
|
||||
, testers
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -31,14 +32,14 @@ let
|
||||
{ name = "contrib"; path = "${src}/contrib"; }
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "p4";
|
||||
version = "2022.2.2407422";
|
||||
version = "2024.1/2596294";
|
||||
|
||||
src = fetchurl {
|
||||
# Upstream replaces minor versions, so use archived URL.
|
||||
url = "https://web.archive.org/web/20230512173806id_/https://ftp.perforce.com/perforce/r22.2/bin.tools/p4source.tgz";
|
||||
sha256 = "4355375def3f3d2256d4a92ac1b9960173e7aa97404346c0c74caf23a0905e1b";
|
||||
url = "https://web.archive.org/web/20240526153453id_/https://ftp.perforce.com/perforce/r24.1/bin.tools/p4source.tgz";
|
||||
sha256 = "sha256-6+DOJPeVzP4x0UsN9MlZRAyusapBTICX0BuyvVBQBC8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ jam ];
|
||||
@@ -92,11 +93,16 @@ stdenv.mkDerivation rec {
|
||||
runHook preInstall
|
||||
mkdir -p $bin/bin $dev $out
|
||||
cp bin.unix/p4 $bin/bin
|
||||
cp -r bin.unix/p4api-${version}/include $dev
|
||||
cp -r bin.unix/p4api-${version}/lib $out
|
||||
cp -r bin.unix/p4api-*/include $dev
|
||||
cp -r bin.unix/p4api-*/lib $out
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "p4 -V";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Perforce Helix Core command-line client and APIs";
|
||||
homepage = "https://www.perforce.com";
|
||||
@@ -105,4 +111,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ corngood impl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,28 +2,30 @@
|
||||
, fetchurl
|
||||
, lib
|
||||
, callPackage
|
||||
, libsForQt5
|
||||
, qt6Packages
|
||||
}:
|
||||
|
||||
let
|
||||
# Upstream replaces minor versions, so use archived URLs.
|
||||
srcs = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://web.archive.org/web/20220902181457id_/https://ftp.perforce.com/perforce/r22.2/bin.linux26x86_64/p4v.tgz";
|
||||
sha256 = "8fdade4aafe25f568a61cfd80823aa90599c2a404b7c6b4a0862c84b07a9f8d2";
|
||||
srcs = rec {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://web.archive.org/web/20240612193642id_/https://ftp.perforce.com/perforce/r24.2/bin.linux26x86_64/p4v.tgz";
|
||||
sha256 = "sha256-HA99fHcmgli/vVnr0M8ZJEsaZ2ZLzpG3M8S77oDYJyE=";
|
||||
};
|
||||
"x86_64-darwin" = fetchurl {
|
||||
url = "https://web.archive.org/web/20220902194716id_/https://ftp.perforce.com/perforce/r22.2/bin.macosx1015x86_64/P4V.dmg";
|
||||
sha256 = "c4a9460c0f849be193c68496c500f8a785c740f5bea5b5e7f617969c20be3cd7";
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://web.archive.org/web/20240612194532id_/https://ftp.perforce.com/perforce/r24.2/bin.macosx12u/P4V.dmg";
|
||||
sha256 = "sha256-PS7gfDdWspyL//YWLkrsGi5wh6SIeAry2yef1/V0d6o=";
|
||||
};
|
||||
# this is universal
|
||||
x86_64-darwin = aarch64-darwin;
|
||||
};
|
||||
|
||||
mkDerivation =
|
||||
if stdenv.isDarwin then callPackage ./darwin.nix { }
|
||||
else libsForQt5.callPackage ./linux.nix { };
|
||||
else qt6Packages.callPackage ./linux.nix { };
|
||||
in mkDerivation {
|
||||
pname = "p4v";
|
||||
version = "2022.2.2336701";
|
||||
version = "2024.2/2606884";
|
||||
|
||||
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
|
||||
@@ -17,8 +17,12 @@
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, nss
|
||||
, qtbase
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qttools
|
||||
, qtwebengine
|
||||
, qtwebview
|
||||
, xcbutilimage
|
||||
, xcbutilkeysyms
|
||||
, xcbutilrenderutil
|
||||
@@ -50,8 +54,12 @@ let
|
||||
libxcb
|
||||
libxkbcommon
|
||||
nss
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qttools
|
||||
qtwebengine
|
||||
qtwebview
|
||||
xcbutilimage
|
||||
xcbutilkeysyms
|
||||
xcbutilrenderutil
|
||||
@@ -63,10 +71,19 @@ let
|
||||
# Don't wrap the Qt apps; upstream has its own wrapper scripts.
|
||||
dontWrapQtApps = true;
|
||||
|
||||
postPatch = ''
|
||||
rm -r lib/plugins lib/libQt6* lib/libssl* lib/libicu* lib/libcrypto*
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r bin lib $out
|
||||
addAutoPatchelfSearchPath $out/lib
|
||||
ln -s "${qtbase}/${qtbase.qtPluginPrefix}" $out/lib/plugins
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchelf --clear-symbol-version close $out/bin/p4{v,admin}.bin
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
From cd8c6561079ee4c53b4bed390edd75a730ac685d Mon Sep 17 00:00:00 2001
|
||||
From: Tim Schumacher <timschumi@gmx.de>
|
||||
Date: Thu, 4 Jul 2024 16:26:36 +0200
|
||||
Subject: [PATCH] Don't install systemd unit files using absolute paths
|
||||
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index a188f16..7807abe 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -54,7 +54,7 @@ executable('gsr-kms-server', 'kms/server/kms_server.c', dependencies : dependenc
|
||||
executable('gpu-screen-recorder', src, dependencies : dep, install : true)
|
||||
|
||||
if get_option('systemd') == true
|
||||
- install_data(files('extra/gpu-screen-recorder.service'), install_dir : '/usr/lib/systemd/user')
|
||||
+ install_data(files('extra/gpu-screen-recorder.service'), install_dir : 'lib/systemd/user')
|
||||
endif
|
||||
|
||||
if get_option('capabilities') == true
|
||||
--
|
||||
2.45.1
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
, lib
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, libXcomposite
|
||||
, libpulseaudio
|
||||
@@ -10,24 +12,30 @@
|
||||
, libdrm
|
||||
, libva
|
||||
, libglvnd
|
||||
, libXdamage
|
||||
, libXi
|
||||
, libXrandr
|
||||
, libXfixes
|
||||
, wrapperDir ? "/run/wrappers/bin"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gpu-screen-recorder";
|
||||
version = "unstable-2024-05-21";
|
||||
version = "unstable-2024-07-05";
|
||||
|
||||
# Snapshot tarballs use the following versioning format:
|
||||
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
src = fetchurl {
|
||||
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r594.e572073.tar.gz";
|
||||
hash = "sha256-MTBxhvkoyotmRUx1sRN/7ruXBYwIbOFQNdJHhZ3DdDk=";
|
||||
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r641.48cd80f.tar.gz";
|
||||
hash = "sha256-hIEK8EYIxQTTiFePPZf4V0nsxqxkfcDeOG9GK9whn+0=";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
makeWrapper
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -37,20 +45,29 @@ stdenv.mkDerivation {
|
||||
wayland
|
||||
libdrm
|
||||
libva
|
||||
libXdamage
|
||||
libXi
|
||||
libXrandr
|
||||
libXfixes
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
./build.sh
|
||||
'';
|
||||
patches = [
|
||||
./0001-Don-t-install-systemd-unit-files-using-absolute-path.patch
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dsystemd=true"
|
||||
|
||||
# Capabilities are handled by security.wrappers if possible.
|
||||
"-Dcapabilities=false"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dt $out/bin gpu-screen-recorder gsr-kms-server
|
||||
mkdir $out/bin/.wrapped
|
||||
mv $out/bin/gpu-screen-recorder $out/bin/.wrapped/
|
||||
makeWrapper "$out/bin/.wrapped/gpu-screen-recorder" "$out/bin/gpu-screen-recorder" \
|
||||
--prefix LD_LIBRARY_PATH : ${libglvnd}/lib \
|
||||
--prefix PATH : ${wrapperDir} \
|
||||
--suffix PATH : $out/bin
|
||||
'';
|
||||
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchgit
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, desktop-file-utils
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, gtk3
|
||||
, libayatana-appindicator
|
||||
, libpulseaudio
|
||||
, libdrm
|
||||
, gpu-screen-recorder
|
||||
, libglvnd
|
||||
, libX11
|
||||
, libXrandr
|
||||
, wayland
|
||||
, wrapGAppsHook3
|
||||
, wrapperDir ? "/run/wrappers/bin"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gpu-screen-recorder-gtk";
|
||||
version = "3.7.6";
|
||||
version = "unstable-2024-07-05";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://repo.dec05eba.com/gpu-screen-recorder-gtk";
|
||||
rev = "cd777c1506e20514df4b97345e480051cbaf9693";
|
||||
hash = "sha256-ZBYYsW75tq8TaZp0F4v7YIHKHk/DFBIGy3X781ho2oE=";
|
||||
# Snapshot tarballs use the following versioning format:
|
||||
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
src = fetchurl {
|
||||
url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.r311.c611c51.tar.gz";
|
||||
hash = "sha256-86EdmeZ2dlffSfJOrTVGPtYyL3j6DmCQIALX2rpeS1Y=";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
pkg-config
|
||||
makeWrapper
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libayatana-appindicator
|
||||
libpulseaudio
|
||||
libdrm
|
||||
libX11
|
||||
libXrandr
|
||||
wayland
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
./build.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dt $out/bin/ gpu-screen-recorder-gtk
|
||||
install -Dt $out/share/applications/ gpu-screen-recorder-gtk.desktop
|
||||
|
||||
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gpu-screen-recorder ]})
|
||||
preFixup = let
|
||||
gpu-screen-recorder-wrapped = gpu-screen-recorder.override {
|
||||
inherit wrapperDir;
|
||||
};
|
||||
in ''
|
||||
gappsWrapperArgs+=(--prefix PATH : ${wrapperDir})
|
||||
gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ gpu-screen-recorder-wrapped ]})
|
||||
# we also append /run/opengl-driver/lib as it otherwise fails to find libcuda.
|
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]}:/run/opengl-driver/lib)
|
||||
'';
|
||||
|
||||
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obsproject";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "obs-studio";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-M4IINBoYrgkM37ykb4boHyWP8AxwMX0b7IAeeNIw9Qo=";
|
||||
fetchSubmodules = true;
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nowrep";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "obs-vkcapture";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-hYPQ1N4k4eb+bvGWZqaQJ/C8C5Lh8ooZ03raGF5ORgE=";
|
||||
};
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
, mpv
|
||||
, wget
|
||||
, xdg-utils
|
||||
, youtube-dl
|
||||
, yt-dlp
|
||||
, TestPod
|
||||
, Gtk3
|
||||
@@ -75,11 +74,11 @@ buildPerlModule rec {
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/pipe-viewer" \
|
||||
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget youtube-dl yt-dlp ]}"
|
||||
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}"
|
||||
'' + lib.optionalString withGtk3 ''
|
||||
# make xdg-open overrideable at runtime
|
||||
wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \
|
||||
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget youtube-dl yt-dlp ]}" \
|
||||
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}" \
|
||||
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}"
|
||||
'';
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ let
|
||||
mv $out/bin/arion $out/libexec
|
||||
makeWrapper $out/libexec/arion $out/bin/arion \
|
||||
--unset PYTHONPATH \
|
||||
--prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose_1 ]} \
|
||||
--prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \
|
||||
;
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tart";
|
||||
version = "2.12.0";
|
||||
version = "2.13.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
|
||||
hash = "sha256-+33Z7M9Y8fWFfCBNJrXHljwoAn7p70+yvTmBwx1X68M=";
|
||||
hash = "sha256-aR28Q5eQwcEfk65on4kgA+bko6uEThHsgZZU+fExzus=";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "hyprland-protocols";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=";
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "hyprpaper";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-l13c8ALA7ZKDgluYA1C1OfkDGYD6e1/GR6LJnxCLRhA=";
|
||||
};
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "hyprpicker";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-BYQF1zM6bJ44ag9FJ0aTSkhOTY9U7uRdp3SmRCs5fJM=";
|
||||
};
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
{ lib
|
||||
, runtimeShell
|
||||
, stdenvNoCC
|
||||
, callPackage
|
||||
, substituteAll
|
||||
, writeShellScript
|
||||
, srcOnly
|
||||
, linkFarmFromDrvs
|
||||
@@ -202,131 +204,48 @@ stdenvNoCC.mkDerivation (args // {
|
||||
passthru = {
|
||||
inherit nuget-source;
|
||||
} // lib.optionalAttrs (!lib.isDerivation nugetDeps) {
|
||||
fetch-deps =
|
||||
let
|
||||
flags = dotnetFlags ++ dotnetRestoreFlags;
|
||||
runtimeIds =
|
||||
if runtimeId != null
|
||||
then [ runtimeId ]
|
||||
else map (system: dotnetCorePackages.systemToDotnetRid system) platforms;
|
||||
defaultDepsFile =
|
||||
# Wire in the nugetDeps file such that running the script with no args
|
||||
# runs it agains the correct deps file by default.
|
||||
# Note that toString is necessary here as it results in the path at
|
||||
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
|
||||
# than the Nix store path of the path after it's been imported.
|
||||
if lib.isPath nugetDepsFile && !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile)
|
||||
then toString nugetDepsFile
|
||||
else ''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
|
||||
in
|
||||
writeShellScript "fetch-${pname}-deps" ''
|
||||
set -euo pipefail
|
||||
|
||||
export PATH="${lib.makeBinPath [ coreutils runtimeShellPackage dotnet-sdk (nuget-to-nix.override { inherit dotnet-sdk; }) ]}"
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--keep-sources|-k)
|
||||
keepSources=1
|
||||
shift
|
||||
;;
|
||||
--help|-h)
|
||||
echo "usage: $0 [--keep-sources] [--help] <output path>"
|
||||
echo " <output path> The path to write the lockfile to. A temporary file is used if this is not set"
|
||||
echo " --keep-sources Dont remove temporary directories upon exit, useful for debugging"
|
||||
echo " --help Show this help message"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ''${TMPDIR:-} == /run/user/* ]]; then
|
||||
# /run/user is usually a tmpfs in RAM, which may be too small
|
||||
# to store all downloaded dotnet packages
|
||||
unset TMPDIR
|
||||
fi
|
||||
|
||||
export tmp=$(mktemp -td "deps-${pname}-XXXXXX")
|
||||
HOME=$tmp/home
|
||||
|
||||
exitTrap() {
|
||||
test -n "''${ranTrap-}" && return
|
||||
ranTrap=1
|
||||
|
||||
if test -n "''${keepSources-}"; then
|
||||
echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home"
|
||||
else
|
||||
rm -rf "$tmp"
|
||||
fi
|
||||
|
||||
# Since mktemp is used this will be empty if the script didnt succesfully complete
|
||||
if ! test -s "$depsFile"; then
|
||||
rm -rf "$depsFile"
|
||||
fi
|
||||
}
|
||||
|
||||
trap exitTrap EXIT INT TERM
|
||||
|
||||
dotnetRestore() {
|
||||
local -r project="''${1-}"
|
||||
local -r rid="$2"
|
||||
|
||||
dotnet restore ''${project-} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
--packages "$tmp/nuget_pkgs" \
|
||||
--runtime "$rid" \
|
||||
--no-cache \
|
||||
--force \
|
||||
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
|
||||
${lib.escapeShellArgs flags}
|
||||
}
|
||||
|
||||
declare -a projectFiles=( ${lib.escapeShellArgs projectFiles} )
|
||||
declare -a testProjectFiles=( ${lib.escapeShellArgs testProjectFiles} )
|
||||
|
||||
export DOTNET_NOLOGO=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
depsFile=$(realpath "''${1:-${defaultDepsFile}}")
|
||||
echo Will write lockfile to "$depsFile"
|
||||
mkdir -p "$tmp/nuget_pkgs"
|
||||
|
||||
storeSrc="${srcOnly args}"
|
||||
src=$tmp/src
|
||||
cp -rT "$storeSrc" "$src"
|
||||
chmod -R +w "$src"
|
||||
|
||||
cd "$src"
|
||||
echo "Restoring project..."
|
||||
|
||||
${dotnet-sdk}/bin/dotnet tool restore
|
||||
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
|
||||
|
||||
for rid in "${lib.concatStringsSep "\" \"" runtimeIds}"; do
|
||||
(( ''${#projectFiles[@]} == 0 )) && dotnetRestore "" "$rid"
|
||||
|
||||
for project in ''${projectFiles[@]-} ''${testProjectFiles[@]-}; do
|
||||
dotnetRestore "$project" "$rid"
|
||||
done
|
||||
done
|
||||
# Second copy, makes sure packages restored by ie. paket are included
|
||||
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
|
||||
|
||||
echo "Succesfully restored project"
|
||||
|
||||
echo "Writing lockfile..."
|
||||
|
||||
excluded_sources="${lib.concatStringsSep " " sdkDeps}"
|
||||
for excluded_source in ''${excluded_sources[@]}; do
|
||||
ls "$excluded_source" >> "$tmp/excluded_list"
|
||||
done
|
||||
tmpFile="$tmp"/deps.nix
|
||||
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
|
||||
nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$tmpFile"
|
||||
mv "$tmpFile" "$depsFile"
|
||||
echo "Succesfully wrote lockfile to $depsFile"
|
||||
'';
|
||||
fetch-deps = let
|
||||
flagsList = dotnetFlags ++ dotnetRestoreFlags;
|
||||
flags = lib.concatStringsSep " " (map lib.escapeShellArg flagsList);
|
||||
disableParallel =
|
||||
lib.optionalString (!enableParallelBuilding) "--disable-parallel";
|
||||
runtimeIdsList = if runtimeId != null then
|
||||
[ runtimeId ]
|
||||
else
|
||||
map (system: dotnetCorePackages.systemToDotnetRid system) platforms;
|
||||
runtimeIds =
|
||||
lib.concatStringsSep " " (map lib.escapeShellArg runtimeIdsList);
|
||||
defaultDepsFile =
|
||||
# Wire in the nugetDeps file such that running the script with no args
|
||||
# runs it agains the correct deps file by default.
|
||||
# Note that toString is necessary here as it results in the path at
|
||||
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
|
||||
# than the Nix store path of the path after it's been imported.
|
||||
if lib.isPath nugetDepsFile
|
||||
&& !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile) then
|
||||
toString nugetDepsFile
|
||||
else
|
||||
''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
|
||||
storeSrc = srcOnly args;
|
||||
projectFileStr = lib.escapeShellArg projectFiles;
|
||||
testProjectFileStr = lib.escapeShellArg testProjectFiles;
|
||||
path = lib.makeBinPath [
|
||||
coreutils
|
||||
runtimeShellPackage
|
||||
dotnet-sdk
|
||||
(nuget-to-nix.override { inherit dotnet-sdk; })
|
||||
];
|
||||
dotnetSdkPath = toString dotnet-sdk;
|
||||
excludedSources =
|
||||
lib.concatStringsSep " " (map lib.escapeShellArg sdkDeps);
|
||||
in substituteAll {
|
||||
name = "fetch-deps";
|
||||
src = ./fetch-deps.sh;
|
||||
isExecutable = true;
|
||||
inherit pname defaultDepsFile runtimeIds storeSrc flags disableParallel
|
||||
projectFileStr testProjectFileStr path dotnetSdkPath excludedSources
|
||||
runtimeShell;
|
||||
};
|
||||
} // args.passthru or { };
|
||||
|
||||
meta = (args.meta or { }) // { inherit platforms; };
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
#! @runtimeShell@
|
||||
# shellcheck shell=bash
|
||||
set -euo pipefail
|
||||
|
||||
export PATH="@path@"
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--keep-sources|-k)
|
||||
keepSources=1
|
||||
shift
|
||||
;;
|
||||
--help|-h)
|
||||
echo "usage: $0 [--keep-sources] [--help] <output path>"
|
||||
echo " <output path> The path to write the lockfile to. A temporary file is used if this is not set"
|
||||
echo " --keep-sources Dont remove temporary directories upon exit, useful for debugging"
|
||||
echo " --help Show this help message"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ${TMPDIR:-} == /run/user/* ]]; then
|
||||
# /run/user is usually a tmpfs in RAM, which may be too small
|
||||
# to store all downloaded dotnet packages
|
||||
unset TMPDIR
|
||||
fi
|
||||
|
||||
export tmp=$(mktemp -td "deps-@pname@-XXXXXX")
|
||||
HOME=$tmp/home
|
||||
|
||||
exitTrap() {
|
||||
test -n "${ranTrap-}" && return
|
||||
ranTrap=1
|
||||
|
||||
if test -n "${keepSources-}"; then
|
||||
echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home"
|
||||
else
|
||||
rm -rf "$tmp"
|
||||
fi
|
||||
|
||||
# Since mktemp is used this will be empty if the script didnt succesfully complete
|
||||
if ! test -s "$depsFile"; then
|
||||
rm -rf "$depsFile"
|
||||
fi
|
||||
}
|
||||
|
||||
trap exitTrap EXIT INT TERM
|
||||
|
||||
dotnetRestore() {
|
||||
local -r project="${1-}"
|
||||
local -r rid="$2"
|
||||
|
||||
dotnet restore ${project-} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
--packages "$tmp/nuget_pkgs" \
|
||||
--runtime "$rid" \
|
||||
--no-cache \
|
||||
--force \
|
||||
@disableParallel@ \
|
||||
@flags@
|
||||
}
|
||||
|
||||
declare -a projectFiles=( @projectFileStr@ )
|
||||
declare -a testProjectFiles=( @testProjectFileStr@ )
|
||||
|
||||
export DOTNET_NOLOGO=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
depsFile=$(realpath "${1:-@defaultDepsFile@}")
|
||||
echo Will write lockfile to "$depsFile"
|
||||
mkdir -p "$tmp/nuget_pkgs"
|
||||
|
||||
storeSrc="@storeSrc@"
|
||||
src=$tmp/src
|
||||
cp -rT "$storeSrc" "$src"
|
||||
chmod -R +w "$src"
|
||||
|
||||
cd "$src"
|
||||
echo "Restoring project..."
|
||||
|
||||
"@dotnetSdkPath@/bin/dotnet" tool restore
|
||||
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
|
||||
|
||||
runtimeIds=(@runtimeIds@)
|
||||
|
||||
for rid in "${runtimeIds[@]}"; do
|
||||
(( ${#projectFiles[@]} == 0 )) && dotnetRestore "" "$rid"
|
||||
|
||||
for project in ${projectFiles[@]-} ${testProjectFiles[@]-}; do
|
||||
dotnetRestore "$project" "$rid"
|
||||
done
|
||||
done
|
||||
# Second copy, makes sure packages restored by ie. paket are included
|
||||
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
|
||||
|
||||
echo "Succesfully restored project"
|
||||
|
||||
echo "Writing lockfile..."
|
||||
|
||||
excluded_sources=( @excludedSources@ )
|
||||
for excluded_source in ${excluded_sources[@]}; do
|
||||
ls "$excluded_source" >> "$tmp/excluded_list"
|
||||
done
|
||||
tmpFile="$tmp"/deps.nix
|
||||
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
|
||||
nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$tmpFile"
|
||||
mv "$tmpFile" "$depsFile"
|
||||
echo "Succesfully wrote lockfile to $depsFile"
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ab-av1";
|
||||
version = "0.7.15";
|
||||
version = "0.7.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexheretic";
|
||||
repo = "ab-av1";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-s1hE+/fj73xxHqBQ7Q295vYBGzdCeHj0odn+EPFrS6E=";
|
||||
hash = "sha256-gZdlitOu0Tyur2xdPBYLZg/N2eL6oT6BasVzmx0lHE4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0Fi9b5TQeVHw8MfLdIhLybb4ppRVcPqRQz1oR+AIGY0=";
|
||||
cargoHash = "sha256-aws8miz+HWdfL33c+BmBo01ooXJMKB9Ekdji+Uh58AQ=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.2.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://alsa/lib/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
|
||||
url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-nz8vabmV+a03NZBy+8aaOoi/uggfyD6b4w4UZieVu00=";
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
|
||||
index 71a110a7b..e69880d46 100644
|
||||
--- a/data/CMakeLists.txt
|
||||
+++ b/data/CMakeLists.txt
|
||||
@@ -38,11 +38,6 @@ if(NOT WIN32)
|
||||
# find the correct file.
|
||||
set(DESKTOP_ANSEL_BINARY "ansel")
|
||||
set(DESKTOP_ANSEL_ICON "ansel")
|
||||
- if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
|
||||
- set(DESKTOP_ANSEL_BINARY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/ansel")
|
||||
- # `hicolor` is always available.
|
||||
- set(DESKTOP_ANSEL_ICON "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/ansel.svg")
|
||||
- endif()
|
||||
|
||||
# Append supported MIME types dynamically.
|
||||
if("avif" IN_LIST DT_SUPPORTED_EXTENSIONS)
|
||||
@@ -87,6 +87,11 @@ stdenv.mkDerivation {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# don't use absolute paths to binary or icon - see https://github.com/NixOS/nixpkgs/issues/308324
|
||||
./fix-desktop-file.patch
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "application-title-bar";
|
||||
version = "0.6.5";
|
||||
version = "0.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antroids";
|
||||
repo = "application-title-bar";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-hA8aK2rd53VyYQnR0SG4KfwycCqT1EYB7iAJvkDGvYs=";
|
||||
hash = "sha256-6k8bVVrCzrUno7m9NJWlFpwHsWLNRWudhw5mhpsMxRU=";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = with kdePackages; [ kconfig ];
|
||||
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.5.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.efficios.com/files/babeltrace/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
|
||||
url = "https://www.efficios.com/files/babeltrace/babeltrace-${finalAttrs.version}.tar.bz2";
|
||||
sha256 = "Z7Q6qu9clR+nrxpVfPcgGhH+iYdrfCK6CgPLwxbbWpw=";
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ buildNimPackage (finalAttrs: {
|
||||
version = "20230124";
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~ehmry";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "base45";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-9he+14yYVGt2s1IuRLPRsv23xnJzERkWRvIHr3PxFYk=";
|
||||
};
|
||||
|
||||
+12
@@ -96,4 +96,16 @@
|
||||
(fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.13.0"; sha256 = "1r5lc8x3iq795l7vnyzs3shvpqz92fldkayvkqmrfjxnqmy0w3kg"; })
|
||||
(fetchNuGet { pname = "Tmds.DBus.SourceGenerator"; version = "0.0.2"; sha256 = "03q0fja30216npb3hd39iapr9psriz2k35lymaf4921195y40fiq"; })
|
||||
(fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.6.1"; sha256 = "0348gj9g5rl0pj2frx4vscj6602gfyn9ba3i1rmfcrxh9jwwa09m"; })
|
||||
|
||||
# HACK: I've manually added these because they are needed to build with sdk 7,
|
||||
# but this package fails to build if all dependencies are updated.
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.31"; hash = "sha256-rVxnpwa8B1weEzkJIxm+todHXrSdIT3KY38D09MncUI="; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.31"; hash = "sha256-z6HNgiyLyXN5+QlktIZmOQh9D4KRHWd6yonmKChEji4="; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.31"; hash = "sha256-Rq97wUeAD2bZhe0XRLB9Ffq1MBU/u4Yq45KwRLz7DRQ="; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.31"; hash = "sha256-mjS1IKBwxDFT2UmcyC5ZMIQ3mWSADw887CIV0pZhQRc="; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.31"; hash = "sha256-VifKEirDStL5vpjnEe0hGsODssK20XBX/Mm6j8G4QIM="; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.31"; hash = "sha256-p/KpNGwJfvoWNRn057o4t8u8La2LvsmOjF0i2W1URKU="; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.31"; hash = "sha256-N3xRbF5nQo9Okixqg1mN86L7VB72bpDR0C6wlfzntPI="; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.31"; hash = "sha256-TE1DmzoBKO9qKoATBWZPRKXBRoRzs6AafKuubeSwgl8="; })
|
||||
]
|
||||
|
||||
@@ -5,7 +5,7 @@ buildNimPackage (finalAttrs: {
|
||||
version = "0.9.19";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nim-lang";
|
||||
repo = finalAttrs.pname;
|
||||
repo = "c2nim";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-E8sAhTFIWAnlfWyuvqK8h8g7Puf5ejLEqgLNb5N17os=";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "catnest";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eweOS";
|
||||
repo = "catnest";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-/t1clnxBNU5lfTjtUbt5eOl5KPeAfG8Hq6jBVMqkkWY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
$CC catnest.c -o catnest -std=gnu99
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 catnest -t $out/bin
|
||||
installManPage catnest.1
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Small, single-file and POSIX-compatible substituion for systemd-sysusers";
|
||||
homepage = "https://github.com/eweOS/catnest";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "catnest";
|
||||
maintainers = with lib.maintainers; [ aleksana ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -3,6 +3,7 @@
|
||||
, fetchFromGitHub
|
||||
, nodejs_18
|
||||
, installShellFiles
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
@@ -25,10 +26,10 @@ buildNpmPackage rec {
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd clever \
|
||||
--bash <($out/bin/clever --bash-autocomplete-script) \
|
||||
--zsh <($out/bin/clever --zsh-autocomplete-script)
|
||||
--bash <($out/bin/clever --bash-autocomplete-script $out/bin/clever) \
|
||||
--zsh <($out/bin/clever --zsh-autocomplete-script $out/bin/clever)
|
||||
rm $out/bin/install-clever-completion
|
||||
rm $out/bin/uninstall-clever-completion
|
||||
'';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user