forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
7bd3b9eff1
|
@ -149,8 +149,11 @@ in
|
||||||
'');
|
'');
|
||||||
|
|
||||||
boot.initrd.systemd.contents = {
|
boot.initrd.systemd.contents = {
|
||||||
"/etc/kbd".source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share";
|
|
||||||
"/etc/vconsole.conf".source = vconsoleConf;
|
"/etc/vconsole.conf".source = vconsoleConf;
|
||||||
|
# Add everything if we want full console setup...
|
||||||
|
"/etc/kbd" = lib.mkIf cfg.earlySetup { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share"; };
|
||||||
|
# ...but only the keymaps if we don't
|
||||||
|
"/etc/kbd/keymaps" = lib.mkIf (!cfg.earlySetup) { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/keymaps"; };
|
||||||
};
|
};
|
||||||
boot.initrd.systemd.storePaths = [
|
boot.initrd.systemd.storePaths = [
|
||||||
"${config.boot.initrd.systemd.package}/lib/systemd/systemd-vconsole-setup"
|
"${config.boot.initrd.systemd.package}/lib/systemd/systemd-vconsole-setup"
|
||||||
|
@ -180,7 +183,7 @@ in
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf cfg.earlySetup {
|
(mkIf (cfg.earlySetup && !config.boot.initrd.systemd.enable) {
|
||||||
boot.initrd.extraUtilsCommands = ''
|
boot.initrd.extraUtilsCommands = ''
|
||||||
mkdir -p $out/share/consolefonts
|
mkdir -p $out/share/consolefonts
|
||||||
${if substring 0 1 cfg.font == "/" then ''
|
${if substring 0 1 cfg.font == "/" then ''
|
||||||
|
@ -194,10 +197,6 @@ in
|
||||||
cp -L $font $out/share/consolefonts/font.psf
|
cp -L $font $out/share/consolefonts/font.psf
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
assertions = [{
|
|
||||||
assertion = !config.boot.initrd.systemd.enable;
|
|
||||||
message = "console.earlySetup is implied by systemd stage 1";
|
|
||||||
}];
|
|
||||||
})
|
})
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
|
|
|
@ -39,7 +39,8 @@ in
|
||||||
echo "unpacking the NixOS/Nixpkgs sources..."
|
echo "unpacking the NixOS/Nixpkgs sources..."
|
||||||
mkdir -p /nix/var/nix/profiles/per-user/root
|
mkdir -p /nix/var/nix/profiles/per-user/root
|
||||||
${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/per-user/root/channels \
|
${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/per-user/root/channels \
|
||||||
-i ${channelSources} --quiet --option build-use-substitutes false
|
-i ${channelSources} --quiet --option build-use-substitutes false \
|
||||||
|
${optionalString config.boot.initrd.systemd.enable "--option sandbox false"} # There's an issue with pivot_root
|
||||||
mkdir -m 0700 -p /root/.nix-defexpr
|
mkdir -m 0700 -p /root/.nix-defexpr
|
||||||
ln -s /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
ln -s /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
||||||
mkdir -m 0755 -p /var/lib/nixos
|
mkdir -m 0755 -p /var/lib/nixos
|
||||||
|
|
|
@ -99,6 +99,10 @@ with lib;
|
||||||
stdenvNoCC # for runCommand
|
stdenvNoCC # for runCommand
|
||||||
busybox
|
busybox
|
||||||
jq # for closureInfo
|
jq # for closureInfo
|
||||||
|
# For boot.initrd.systemd
|
||||||
|
makeInitrdNGTool
|
||||||
|
systemdStage1
|
||||||
|
systemdStage1Network
|
||||||
];
|
];
|
||||||
|
|
||||||
# Show all debug messages from the kernel but don't log refused packets
|
# Show all debug messages from the kernel but don't log refused packets
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# Common configuration for virtual machines running under QEMU (using
|
# Common configuration for virtual machines running under QEMU (using
|
||||||
# virtio).
|
# virtio).
|
||||||
|
|
||||||
{ ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
||||||
boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
||||||
|
|
||||||
boot.initrd.postDeviceCommands =
|
boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||||
''
|
''
|
||||||
# Set the system time from the hardware clock to work around a
|
# Set the system time from the hardware clock to work around a
|
||||||
# bug in qemu-kvm > 1.5.2 (where the VM clock is initialised
|
# bug in qemu-kvm > 1.5.2 (where the VM clock is initialised
|
||||||
|
|
|
@ -992,6 +992,7 @@ in
|
||||||
];
|
];
|
||||||
storePaths = [
|
storePaths = [
|
||||||
"${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup"
|
"${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup"
|
||||||
|
"${config.boot.initrd.systemd.package}/lib/systemd/system-generators/systemd-cryptsetup-generator"
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -105,6 +105,9 @@ let
|
||||||
opts = options ++ optional autoFormat "x-systemd.makefs" ++ optional autoResize "x-systemd.growfs";
|
opts = options ++ optional autoFormat "x-systemd.makefs" ++ optional autoResize "x-systemd.growfs";
|
||||||
in "${device} /sysroot${mountPoint} ${fsType} ${lib.concatStringsSep "," opts}") fileSystems);
|
in "${device} /sysroot${mountPoint} ${fsType} ${lib.concatStringsSep "," opts}") fileSystems);
|
||||||
|
|
||||||
|
needMakefs = lib.any (fs: fs.autoFormat) fileSystems;
|
||||||
|
needGrowfs = lib.any (fs: fs.autoResize) fileSystems;
|
||||||
|
|
||||||
kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
|
kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
|
||||||
modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
|
modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
|
||||||
firmware = config.hardware.firmware;
|
firmware = config.hardware.firmware;
|
||||||
|
@ -360,18 +363,22 @@ in {
|
||||||
storePaths = [
|
storePaths = [
|
||||||
# systemd tooling
|
# systemd tooling
|
||||||
"${cfg.package}/lib/systemd/systemd-fsck"
|
"${cfg.package}/lib/systemd/systemd-fsck"
|
||||||
"${cfg.package}/lib/systemd/systemd-growfs"
|
(lib.mkIf needGrowfs "${cfg.package}/lib/systemd/systemd-growfs")
|
||||||
"${cfg.package}/lib/systemd/systemd-hibernate-resume"
|
"${cfg.package}/lib/systemd/systemd-hibernate-resume"
|
||||||
"${cfg.package}/lib/systemd/systemd-journald"
|
"${cfg.package}/lib/systemd/systemd-journald"
|
||||||
"${cfg.package}/lib/systemd/systemd-makefs"
|
(lib.mkIf needMakefs "${cfg.package}/lib/systemd/systemd-makefs")
|
||||||
"${cfg.package}/lib/systemd/systemd-modules-load"
|
"${cfg.package}/lib/systemd/systemd-modules-load"
|
||||||
"${cfg.package}/lib/systemd/systemd-remount-fs"
|
"${cfg.package}/lib/systemd/systemd-remount-fs"
|
||||||
"${cfg.package}/lib/systemd/systemd-shutdown"
|
"${cfg.package}/lib/systemd/systemd-shutdown"
|
||||||
"${cfg.package}/lib/systemd/systemd-sulogin-shell"
|
"${cfg.package}/lib/systemd/systemd-sulogin-shell"
|
||||||
"${cfg.package}/lib/systemd/systemd-sysctl"
|
"${cfg.package}/lib/systemd/systemd-sysctl"
|
||||||
|
|
||||||
# additional systemd directories
|
# generators
|
||||||
"${cfg.package}/lib/systemd/system-generators"
|
"${cfg.package}/lib/systemd/system-generators/systemd-debug-generator"
|
||||||
|
"${cfg.package}/lib/systemd/system-generators/systemd-fstab-generator"
|
||||||
|
"${cfg.package}/lib/systemd/system-generators/systemd-gpt-auto-generator"
|
||||||
|
"${cfg.package}/lib/systemd/system-generators/systemd-hibernate-resume-generator"
|
||||||
|
"${cfg.package}/lib/systemd/system-generators/systemd-run-generator"
|
||||||
|
|
||||||
# utilities needed by systemd
|
# utilities needed by systemd
|
||||||
"${cfg.package.util-linux}/bin/mount"
|
"${cfg.package.util-linux}/bin/mount"
|
||||||
|
@ -409,8 +416,8 @@ in {
|
||||||
mkdir -p $out/etc/systemd/system
|
mkdir -p $out/etc/systemd/system
|
||||||
touch $out/etc/systemd/system/systemd-{makefs,growfs}@.service
|
touch $out/etc/systemd/system/systemd-{makefs,growfs}@.service
|
||||||
'')];
|
'')];
|
||||||
services."systemd-makefs@".unitConfig.IgnoreOnIsolate = true;
|
services."systemd-makefs@" = lib.mkIf needMakefs { unitConfig.IgnoreOnIsolate = true; };
|
||||||
services."systemd-growfs@".unitConfig.IgnoreOnIsolate = true;
|
services."systemd-growfs@" = lib.mkIf needGrowfs { unitConfig.IgnoreOnIsolate = true; };
|
||||||
|
|
||||||
services.initrd-nixos-activation = {
|
services.initrd-nixos-activation = {
|
||||||
after = [ "initrd-fs.target" ];
|
after = [ "initrd-fs.target" ];
|
||||||
|
@ -472,6 +479,21 @@ in {
|
||||||
''systemctl --no-block switch-root /sysroot "''${NEW_INIT}"''
|
''systemctl --no-block switch-root /sysroot "''${NEW_INIT}"''
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.panic-on-fail = {
|
||||||
|
wantedBy = ["emergency.target"];
|
||||||
|
unitConfig = {
|
||||||
|
DefaultDependencies = false;
|
||||||
|
ConditionKernelCommandLine = [
|
||||||
|
"|boot.panic_on_fail"
|
||||||
|
"|stage1panic"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
echo c > /proc/sysrq-trigger
|
||||||
|
'';
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelParams = lib.mkIf (config.boot.resumeDevice != "") [ "resume=${config.boot.resumeDevice}" ];
|
boot.kernelParams = lib.mkIf (config.boot.resumeDevice != "") [ "resume=${config.boot.resumeDevice}" ];
|
||||||
|
|
|
@ -65,33 +65,26 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.preDeviceCommands =
|
boot.kernel.sysctl = {
|
||||||
''
|
"kernel.hung_task_timeout_secs" = 600;
|
||||||
echo 600 > /proc/sys/kernel/hung_task_timeout_secs
|
# Panic on out-of-memory conditions rather than letting the
|
||||||
'';
|
# OOM killer randomly get rid of processes, since this leads
|
||||||
|
# to failures that are hard to diagnose.
|
||||||
|
"vm.panic_on_oom" = lib.mkDefault 2;
|
||||||
|
};
|
||||||
|
|
||||||
boot.initrd.postDeviceCommands =
|
boot.kernelParams = [
|
||||||
''
|
"console=${qemu-common.qemuSerialDevice}"
|
||||||
# Using acpi_pm as a clock source causes the guest clock to
|
# Panic if an error occurs in stage 1 (rather than waiting for
|
||||||
# slow down under high host load. This is usually a bad
|
# user intervention).
|
||||||
# thing, but for VM tests it should provide a bit more
|
"panic=1" "boot.panic_on_fail"
|
||||||
# determinism (e.g. if the VM runs at lower speed, then
|
# Using acpi_pm as a clock source causes the guest clock to
|
||||||
# timeouts in the VM should also be delayed).
|
# slow down under high host load. This is usually a bad
|
||||||
echo acpi_pm > /sys/devices/system/clocksource/clocksource0/current_clocksource
|
# thing, but for VM tests it should provide a bit more
|
||||||
'';
|
# determinism (e.g. if the VM runs at lower speed, then
|
||||||
|
# timeouts in the VM should also be delayed).
|
||||||
boot.postBootCommands =
|
"clock=acpi_pm"
|
||||||
''
|
];
|
||||||
# Panic on out-of-memory conditions rather than letting the
|
|
||||||
# OOM killer randomly get rid of processes, since this leads
|
|
||||||
# to failures that are hard to diagnose.
|
|
||||||
echo 2 > /proc/sys/vm/panic_on_oom
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Panic if an error occurs in stage 1 (rather than waiting for
|
|
||||||
# user intervention).
|
|
||||||
boot.kernelParams =
|
|
||||||
[ "console=${qemu-common.qemuSerialDevice}" "panic=1" "boot.panic_on_fail" ];
|
|
||||||
|
|
||||||
# `xwininfo' is used by the test driver to query open windows.
|
# `xwininfo' is used by the test driver to query open windows.
|
||||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||||
|
|
|
@ -754,13 +754,13 @@ in
|
||||||
);
|
);
|
||||||
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
|
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
|
||||||
|
|
||||||
boot.initrd.extraUtilsCommands =
|
boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||||
''
|
''
|
||||||
# We need mke2fs in the initrd.
|
# We need mke2fs in the initrd.
|
||||||
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
|
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
|
||||||
'';
|
'';
|
||||||
|
|
||||||
boot.initrd.postDeviceCommands =
|
boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||||
''
|
''
|
||||||
# If the disk image appears to be empty, run mke2fs to
|
# If the disk image appears to be empty, run mke2fs to
|
||||||
# initialise.
|
# initialise.
|
||||||
|
@ -770,7 +770,7 @@ in
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
boot.initrd.postMountCommands =
|
boot.initrd.postMountCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||||
''
|
''
|
||||||
# Mark this as a NixOS machine.
|
# Mark this as a NixOS machine.
|
||||||
mkdir -p $targetRoot/etc
|
mkdir -p $targetRoot/etc
|
||||||
|
@ -789,6 +789,11 @@ in
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = lib.mkIf config.boot.initrd.systemd.enable [
|
||||||
|
"f /etc/NIXOS 0644 root root -"
|
||||||
|
"d /boot 0644 root root -"
|
||||||
|
];
|
||||||
|
|
||||||
# After booting, register the closure of the paths in
|
# After booting, register the closure of the paths in
|
||||||
# `virtualisation.additionalPaths' in the Nix database in the VM. This
|
# `virtualisation.additionalPaths' in the Nix database in the VM. This
|
||||||
# allows Nix operations to work in the VM. The path to the
|
# allows Nix operations to work in the VM. The path to the
|
||||||
|
|
|
@ -235,6 +235,7 @@ in
|
||||||
input-remapper = handleTest ./input-remapper.nix {};
|
input-remapper = handleTest ./input-remapper.nix {};
|
||||||
inspircd = handleTest ./inspircd.nix {};
|
inspircd = handleTest ./inspircd.nix {};
|
||||||
installer = handleTest ./installer.nix {};
|
installer = handleTest ./installer.nix {};
|
||||||
|
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {};
|
||||||
invoiceplane = handleTest ./invoiceplane.nix {};
|
invoiceplane = handleTest ./invoiceplane.nix {};
|
||||||
iodine = handleTest ./iodine.nix {};
|
iodine = handleTest ./iodine.nix {};
|
||||||
ipfs = handleTest ./ipfs.nix {};
|
ipfs = handleTest ./ipfs.nix {};
|
||||||
|
|
33
nixos/tests/installer-systemd-stage-1.nix
Normal file
33
nixos/tests/installer-systemd-stage-1.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ system ? builtins.currentSystem
|
||||||
|
, config ? {}
|
||||||
|
, pkgs ? import ../.. { inherit system config; }
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Some of these tests don't work with systemd stage 1 yet. Uncomment
|
||||||
|
# them when fixed.
|
||||||
|
inherit (import ./installer.nix { inherit system config pkgs; systemdStage1 = true; })
|
||||||
|
# bcache
|
||||||
|
# btrfsSimple
|
||||||
|
# btrfsSubvolDefault
|
||||||
|
# btrfsSubvols
|
||||||
|
# encryptedFSWithKeyfile
|
||||||
|
# grub1
|
||||||
|
# luksroot
|
||||||
|
# luksroot-format1
|
||||||
|
# luksroot-format2
|
||||||
|
# lvm
|
||||||
|
separateBoot
|
||||||
|
separateBootFat
|
||||||
|
simple
|
||||||
|
simpleLabels
|
||||||
|
simpleProvided
|
||||||
|
simpleSpecialised
|
||||||
|
simpleUefiGrub
|
||||||
|
simpleUefiGrubSpecialisation
|
||||||
|
simpleUefiSystemdBoot
|
||||||
|
# swraid
|
||||||
|
# zfsroot
|
||||||
|
;
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
{ system ? builtins.currentSystem,
|
{ system ? builtins.currentSystem,
|
||||||
config ? {},
|
config ? {},
|
||||||
pkgs ? import ../.. { inherit system config; }
|
pkgs ? import ../.. { inherit system config; },
|
||||||
|
systemdStage1 ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||||
|
@ -23,6 +24,8 @@ let
|
||||||
# To ensure that we can rebuild the grub configuration on the nixos-rebuild
|
# To ensure that we can rebuild the grub configuration on the nixos-rebuild
|
||||||
system.extraDependencies = with pkgs; [ stdenvNoCC ];
|
system.extraDependencies = with pkgs; [ stdenvNoCC ];
|
||||||
|
|
||||||
|
${optionalString systemdStage1 "boot.initrd.systemd.enable = true;"}
|
||||||
|
|
||||||
${optionalString (bootLoader == "grub") ''
|
${optionalString (bootLoader == "grub") ''
|
||||||
boot.loader.grub.version = ${toString grubVersion};
|
boot.loader.grub.version = ${toString grubVersion};
|
||||||
${optionalString (grubVersion == 1) ''
|
${optionalString (grubVersion == 1) ''
|
||||||
|
@ -290,6 +293,8 @@ let
|
||||||
virtualisation.cores = 8;
|
virtualisation.cores = 8;
|
||||||
virtualisation.memorySize = 1536;
|
virtualisation.memorySize = 1536;
|
||||||
|
|
||||||
|
boot.initrd.systemd.enable = systemdStage1;
|
||||||
|
|
||||||
# Use a small /dev/vdb as the root disk for the
|
# Use a small /dev/vdb as the root disk for the
|
||||||
# installer. This ensures the target disk (/dev/vda) is
|
# installer. This ensures the target disk (/dev/vda) is
|
||||||
# the same during and after installation.
|
# the same during and after installation.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, rtpPath
|
, rtpPath
|
||||||
, vim
|
, vim
|
||||||
|
, vimCommandCheckHook
|
||||||
, vimGenDocHook
|
, vimGenDocHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -30,6 +31,7 @@ rec {
|
||||||
forceShare= [ "man" "info" ];
|
forceShare= [ "man" "info" ];
|
||||||
|
|
||||||
nativeBuildInputs = attrs.nativeBuildInputs or []
|
nativeBuildInputs = attrs.nativeBuildInputs or []
|
||||||
|
++ [ vimCommandCheckHook ]
|
||||||
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) vimGenDocHook;
|
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) vimGenDocHook;
|
||||||
inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
|
inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook;
|
inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook vimCommandCheckHook;
|
||||||
|
|
||||||
inherit (lib) extends;
|
inherit (lib) extends;
|
||||||
|
|
||||||
|
@ -12,7 +12,10 @@ let
|
||||||
toVimPlugin = drv:
|
toVimPlugin = drv:
|
||||||
drv.overrideAttrs(oldAttrs: {
|
drv.overrideAttrs(oldAttrs: {
|
||||||
|
|
||||||
nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ vimGenDocHook ];
|
nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [
|
||||||
|
vimGenDocHook
|
||||||
|
vimCommandCheckHook
|
||||||
|
];
|
||||||
passthru = (oldAttrs.passthru or {}) // {
|
passthru = (oldAttrs.passthru or {}) // {
|
||||||
vimPlugin = true;
|
vimPlugin = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -450,11 +450,8 @@ self: super: {
|
||||||
--replace "code-minimap" "${code-minimap}/bin/code-minimap"
|
--replace "code-minimap" "${code-minimap}/bin/code-minimap"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = true;
|
doInstallCheck = true;
|
||||||
checkPhase = ''
|
vimCommandCheck = "MinimapToggle";
|
||||||
${neovim-unwrapped}/bin/nvim -n -u NONE -i NONE -V1 --cmd "set rtp+=$out" --cmd "runtime! plugin/*.vim" -c "MinimapToggle" +quit!
|
|
||||||
'';
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
ncm2 = super.ncm2.overrideAttrs (old: {
|
ncm2 = super.ncm2.overrideAttrs (old: {
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Setup hook for checking whether a vim command exists
|
||||||
|
echo "Sourcing vim-command-check-hook.sh"
|
||||||
|
|
||||||
|
vimCommandCheckHook () {
|
||||||
|
echo "Executing vimCommandCheckHook"
|
||||||
|
|
||||||
|
if [ -n "$vimCommandCheck" ]; then
|
||||||
|
echo "Check whether the following modules can be imported: $vimCommandCheck"
|
||||||
|
|
||||||
|
# editorconfig-checker-disable
|
||||||
|
export HOME="$TMPDIR"
|
||||||
|
@vimBinary@ -es -n -u NONE -i NONE --clean -V1 --cmd "set rtp+=$out" \
|
||||||
|
--cmd "runtime! plugin/*.vim" <<-EOF
|
||||||
|
if exists(":$vimCommandCheck") == 2
|
||||||
|
cquit 0
|
||||||
|
else
|
||||||
|
cquit 1
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Using vimCommandCheckHook"
|
||||||
|
preDistPhases+=" vimCommandCheckHook"
|
||||||
|
|
|
@ -521,8 +521,19 @@ rec {
|
||||||
};
|
};
|
||||||
} ./vim-gen-doc-hook.sh) {};
|
} ./vim-gen-doc-hook.sh) {};
|
||||||
|
|
||||||
inherit (import ./build-vim-plugin.nix { inherit lib stdenv rtpPath vim vimGenDocHook; })
|
vimCommandCheckHook = callPackage ({ neovim-unwrapped }:
|
||||||
buildVimPlugin buildVimPluginFrom2Nix;
|
makeSetupHook {
|
||||||
|
name = "vim-command-check-hook";
|
||||||
|
deps = [ neovim-unwrapped ];
|
||||||
|
substitutions = {
|
||||||
|
vimBinary = "${neovim-unwrapped}/bin/nvim";
|
||||||
|
inherit rtpPath;
|
||||||
|
};
|
||||||
|
} ./vim-command-check-hook.sh) {};
|
||||||
|
|
||||||
|
inherit (import ./build-vim-plugin.nix {
|
||||||
|
inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook;
|
||||||
|
}) buildVimPlugin buildVimPluginFrom2Nix;
|
||||||
|
|
||||||
# used to figure out which python dependencies etc. neovim needs
|
# used to figure out which python dependencies etc. neovim needs
|
||||||
requiredPlugins = {
|
requiredPlugins = {
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xedit";
|
pname = "xedit";
|
||||||
version = "1.2.2";
|
version = "1.2.3";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "gitlab.freedesktop.org";
|
domain = "gitlab.freedesktop.org";
|
||||||
owner = "xorg/app";
|
owner = "xorg/app";
|
||||||
repo = "xedit";
|
repo = "xedit";
|
||||||
rev = "${pname}-${version}";
|
rev = "${pname}-${version}";
|
||||||
sha256 = "0b5ic13aasv6zh20v2k7zyxsqbnsxfq5rs3w8nwzl1gklmgrjxa3";
|
sha256 = "sha256-WF+4avzRRL0+OA3KxzK7JwmArkPu9fEl+728R6ouXmg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config utilmacros ];
|
nativeBuildInputs = [ autoreconfHook pkg-config utilmacros ];
|
||||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
pythonPath = [ python2Packages.pygtk python2Packages.psutil ];
|
pythonPath = [ python2Packages.pygtk python2Packages.psutil ];
|
||||||
|
|
||||||
patchPhase = ''
|
postPatch = ''
|
||||||
substituteInPlace install.sh --replace "/usr/local" "$out"
|
substituteInPlace install.sh --replace "/usr/local" "$out"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,10 @@ let
|
||||||
# Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361:
|
# Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361:
|
||||||
substituteInPlace BUILD.gn \
|
substituteInPlace BUILD.gn \
|
||||||
--replace '"//infra/orchestrator:orchestrator_all",' ""
|
--replace '"//infra/orchestrator:orchestrator_all",' ""
|
||||||
|
# Disable build flags that require LLVM 15:
|
||||||
|
substituteInPlace build/config/compiler/BUILD.gn \
|
||||||
|
--replace '"-Xclang",' "" \
|
||||||
|
--replace '"-no-opaque-pointers",' ""
|
||||||
'' + ''
|
'' + ''
|
||||||
# remove unused third-party
|
# remove unused third-party
|
||||||
for lib in ${toString gnSystemLibraries}; do
|
for lib in ${toString gnSystemLibraries}; do
|
||||||
|
|
|
@ -87,6 +87,10 @@
|
||||||
"panel-date-format@keiii.github.com",
|
"panel-date-format@keiii.github.com",
|
||||||
"panel-date-format@atareao.es"
|
"panel-date-format@atareao.es"
|
||||||
],
|
],
|
||||||
|
"fullscreen-hot-corner": [
|
||||||
|
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
|
||||||
|
"fullscreen-hot-corner@richardblaha.cz"
|
||||||
|
],
|
||||||
"disable-unredirect-fullscreen-windows": [
|
"disable-unredirect-fullscreen-windows": [
|
||||||
"unredirect@vaina.lt",
|
"unredirect@vaina.lt",
|
||||||
"unredirect@aunetx"
|
"unredirect@aunetx"
|
||||||
|
@ -129,6 +133,10 @@
|
||||||
"fuzzy-clock@keepawayfromfire.co.uk",
|
"fuzzy-clock@keepawayfromfire.co.uk",
|
||||||
"FuzzyClock@johngoetz"
|
"FuzzyClock@johngoetz"
|
||||||
],
|
],
|
||||||
|
"fullscreen-hot-corner": [
|
||||||
|
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
|
||||||
|
"fullscreen-hot-corner@richardblaha.cz"
|
||||||
|
],
|
||||||
"disable-unredirect-fullscreen-windows": [
|
"disable-unredirect-fullscreen-windows": [
|
||||||
"unredirect@vaina.lt",
|
"unredirect@vaina.lt",
|
||||||
"unredirect@aunetx"
|
"unredirect@aunetx"
|
||||||
|
@ -140,6 +148,10 @@
|
||||||
"wireguard-indicator": [
|
"wireguard-indicator": [
|
||||||
"wireguard-indicator@gregos.me",
|
"wireguard-indicator@gregos.me",
|
||||||
"wireguard-indicator@atareao.es"
|
"wireguard-indicator@atareao.es"
|
||||||
|
],
|
||||||
|
"volume-scroller": [
|
||||||
|
"volume_scroller@trflynn89.pm.me",
|
||||||
|
"volume_scroller@noskoski"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
|
@ -155,9 +167,17 @@
|
||||||
"lockkeys@vaina.lt",
|
"lockkeys@vaina.lt",
|
||||||
"lockkeys@fawtytoo"
|
"lockkeys@fawtytoo"
|
||||||
],
|
],
|
||||||
|
"fullscreen-hot-corner": [
|
||||||
|
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
|
||||||
|
"fullscreen-hot-corner@richardblaha.cz"
|
||||||
|
],
|
||||||
"wireguard-indicator": [
|
"wireguard-indicator": [
|
||||||
"wireguard-indicator@gregos.me",
|
"wireguard-indicator@gregos.me",
|
||||||
"wireguard-indicator@atareao.es"
|
"wireguard-indicator@atareao.es"
|
||||||
|
],
|
||||||
|
"volume-scroller": [
|
||||||
|
"volume_scroller@trflynn89.pm.me",
|
||||||
|
"volume_scroller@noskoski"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,15 @@
|
||||||
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
|
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
|
||||||
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
|
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
|
||||||
|
|
||||||
|
"fullscreen-hot-corner@sorrow.about.alice.pm.me" = "fullscreen-hot-corner";
|
||||||
|
"fullscreen-hot-corner@richardblaha.cz" = "fullscreen-hot-corner-2";
|
||||||
|
|
||||||
"lockkeys@vaina.lt" = "lock-keys";
|
"lockkeys@vaina.lt" = "lock-keys";
|
||||||
"lockkeys@fawtytoo" = "lock-keys-2";
|
"lockkeys@fawtytoo" = "lock-keys-2";
|
||||||
|
|
||||||
|
"volume_scroller@trflynn89.pm.me" = "volume-scroller";
|
||||||
|
"volume_scroller@noskoski" = "volume-scroller-2";
|
||||||
|
|
||||||
"wireguard-indicator@gregos.me" = "wireguard-indicator-2";
|
"wireguard-indicator@gregos.me" = "wireguard-indicator-2";
|
||||||
"wireguard-indicator@atareao.es" = "wireguard-indicator";
|
"wireguard-indicator@atareao.es" = "wireguard-indicator";
|
||||||
|
|
||||||
|
@ -57,9 +63,6 @@
|
||||||
"extension-list@tu.berry" = "extension-list";
|
"extension-list@tu.berry" = "extension-list";
|
||||||
"screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
|
"screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
|
||||||
|
|
||||||
"volume_scroller@trflynn89.pm.me" = "volume-scroller";
|
|
||||||
"volume_scroller@noskoski" = "volume-scroller-2";
|
|
||||||
|
|
||||||
# ####### GNOME 3.38 #######
|
# ####### GNOME 3.38 #######
|
||||||
|
|
||||||
"bottompanel@tmoer93" = "bottompanel";
|
"bottompanel@tmoer93" = "bottompanel";
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -239,7 +239,7 @@ def scrape_extensions_index() -> List[Dict[str, Any]]:
|
||||||
# If our page isn't "full", it must have been the last one
|
# If our page isn't "full", it must have been the last one
|
||||||
if response_length < 25:
|
if response_length < 25:
|
||||||
logging.debug(
|
logging.debug(
|
||||||
f"\tThis page only has {responseLength} entries, so it must be the last one."
|
f"\tThis page only has {response_length} entries, so it must be the last one."
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
except urllib.error.HTTPError as e:
|
except urllib.error.HTTPError as e:
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "imath";
|
pname = "imath";
|
||||||
version = "3.1.4";
|
version = "3.1.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AcademySoftwareFoundation";
|
owner = "AcademySoftwareFoundation";
|
||||||
repo = "imath";
|
repo = "imath";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-FZXIIzAxhd0QlJAV0q7spEa1pNFXutI0WFZbT3izN4M=";
|
sha256 = "sha256-pniIhpq2eXAZemq8LavXXv6+tGrBkqZ09Kjvi4aZdu8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -18,11 +18,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xdg-desktop-portal-gnome";
|
pname = "xdg-desktop-portal-gnome";
|
||||||
version = "42.0.1";
|
version = "42.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "3+i1JFDzKDj5+eiY6Vqo36JwXOEtQ4MFVXwSi5zg4uY=";
|
sha256 = "doW2aVzZi+gjgXECDByXE8RkfSaAAGyYzo5N+FgxLNI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xdg-desktop-portal-gtk";
|
pname = "xdg-desktop-portal-gtk";
|
||||||
version = "1.12.0";
|
version = "1.14.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flatpak";
|
owner = "flatpak";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "I1ZoDqZQPfPwPr4Ybk+syz+YEkrK2ReflZaJJWD4Nsk=";
|
sha256 = "I9xQgiE3lNb2vRodO5R1y40lqoOKzALskrVePidant4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, flatpak
|
, flatpak
|
||||||
, fuse
|
, fuse3
|
||||||
|
, systemdMinimal
|
||||||
, geoclue2
|
, geoclue2
|
||||||
, glib
|
, glib
|
||||||
, gsettings-desktop-schemas
|
, gsettings-desktop-schemas
|
||||||
|
@ -14,6 +15,9 @@
|
||||||
, libxml2
|
, libxml2
|
||||||
, nixosTests
|
, nixosTests
|
||||||
, pipewire
|
, pipewire
|
||||||
|
, gdk-pixbuf
|
||||||
|
, librsvg
|
||||||
|
, python3
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, stdenv
|
, stdenv
|
||||||
, substituteAll
|
, substituteAll
|
||||||
|
@ -23,7 +27,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xdg-desktop-portal";
|
pname = "xdg-desktop-portal";
|
||||||
version = "1.12.1";
|
version = "1.14.3";
|
||||||
|
|
||||||
outputs = [ "out" "installedTests" ];
|
outputs = [ "out" "installedTests" ];
|
||||||
|
|
||||||
|
@ -31,17 +35,9 @@ stdenv.mkDerivation rec {
|
||||||
owner = "flatpak";
|
owner = "flatpak";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1fc3LXN6wp/zQw4HQ0Q99HUvBhynHrQi2p3s/08izuE=";
|
sha256 = "CDqTQQ8dOatOxDKR+HiVQgSJKxH6ZstskKdR84U/870=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Hardcode paths used by x-d-p itself.
|
|
||||||
(substituteAll {
|
|
||||||
src = ./fix-paths.patch;
|
|
||||||
inherit flatpak;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
libxml2
|
libxml2
|
||||||
|
@ -53,12 +49,22 @@ stdenv.mkDerivation rec {
|
||||||
acl
|
acl
|
||||||
dbus
|
dbus
|
||||||
flatpak
|
flatpak
|
||||||
fuse
|
fuse3
|
||||||
|
systemdMinimal # libsystemd
|
||||||
glib
|
glib
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
json-glib
|
json-glib
|
||||||
libportal
|
libportal
|
||||||
pipewire
|
pipewire
|
||||||
|
|
||||||
|
# For icon validator
|
||||||
|
gdk-pixbuf
|
||||||
|
librsvg
|
||||||
|
|
||||||
|
# For document-fuse installed test.
|
||||||
|
(python3.withPackages (pp: with pp; [
|
||||||
|
pygobject3
|
||||||
|
]))
|
||||||
] ++ lib.optionals enableGeoLocation [
|
] ++ lib.optionals enableGeoLocation [
|
||||||
geoclue2
|
geoclue2
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/src/notification.c b/src/notification.c
|
|
||||||
index 5412609..4243e98 100644
|
|
||||||
--- a/src/notification.c
|
|
||||||
+++ b/src/notification.c
|
|
||||||
@@ -366,7 +366,7 @@
|
|
||||||
int status;
|
|
||||||
g_autofree char *err = NULL;
|
|
||||||
g_autoptr(GError) error = NULL;
|
|
||||||
- const char *icon_validator = LIBEXECDIR "/flatpak-validate-icon";
|
|
||||||
+ const char *icon_validator = "@flatpak@/libexec/flatpak-validate-icon";
|
|
||||||
const char *args[6];
|
|
||||||
|
|
||||||
if (G_IS_THEMED_ICON (icon))
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "casbin";
|
pname = "casbin";
|
||||||
version = "1.16.0";
|
version = "1.16.3";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = "pycasbin";
|
repo = "pycasbin";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "sha256-fPojcHuz2d3Im2Ri6iCu79KLuRNucIG/IwWrUo0uYH8=";
|
sha256 = "sha256-7URIk76iQ1u59RM1VeqO5qqTg+0kCPtsP+2Y5CxCZ3I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, python3Packages, fetchFromGitHub, sg3_utils }:
|
{ lib, python3Packages, fetchFromGitHub, installShellFiles, sg3_utils }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "sasutils";
|
pname = "sasutils";
|
||||||
|
@ -11,8 +11,14 @@ python3Packages.buildPythonApplication rec {
|
||||||
sha256 = "0kh5pcc2shdmrvqqi2y1zamzsfvk56pqgwqgqhjfz4r6yfpm04wl";
|
sha256 = "0kh5pcc2shdmrvqqi2y1zamzsfvk56pqgwqgqhjfz4r6yfpm04wl";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ sg3_utils ];
|
propagatedBuildInputs = [ sg3_utils ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
installManPage doc/man/man1/*.1
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/stanford-rc/sasutils";
|
homepage = "https://github.com/stanford-rc/sasutils";
|
||||||
description = "A set of command-line tools to ease the administration of Serial Attached SCSI (SAS) fabrics";
|
description = "A set of command-line tools to ease the administration of Serial Attached SCSI (SAS) fabrics";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "eksctl";
|
pname = "eksctl";
|
||||||
version = "0.94.0";
|
version = "0.95.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "weaveworks";
|
owner = "weaveworks";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-6I/rzdSJ0iwoazt7EHsQ3gEynGfzBoLR7ekPNUo/YQs=";
|
sha256 = "sha256-WAu2ghQAih+f1PdfflsroUOAV5Cs+hvECOyw34DRugU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-cWZvMP19xTq68kKJ50d2RYXHu9AfiEE+zQL2IsQ4eiY=";
|
vendorSha256 = "sha256-zedhE9WWCktqYig+bI4v9bQhzSW8laClgTI2Gsrz+FM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue