mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
Merge branch 'staging-next' into staging
This commit is contained in:
commit
211398c03e
@ -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
|
||||
|
@ -283,7 +283,10 @@ in {
|
||||
];
|
||||
|
||||
composerRepository = php.mkComposerRepository {
|
||||
inherit (finalAttrs) src;
|
||||
inherit (finalAttrs) pname version src;
|
||||
composerNoDev = true;
|
||||
composerNoPlugins = true;
|
||||
composerNoScripts = true;
|
||||
# Specifying a custom composer.lock since it is not present in the sources.
|
||||
composerLock = ./composer.lock;
|
||||
# The composer vendor hash
|
||||
|
@ -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.
|
||||
|
||||
@ -223,6 +225,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`.
|
||||
|
||||
@ -240,3 +245,46 @@
|
||||
{option}`services.gitlab-runner.services.<name>.registrationConfigFile` option.
|
||||
|
||||
- `iproute2` now has libbpf support.
|
||||
|
||||
## 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 = {
|
||||
|
@ -14,6 +14,8 @@
|
||||
.Op Fl -root Ar root
|
||||
.Op Fl -system Ar path
|
||||
.Op Fl -flake Ar flake-uri
|
||||
.Op Fl -file | f Ar path
|
||||
.Op Fl -attr | A Ar attrPath
|
||||
.Op Fl -impure
|
||||
.Op Fl -channel Ar channel
|
||||
.Op Fl -no-channel-copy
|
||||
@ -111,6 +113,32 @@ output named
|
||||
.Ql nixosConfigurations. Ns Ar name Ns
|
||||
\&.
|
||||
.
|
||||
.It Fl -file Ar path , Fl f Ar path
|
||||
Enable and build the NixOS system from the specified file. The file must
|
||||
evaluate to an attribute set, and it must contain a valid NixOS configuration
|
||||
at attribute
|
||||
.Va attrPath Ns
|
||||
\&. This is useful for building a NixOS system from a nix file that is not
|
||||
a flake or a NixOS configuration module. Attribute set a with valid NixOS
|
||||
configuration can be made using
|
||||
.Va nixos
|
||||
function in nixpkgs or importing and calling
|
||||
.Pa nixos/lib/eval-config.nix
|
||||
from nixpkgs. If specified without
|
||||
.Fl -attr
|
||||
option, builds the configuration from the top-level
|
||||
attribute of the file.
|
||||
.
|
||||
.It Fl -attr Ar attrPath , Fl A Ar attrPath
|
||||
Enable and build the NixOS system from nix file and use the specified attribute
|
||||
path from file specified by the
|
||||
.Fl -file
|
||||
option. If specified without
|
||||
.Fl -file
|
||||
option, uses
|
||||
.Va [root] Ns Pa /etc/nixos/default.nix Ns
|
||||
\&.
|
||||
.
|
||||
.It Fl -channel Ar channel
|
||||
If this option is provided, do not copy the current
|
||||
.Dq nixos
|
||||
|
@ -17,6 +17,9 @@ mountPoint=/mnt
|
||||
channelPath=
|
||||
system=
|
||||
verbosity=()
|
||||
attr=
|
||||
buildFile=
|
||||
buildingAttribute=1
|
||||
|
||||
while [ "$#" -gt 0 ]; do
|
||||
i="$1"; shift 1
|
||||
@ -41,6 +44,24 @@ while [ "$#" -gt 0 ]; do
|
||||
flakeFlags=(--experimental-features 'nix-command flakes')
|
||||
shift 1
|
||||
;;
|
||||
--file|-f)
|
||||
if [ -z "$1" ]; then
|
||||
log "$0: '$i' requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
buildFile="$1"
|
||||
buildingAttribute=
|
||||
shift 1
|
||||
;;
|
||||
--attr|-A)
|
||||
if [ -z "$1" ]; then
|
||||
log "$0: '$i' requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
attr="$1"
|
||||
buildingAttribute=
|
||||
shift 1
|
||||
;;
|
||||
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
|
||||
lockFlags+=("$i")
|
||||
;;
|
||||
@ -101,17 +122,30 @@ while [[ "$checkPath" != "/" ]]; do
|
||||
checkPath="$(dirname "$checkPath")"
|
||||
done
|
||||
|
||||
# Get the path of the NixOS configuration file.
|
||||
if [[ -z $NIXOS_CONFIG ]]; then
|
||||
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
|
||||
fi
|
||||
|
||||
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
|
||||
echo "$0: \$NIXOS_CONFIG is not an absolute path"
|
||||
# Verify that user is not trying to use attribute building and flake
|
||||
# at the same time
|
||||
if [[ -z $buildingAttribute && -n $flake ]]; then
|
||||
echo "$0: '--flake' cannot be used with '--file' or '--attr'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n $flake ]]; then
|
||||
# Get the path of the NixOS configuration file.
|
||||
if [[ -z $flake && -n $buildingAttribute ]]; then
|
||||
if [[ -z $NIXOS_CONFIG ]]; then
|
||||
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
|
||||
fi
|
||||
|
||||
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
|
||||
echo "$0: \$NIXOS_CONFIG is not an absolute path"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ -z $buildingAttribute ]]; then
|
||||
if [[ -z $buildFile ]]; then
|
||||
buildFile="$mountPoint/etc/nixos/default.nix"
|
||||
elif [[ -d $buildFile ]]; then
|
||||
buildFile="$buildFile/default.nix"
|
||||
fi
|
||||
elif [[ -n $flake ]]; then
|
||||
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
||||
flake="${BASH_REMATCH[1]}"
|
||||
flakeAttr="${BASH_REMATCH[2]}"
|
||||
@ -129,11 +163,16 @@ if [[ -n $flake ]]; then
|
||||
flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
|
||||
fi
|
||||
|
||||
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
|
||||
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake && -n $buildingAttribute ]]; then
|
||||
echo "configuration file $NIXOS_CONFIG doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -z $buildingAttribute && -e $buildFile && -z $system ]]; then
|
||||
echo "configuration file $buildFile doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# A place to drop temporary stuff.
|
||||
tmpdir="$(mktemp -d -p "$mountPoint")"
|
||||
trap 'rm -rf $tmpdir' EXIT
|
||||
@ -163,11 +202,20 @@ fi
|
||||
# Build the system configuration in the target filesystem.
|
||||
if [[ -z $system ]]; then
|
||||
outLink="$tmpdir/system"
|
||||
if [[ -z $flake ]]; then
|
||||
if [[ -z $flake && -n $buildingAttribute ]]; then
|
||||
echo "building the configuration in $NIXOS_CONFIG..."
|
||||
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
|
||||
--extra-substituters "$sub" \
|
||||
'<nixpkgs/nixos>' -A system -I "nixos-config=$NIXOS_CONFIG" "${verbosity[@]}"
|
||||
elif [[ -z $buildingAttribute ]]; then
|
||||
if [[ -n $attr ]]; then
|
||||
echo "building the configuration in $buildFile and attribute $attr..."
|
||||
else
|
||||
echo "building the configuration in $buildFile..."
|
||||
fi
|
||||
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
|
||||
--extra-substituters "$sub" \
|
||||
"$buildFile" -A "${attr:+$attr.}config.system.build.toplevel" "${verbosity[@]}"
|
||||
else
|
||||
echo "building the flake in $flake..."
|
||||
nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \
|
||||
|
@ -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
|
||||
|
40
nixos/modules/programs/gpu-screen-recorder.nix
Normal file
40
nixos/modules/programs/gpu-screen-recorder.nix
Normal file
@ -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;
|
||||
|
||||
|
@ -16,14 +16,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
# list probes
|
||||
machine.succeed("bpftrace -l")
|
||||
# simple BEGIN probe (user probe on bpftrace itself)
|
||||
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\"); exit(); }'"))
|
||||
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'"))
|
||||
# tracepoint
|
||||
print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'"))
|
||||
# kprobe
|
||||
print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
|
||||
# BTF
|
||||
print(machine.succeed("bpftrace -e 'kprobe:schedule { "
|
||||
" printf(\"tgid: %d\", ((struct task_struct*) curtask)->tgid); exit() "
|
||||
" printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() "
|
||||
"}'"))
|
||||
# module BTF (bpftrace >= 0.17)
|
||||
# test is currently disabled on aarch64 as kfunc does not work there yet
|
||||
@ -32,5 +32,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
"bpftrace -e 'kfunc:nft_trans_alloc_gfp { "
|
||||
" printf(\"portid: %d\\n\", args->ctx->portid); "
|
||||
"} BEGIN { exit() }'"))
|
||||
# glibc includes
|
||||
print(machine.succeed("bpftrace -e '#include <errno.h>\n"
|
||||
"BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'"))
|
||||
'';
|
||||
})
|
||||
|
@ -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" ];
|
||||
|
@ -11,7 +11,7 @@ let
|
||||
|
||||
# The configuration to install.
|
||||
makeConfig = { bootLoader, grubDevice, grubIdentifier, grubUseEfi
|
||||
, extraConfig, forceGrubReinstallCount ? 0, flake ? false
|
||||
, extraConfig, forceGrubReinstallCount ? 0, withTestInstrumentation ? true
|
||||
, clevisTest
|
||||
}:
|
||||
pkgs.writeText "configuration.nix" ''
|
||||
@ -19,7 +19,7 @@ let
|
||||
|
||||
{ imports =
|
||||
[ ./hardware-configuration.nix
|
||||
${if flake
|
||||
${if !withTestInstrumentation
|
||||
then "" # Still included, but via installer/flake.nix
|
||||
else "<nixpkgs/nixos/modules/testing/test-instrumentation.nix>"}
|
||||
];
|
||||
@ -81,7 +81,7 @@ let
|
||||
# partitions and filesystems.
|
||||
testScriptFun = { bootLoader, createPartitions, grubDevice, grubUseEfi, grubIdentifier
|
||||
, postInstallCommands, postBootCommands, extraConfig
|
||||
, testSpecialisationConfig, testFlakeSwitch, clevisTest, clevisFallbackTest
|
||||
, testSpecialisationConfig, testFlakeSwitch, testByAttrSwitch, clevisTest, clevisFallbackTest
|
||||
, disableFileSystems
|
||||
}:
|
||||
let
|
||||
@ -316,6 +316,119 @@ let
|
||||
|
||||
target.shutdown()
|
||||
''
|
||||
+ optionalString testByAttrSwitch ''
|
||||
with subtest("Configure system with attribute set"):
|
||||
target.succeed("""
|
||||
mkdir /root/my-config
|
||||
mv /etc/nixos/hardware-configuration.nix /root/my-config/
|
||||
rm /etc/nixos/configuration.nix
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
withTestInstrumentation = false;
|
||||
}}",
|
||||
"/root/my-config/configuration.nix",
|
||||
)
|
||||
target.copy_from_host_via_shell(
|
||||
"${./installer/byAttrWithChannel.nix}",
|
||||
"/root/my-config/default.nix",
|
||||
)
|
||||
with subtest("Switch to attribute set based config with channels"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
target.shutdown()
|
||||
|
||||
${startTarget}
|
||||
|
||||
target.succeed("""
|
||||
rm /root/my-config/default.nix
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${./installer/byAttrNoChannel.nix}",
|
||||
"/root/my-config/default.nix",
|
||||
)
|
||||
|
||||
target.succeed("""
|
||||
pkgs=$(readlink -f /nix/var/nix/profiles/per-user/root/channels)/nixos
|
||||
if ! [[ -e $pkgs/pkgs/top-level/default.nix ]]; then
|
||||
echo 1>&2 "$pkgs does not seem to be a nixpkgs source. Please fix the test so that pkgs points to a nixpkgs source.";
|
||||
exit 1;
|
||||
fi
|
||||
sed -e s^@nixpkgs@^$pkgs^ -i /root/my-config/default.nix
|
||||
|
||||
""")
|
||||
|
||||
with subtest("Switch to attribute set based config without channels"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
target.shutdown()
|
||||
|
||||
${startTarget}
|
||||
|
||||
with subtest("nix-channel command is not available anymore"):
|
||||
target.succeed("! which nix-channel")
|
||||
|
||||
with subtest("builtins.nixPath is now empty"):
|
||||
target.succeed("""
|
||||
[[ "[ ]" == "$(nix-instantiate builtins.nixPath --eval --expr)" ]]
|
||||
""")
|
||||
|
||||
with subtest("<nixpkgs> does not resolve"):
|
||||
target.succeed("""
|
||||
! nix-instantiate '<nixpkgs>' --eval --expr
|
||||
""")
|
||||
|
||||
with subtest("Evaluate attribute set based config in fresh env without nix-channel"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
with subtest("Evaluate attribute set based config in fresh env without channel profiles"):
|
||||
target.succeed("""
|
||||
(
|
||||
exec 1>&2
|
||||
mkdir -p /root/restore
|
||||
mv -v /root/.nix-channels /root/restore/
|
||||
mv -v ~/.nix-defexpr /root/restore/
|
||||
mkdir -p /root/restore/channels
|
||||
mv -v /nix/var/nix/profiles/per-user/root/channels* /root/restore/channels/
|
||||
)
|
||||
""")
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
''
|
||||
+ optionalString (testByAttrSwitch && testFlakeSwitch) ''
|
||||
with subtest("Restore channel profiles"):
|
||||
target.succeed("""
|
||||
(
|
||||
exec 1>&2
|
||||
mv -v /root/restore/.nix-channels /root/
|
||||
mv -v /root/restore/.nix-defexpr ~/.nix-defexpr
|
||||
mv -v /root/restore/channels/* /nix/var/nix/profiles/per-user/root/
|
||||
rm -vrf /root/restore
|
||||
)
|
||||
""")
|
||||
|
||||
with subtest("Restore /etc/nixos"):
|
||||
target.succeed("""
|
||||
mv -v /root/my-config/hardware-configuration.nix /etc/nixos/
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
}}",
|
||||
"/etc/nixos/configuration.nix",
|
||||
)
|
||||
|
||||
with subtest("Restore /root/my-config"):
|
||||
target.succeed("""
|
||||
rm -vrf /root/my-config
|
||||
""")
|
||||
|
||||
''
|
||||
+ optionalString (testByAttrSwitch && !testFlakeSwitch) ''
|
||||
target.shutdown()
|
||||
''
|
||||
+ optionalString testFlakeSwitch ''
|
||||
${startTarget}
|
||||
|
||||
@ -330,7 +443,7 @@ let
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
flake = true;
|
||||
withTestInstrumentation = false;
|
||||
}}",
|
||||
"/root/my-config/configuration.nix",
|
||||
)
|
||||
@ -399,6 +512,7 @@ let
|
||||
, enableOCR ? false, meta ? {}
|
||||
, testSpecialisationConfig ? false
|
||||
, testFlakeSwitch ? false
|
||||
, testByAttrSwitch ? false
|
||||
, clevisTest ? false
|
||||
, clevisFallbackTest ? false
|
||||
, disableFileSystems ? false
|
||||
@ -533,7 +647,7 @@ let
|
||||
testScript = testScriptFun {
|
||||
inherit bootLoader createPartitions postInstallCommands postBootCommands
|
||||
grubDevice grubIdentifier grubUseEfi extraConfig
|
||||
testSpecialisationConfig testFlakeSwitch clevisTest clevisFallbackTest
|
||||
testSpecialisationConfig testFlakeSwitch testByAttrSwitch clevisTest clevisFallbackTest
|
||||
disableFileSystems;
|
||||
};
|
||||
};
|
||||
@ -589,6 +703,15 @@ let
|
||||
testFlakeSwitch = true;
|
||||
};
|
||||
|
||||
simple-test-config-by-attr = simple-test-config // {
|
||||
testByAttrSwitch = true;
|
||||
};
|
||||
|
||||
simple-test-config-from-by-attr-to-flake = simple-test-config // {
|
||||
testByAttrSwitch = true;
|
||||
testFlakeSwitch = true;
|
||||
};
|
||||
|
||||
simple-uefi-grub-config = {
|
||||
createPartitions = ''
|
||||
installer.succeed(
|
||||
@ -782,6 +905,10 @@ in {
|
||||
|
||||
switchToFlake = makeInstallerTest "switch-to-flake" simple-test-config-flake;
|
||||
|
||||
switchToByAttr = makeInstallerTest "switch-to-by-attr" simple-test-config-by-attr;
|
||||
|
||||
switchFromByAttrToFlake = makeInstallerTest "switch-from-by-attr-to-flake" simple-test-config-from-by-attr-to-flake;
|
||||
|
||||
# Test cloned configurations with the simple grub configuration
|
||||
simpleSpecialised = makeInstallerTest "simpleSpecialised" (simple-test-config // specialisation-test-extraconfig);
|
||||
|
||||
|
18
nixos/tests/installer/byAttrNoChannel.nix
Normal file
18
nixos/tests/installer/byAttrNoChannel.nix
Normal file
@ -0,0 +1,18 @@
|
||||
# This file gets copied into the installation
|
||||
|
||||
let
|
||||
nixpkgs = "@nixpkgs@";
|
||||
in
|
||||
|
||||
{ evalConfig ? import "${nixpkgs}/nixos/lib/eval-config.nix" }:
|
||||
|
||||
evalConfig {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
( import "${nixpkgs}/nixos/modules/testing/test-instrumentation.nix" )
|
||||
{
|
||||
# Disable nix channels
|
||||
nix.channel.enable = false;
|
||||
}
|
||||
];
|
||||
}
|
10
nixos/tests/installer/byAttrWithChannel.nix
Normal file
10
nixos/tests/installer/byAttrWithChannel.nix
Normal file
@ -0,0 +1,10 @@
|
||||
# This file gets copied into the installation
|
||||
|
||||
{ evalConfig ? import <nixpkgs/nixos/lib/eval-config.nix> }:
|
||||
|
||||
evalConfig {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
( import <nixpkgs/nixos/modules/testing/test-instrumentation.nix> )
|
||||
];
|
||||
}
|
@ -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";
|
||||
};
|
||||
})
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
|
||||
version = "1.1.5";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
|
||||
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ mopidy pykka ];
|
||||
|
@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
|
||||
hash = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Jellyfin";
|
||||
sha256 = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
|
||||
hash = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ];
|
||||
|
@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
|
||||
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ mopidy configobj ];
|
||||
|
@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
|
||||
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy ];
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-MPRIS";
|
||||
sha256 = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Muse";
|
||||
sha256 = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
|
||||
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
|
||||
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Podcast";
|
||||
sha256 = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
|
||||
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -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 ];
|
||||
|
@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
|
||||
hash = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
|
@ -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";
|
||||
|
@ -30,21 +30,21 @@ let
|
||||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0bzf0mx1rgndpdd4a97kr01xsgsgp86gyscg8js2cvaad4265bmv";
|
||||
x86_64-darwin = "1m7f91cqbbv00difvfqld8fqkj9kvyddihmzi3zyzn4gfkv8gvf0";
|
||||
aarch64-linux = "09mxsk4qkq34yg1sd67cdasfxwdhdzcfij50fv1nl3kdjzp2i0iz";
|
||||
aarch64-darwin = "1jxjzfz6gr0pcp2anwjqwm38ma2i8fnzf5zpscfdklrlbhf438k2";
|
||||
armv7l-linux = "1yp4npgw4dkx8halsr1vm5ll1w4phx67dwd4krz1914mddx7x2kr";
|
||||
x86_64-linux = "0ighhwwmc8cxdabq2wkzzr21sv6zaj90pnqi2cy8krfwm88w6jc0";
|
||||
x86_64-darwin = "1fbpw0xib9vm47ab028frg789vgmkpwcdxs8m2in7ywrckl6xycy";
|
||||
aarch64-linux = "0n0f518xl1fh17llsd159ldi50z2vihkghfq7plfnbnngpf0swy9";
|
||||
aarch64-darwin = "03v3869yblx03j0c3njlvg7qgdmqrg8jvj9s1iyhqw1xpb2lc41c";
|
||||
armv7l-linux = "12dv0vqqzriqr8ysjjx62hy2b41dky2p0rcr11wznqi259bryckr";
|
||||
}.${system} or throwSystem;
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.91.0";
|
||||
version = "1.91.1";
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "ea1445cc7016315d0f5728f8e8b12a45dc0a7286";
|
||||
rev = "f1e16e1e6214d7c44d078b1f0607b2388f29d729";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
|
||||
@ -68,7 +68,7 @@ in
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
sha256 = "08mgfrwiji16q8x8kwmw3pdmb0325hfr9pd2fa5g5kmy9gnfw38v";
|
||||
sha256 = "0k38pkfz9kpbpx0n50iq531mrm7qxqggks092cs4zicv815jk8wg";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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=";
|
||||
};
|
||||
|
@ -26,7 +26,7 @@ buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
|
||||
hash = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
|
||||
};
|
||||
|
||||
# Relax requirements from "==" to ">="
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
|
||||
hash = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
|
||||
};
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
|
@ -6,7 +6,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
|
||||
hash = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
|
@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-L/hu0mYCAxHkp5me96a6HlEY6QsuJDESpTNhlzVRHWs=";
|
||||
hash = "sha256-L/hu0mYCAxHkp5me96a6HlEY6QsuJDESpTNhlzVRHWs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3Packages.setuptools-scm ];
|
||||
|
@ -6,7 +6,7 @@ buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-82P9tE3jiUlKBGZCiWDoL+9VJ06Bc+If+aMfcEEU90U=";
|
||||
hash = "sha256-82P9tE3jiUlKBGZCiWDoL+9VJ06Bc+If+aMfcEEU90U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ screeninfo paramiko pynput libevdev ];
|
||||
|
@ -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;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-RBs28FC7f82DrxRcmvTP9nljVpm7tjrGuvr05l32hDM=";
|
||||
hash = "sha256-RBs28FC7f82DrxRcmvTP9nljVpm7tjrGuvr05l32hDM=";
|
||||
};
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
|
@ -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";
|
||||
|
@ -35,14 +35,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.5.4";
|
||||
version = "1.5.5";
|
||||
pname = "syncthingtray";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Martchus";
|
||||
repo = "syncthingtray";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-3Z9heiQiuYzWtReKs/XeA+ENRKgxHR74ANzrDcdyjh4=";
|
||||
hash = "sha256-NfFB+4cqe1rHqc+w0Enl9h33gPjJ3CfrFpyOhysmz0Q=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
, libappindicator-gtk3
|
||||
, libnotify
|
||||
, librsvg
|
||||
, python3
|
||||
, python3Packages
|
||||
, udisks2
|
||||
, wrapGAppsHook3
|
||||
, testers
|
||||
, udiskie
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "udiskie";
|
||||
version = "2.5.2";
|
||||
version = "2.5.3";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "coldfix";
|
||||
repo = "udiskie";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-r9ppuWYY3e2thsfFh4ooOgfqNvmCVw7fS0SpJCJcysQ=";
|
||||
hash = "sha256-asrVQR0d+5l76COsXp88srtGZQHU+AwbP3HwDiwRlnE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -39,10 +39,13 @@ python3.pkgs.buildPythonApplication rec {
|
||||
asciidoc # Man page
|
||||
gobject-introspection
|
||||
installShellFiles
|
||||
python3.pkgs.setuptools
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
buildInputs = [
|
||||
@ -53,7 +56,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
udisks2
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3Packages; [
|
||||
docopt
|
||||
keyutils
|
||||
pygobject3
|
||||
@ -76,7 +79,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
|
@ -14,7 +14,7 @@ buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-qDfY6GWnDQ44Sh540xQzDwANEI+mLjpy2a7G3sfKIzw=";
|
||||
hash = "sha256-qDfY6GWnDQ44Sh540xQzDwANEI+mLjpy2a7G3sfKIzw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-/HkLJ0dRXdGcZz77uOTJrOX0xc3DH45/k9xmfesuxsg=";
|
||||
hash = "sha256-/HkLJ0dRXdGcZz77uOTJrOX0xc3DH45/k9xmfesuxsg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [ python-dateutil tornado python-daemon boto3 tenacity ];
|
||||
|
@ -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;
|
||||
|
@ -12,7 +12,7 @@ buildPythonApplication rec {
|
||||
version = "2.1.1";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-21gd6sPYCZll3Q2O7kucTRhXvc5byXeQr50+1bZVT3M=";
|
||||
hash = "sha256-21gd6sPYCZll3Q2O7kucTRhXvc5byXeQr50+1bZVT3M=";
|
||||
};
|
||||
|
||||
buildInputs = [python.pkgs.sphinx];
|
||||
|
@ -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=";
|
||||
};
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, python310Packages
|
||||
, testers
|
||||
@ -10,13 +9,13 @@ python310Packages.buildPythonApplication rec {
|
||||
pname = "stig";
|
||||
# This project has a different concept for pre release / alpha,
|
||||
# Read the project's README for details: https://github.com/rndusr/stig#stig
|
||||
version = "0.12.8a0";
|
||||
version = "0.12.10a0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rndusr";
|
||||
repo = "stig";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vfmuA6DqWvAygcS6N+qX1h+Ag+P4eOwm41DhAFZR3r8=";
|
||||
sha256 = "sha256-lSFI4/DxWl17KFgLXZ7c5nW/e5IUGN7s8Gm6wTM5ZWg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python310Packages; [
|
||||
@ -58,12 +57,13 @@ python310Packages.buildPythonApplication rec {
|
||||
version = "stig version ${version}";
|
||||
};
|
||||
|
||||
# https://github.com/rndusr/stig/issues/214#issuecomment-1995651219
|
||||
dontUsePytestCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "TUI and CLI for the BitTorrent client Transmission";
|
||||
homepage = "https://github.com/rndusr/stig";
|
||||
license = licenses.gpl3Plus;
|
||||
# Too many broken tests, and it fails to launch
|
||||
broken = true;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
|
@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-XIPzpVIttTgP34rbA705vFoRZE9dj8Of3BR23DbpQPk=";
|
||||
hash = "sha256-XIPzpVIttTgP34rbA705vFoRZE9dj8Of3BR23DbpQPk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-2QCFUV7FpNiqGPHLXAMHJcnCn9FOk1mx12P9ZDtvVvg=";
|
||||
hash = "sha256-2QCFUV7FpNiqGPHLXAMHJcnCn9FOk1mx12P9ZDtvVvg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user