Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-10-08 11:56:52 +02:00
commit a0c34f54cc
366 changed files with 7208 additions and 3820 deletions

View File

@ -44,9 +44,9 @@ Nixpkgs and NixOS are built and tested by our continuous integration
system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
* [Continuous package builds for the NixOS 19.09 release](https://hydra.nixos.org/jobset/nixos/release-19.09)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
* [Tests for the NixOS 19.09 release](https://hydra.nixos.org/job/nixos/release-19.09/tested#tabs-constituents)
Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are

View File

@ -55,20 +55,7 @@
<title>Rebar3</title>
<para>
By default, Rebar3 wants to manage its own dependencies. This is perfectly acceptable in the normal, non-Nix setup, but in the Nix world, it is not. To rectify this, we provide two versions of Rebar3:
<itemizedlist>
<listitem>
<para>
<literal>rebar3</literal>: patched to remove the ability to download anything. When not running it via <literal>nix-shell</literal> or <literal>nix-build</literal>, it's probably not going to work as desired.
</para>
</listitem>
<listitem>
<para>
<literal>rebar3-open</literal>: the normal, unmodified Rebar3. It should work exactly as would any other version of Rebar3. Any Erlang package should rely on <literal>rebar3</literal> instead. See <xref
linkend="rebar3-packages"/>.
</para>
</listitem>
</itemizedlist>
We provide a version of Rebar3, which is the normal, unmodified Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
</para>
</section>

View File

@ -356,6 +356,16 @@
github = "alunduil";
name = "Alex Brandt";
};
alva = {
email = "alva@skogen.is";
github = "fjallarefur";
githubId = 42881386;
name = "Alva";
keys = [{
longkeyid = "ed25519/0xF53E323342F7A6D3";
fingerprint = "B422 CFB1 C9EF 73F7 E1E2 698D F53E 3233 42F7 A6D3A";
}];
};
amar1729 = {
email = "amar.paul16@gmail.com";
github = "amar1729";
@ -3551,6 +3561,12 @@
github = "Lassulus";
name = "Lassulus";
};
lattfein = {
email = "lattfein@gmail.com";
github = "lattfein";
githubId = 53550838;
name = "Koki Yasuno";
};
layus = {
email = "layus.on@gmail.com";
github = "layus";
@ -3645,6 +3661,12 @@
githubId = 307589;
name = "Nathaniel Baxter";
};
liff = {
email = "liff@iki.fi";
github = "liff";
githubId = 124475;
name = "Olli Helenius";
};
lightbulbjim = {
email = "chris@killred.net";
github = "lightbulbjim";
@ -4256,6 +4278,15 @@
githubId = 5698461;
name = "Maciej Kazulak";
};
mkf = {
email = "m@mikf.pl";
github = "mkf";
name = "Michał Krzysztof Feiler";
keys = [{
longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
fingerprint = "1E36 9940 CC7E 01C4 CFE8 F20A E35C 2D7C 2C6A C724";
}];
};
mkg = {
email = "mkg@vt.edu";
github = "mkgvt";
@ -5892,6 +5923,12 @@
githubId = 819413;
name = "Benedict Aas";
};
shyim = {
email = "s.sayakci@gmail.com";
github = "shyim";
githubId = 6224096;
name = "Soner Sayakci";
};
siddharthist = {
email = "langston.barrett@gmail.com";
github = "langston-barrett";

View File

@ -68,3 +68,4 @@ say,,,,,
std__debug,std._debug,,,,
std_normalize,std.normalize,,,,
stdlib,,,,,vyp
pulseaudio,,,,,doronbehar

1 # nix name luarocks name server version luaversion maintainers
68 std__debug std._debug
69 std_normalize std.normalize
70 stdlib vyp
71 pulseaudio doronbehar

View File

@ -1,37 +0,0 @@
<section xmlns="http://docbook.org/ns/docbook"
version="5.0"
xml:id="sec-installing-nspawn-container">
<title>Installing into a nspawn container</title>
<para>
For installing a NixOS into a systemd nspawn container the NixOS installation tools are needed.
If you run another distribution than NixOS on your host,
please follow <xref linkend="sec-installing-from-other-distro"/> steps 1, 2, and 3.
</para>
<para>
Create a NixOS configuration file <filename>/var/lib/machines/my-container/etc/nixos/configuration.nix</filename>.
It is important that the container root file system is under <filename>/var/lib/machines</filename>.
This is the standard location where <command>machinectl</command> will look for containers.
If you choose place the root into another location you need to start the container directly with <command>systemd-nspawn</command>.
The file needs to have at least following options enabled:
<programlisting>
<xref linkend="opt-boot.isContainer"/> = true;
<xref linkend="opt-boot.loader.initScript.enable"/> = true;
</programlisting>
If your host uses <command>systemd-networkd</command> to configure the network,
you can also enable <xref linkend="opt-networking.useNetworkd"/> to use networkd default network configuration for your host and container.
</para>
<para>
Install the container by running following command:
<screen>nixos-install --root /var/lib/machines/my-container \
--no-channel-copy --no-root-passwd --no-bootloader</screen>
</para>
<para>
Start the container by running following command:
<screen>machinectl start my-container</screen>
</para>
</section>

View File

@ -563,8 +563,5 @@ Retype new UNIX password: ***</screen>
<xi:include href="installing-from-other-distro.xml" />
<xi:include href="installing-behind-a-proxy.xml" />
<xi:include href="installing-nspawn-container.xml" />
</section>
</chapter>

View File

@ -14,7 +14,7 @@
<para>
<emphasis>Stable channels</emphasis>, such as
<literal
xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03</literal>.
xlink:href="https://nixos.org/channels/nixos-19.09">nixos-19.09</literal>.
These only get conservative bug fixes and package upgrades. For instance,
a channel update may cause the Linux kernel on your system to be upgraded
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
@ -38,7 +38,7 @@
<para>
<emphasis>Small channels</emphasis>, such as
<literal
xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small</literal>
xlink:href="https://nixos.org/channels/nixos-19.09-small">nixos-19.09-small</literal>
or
<literal
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
@ -63,8 +63,8 @@
<para>
When you first install NixOS, youre automatically subscribed to the NixOS
channel that corresponds to your installation source. For instance, if you
installed from a 19.03 ISO, you will be subscribed to the
<literal>nixos-19.03</literal> channel. To see which NixOS channel youre
installed from a 19.09 ISO, you will be subscribed to the
<literal>nixos-19.09</literal> channel. To see which NixOS channel youre
subscribed to, run the following as root:
<screen>
# nix-channel --list | grep nixos
@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
</screen>
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
instance, to use the NixOS 19.03 stable channel:
instance, to use the NixOS 19.09 stable channel:
<screen>
# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
# nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
</screen>
If you have a server, you may want to use the “small” channel instead:
<screen>
# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos
# nix-channel --add https://nixos.org/channels/nixos-19.09-small nixos
</screen>
And if you want to live on the bleeding edge:
<screen>
@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
current channel. (To see when the service runs, see <command>systemctl
list-timers</command>.) You can also specify a channel explicitly, e.g.
<programlisting>
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.03;
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09;
</programlisting>
</para>
</section>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><filename>configuration.nix</filename>
</refname><refpurpose>NixOS system configuration specification</refpurpose>
<refname><filename>configuration.nix</filename></refname>
<refpurpose>NixOS system configuration specification</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><command>nixos-build-vms</command>
</refname><refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
<refname><command>nixos-build-vms</command></refname>
<refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><command>nixos-enter</command>
</refname><refpurpose>run a command in a NixOS chroot environment</refpurpose>
<refname><command>nixos-enter</command></refname>
<refpurpose>run a command in a NixOS chroot environment</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><command>nixos-generate-config</command>
</refname><refpurpose>generate NixOS configuration modules</refpurpose>
<refname><command>nixos-generate-config</command></refname>
<refpurpose>generate NixOS configuration modules</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><command>nixos-install</command>
</refname><refpurpose>install bootloader and NixOS</refpurpose>
<refname><command>nixos-install</command></refname>
<refpurpose>install bootloader and NixOS</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -8,8 +8,8 @@
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><command>nixos-option</command>
</refname><refpurpose>inspect a NixOS configuration</refpurpose>
<refname><command>nixos-option</command></refname>
<refpurpose>inspect a NixOS configuration</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -9,8 +9,8 @@
</refmeta>
<refnamediv>
<refname><command>nixos-rebuild</command>
</refname><refpurpose>reconfigure a NixOS machine</refpurpose>
<refname><command>nixos-rebuild</command></refname>
<refpurpose>reconfigure a NixOS machine</refpurpose>
</refnamediv>
<refsynopsisdiv>

View File

@ -7,8 +7,8 @@
<refmiscinfo class="source">NixOS</refmiscinfo>
</refmeta>
<refnamediv>
<refname><command>nixos-version</command>
</refname><refpurpose>show the NixOS version</refpurpose>
<refname><command>nixos-version</command></refname>
<refpurpose>show the NixOS version</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>

View File

@ -512,6 +512,12 @@
is set to <literal>/var/lib/gitlab/state</literal>, <literal>gitlab</literal> and all parent directories
must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
</para>
<para>
The <option>networking.useDHCP</option> option is unsupported in combination with
<option>networking.useNetworkd</option> in anticipation of defaulting to it by default.
It has to be set to <literal>false</literal> and enabled per
interface with <option>networking.interfaces.&lt;name&gt;.useDHCP = true;</option>
</para>
</listitem>
<listitem>
<para>
@ -519,6 +525,22 @@
Please use the fork <literal>cawbird</literal> instead which has been adapted to the API changes and is still maintained.
</para>
</listitem>
<listitem>
<para>
The <literal>nodejs-11_x</literal> package has been removed as it's EOLed by upstream.
</para>
</listitem>
<listitem>
<para>
Because of the systemd upgrade,
<application>systemd-timesyncd</application> will no longer work if
<option>system.stateVersion</option> is not set correctly. When
upgrading from NixOS 19.03, please make sure that
<option>system.stateVersion</option> is set to
<literal>"19.03"</literal>, or lower if the installation dates back to an
earlier version of NixOS.
</para>
</listitem>
</itemizedlist>
</section>
@ -717,7 +739,7 @@
</para>
</listitem>
</itemizedlist>
This also configures the kernel to pass coredumps to <literal>systemd-coredump</literal>,
This also configures the kernel to pass core dumps to <literal>systemd-coredump</literal>,
and restricts the SysRq key combinations to the sync command only.
These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
@ -726,12 +748,15 @@
</listitem>
<listitem>
<para>
Coredumps are now acquired by <literal>systemd-coredump</literal> by default.
<literal>systemd-coredump</literal> behaviour can still be modified via
<option>systemd.coredump.extraConfig</option>.
To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal>
in the working directory), without piping it through <literal>systemd-coredump</literal>, set
<option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>.
Core dumps are now processed by <literal>systemd-coredump</literal>
by default. <literal>systemd-coredump</literal> behaviour can
still be modified via
<option>systemd.coredump.extraConfig</option>. To stick to the
old behaviour (having the kernel dump to a file called
<literal>core</literal> in the working directory), without piping
it through <literal>systemd-coredump</literal>, set
<option>systemd.coredump.enable</option> to
<literal>false</literal>.
</para>
</listitem>
<listitem>

View File

@ -28,6 +28,14 @@
Postgresql for NixOS service now defaults to v11.
</para>
</listitem>
<listitem>
<para>
The graphical installer image starts the graphical session automatically.
Before you'd be greeted by a tty and asked to enter <command>systemctl start display-manager</command>.
It is now possible to disable the display-manager from running by selecting the <literal>Disable display-manager</literal>
quirk in the boot menu.
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -78,9 +78,7 @@ in
# We're trying to use the same syntax for PAM variables and env variables.
# That means we need to map the env variables that people might use to their
# equivalent PAM variable.
# Note: PAM_USER is a PAM_ITEM, HOME is an environment variable, they have
# different syntax.
replaceEnvVars = replaceStrings ["$HOME" "$USER"] ["\${HOME}" "@{PAM_USER}"];
replaceEnvVars = replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"];
pamVariable = n: v:
''${n} DEFAULT="${concatStringsSep ":" (map replaceEnvVars (toList v))}"'';

View File

@ -25,9 +25,6 @@ with lib;
services.xserver = {
enable = true;
# Don't start the X server by default.
autorun = mkForce false;
# Automatically login as nixos.
displayManager.slim = {
enable = true;

View File

@ -24,7 +24,7 @@ let
# Name appended to menuentry defaults to params if no specific name given.
option.name or (if option ? params then "(${option.params})" else "")
}' ${if option ? class then " --class ${option.class}" else ""} {
linux ${defaults.image} ${defaults.params} ${
linux ${defaults.image} \''${isoboot} ${defaults.params} ${
option.params or ""
}
initrd ${defaults.initrd}
@ -268,6 +268,12 @@ let
set timeout=10
${grubMenuCfg}
# If the parameter iso_path is set, append the findiso parameter to the kernel
# line. We need this to allow the nixos iso to be booted from grub directly.
if [ \''${iso_path} ] ; then
set isoboot="findiso=\''${iso_path}"
fi
#
# Menu entries
#
@ -284,6 +290,14 @@ let
${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"}
}
# If we boot into a graphical environment where X is autoran
# and always crashes, it makes the media unusable. Allow the user
# to disable this.
submenu "Disable display-manager" --class quirk-disable-displaymanager {
${grubMenuCfg}
${buildMenuAdditionalParamsGrub2 config "systemd.mask=display-manager.service"}
}
# Some laptop and convertibles have the panel installed in an
# inconvenient way, rotated away from the keyboard.
# Those entries makes it easier to use the installer.
@ -616,6 +630,9 @@ in
{ source = "${efiDir}/EFI";
target = "/EFI";
}
{ source = pkgs.writeText "loopback.cfg" "source /EFI/boot/grub.cfg";
target = "/boot/grub/loopback.cfg";
}
] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
{ source = "${pkgs.memtest86plus}/memtest.bin";
target = "/boot/memtest.bin";

View File

@ -563,6 +563,24 @@ $fsAndSwap
${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF
sub generateNetworkingDhcpConfig {
my $config = <<EOF;
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
EOF
foreach my $path (glob "/sys/class/net/*") {
my $dev = basename($path);
if ($dev ne "lo") {
$config .= " networking.interfaces.$dev.useDHCP = true;\n";
}
}
return $config;
}
if ($showHardwareConfig) {
print STDOUT $hwConfig;
@ -606,6 +624,8 @@ EOF
EOF
}
my $networkingDhcpConfig = generateNetworkingDhcpConfig();
write_file($fn, <<EOF);
@configuration@
EOF

View File

@ -132,9 +132,8 @@ if [[ -z $noBootLoader ]]; then
echo "installing the boot loader..."
# Grub needs an mtab.
ln -sfn /proc/mounts $mountPoint/etc/mtab
export NIXOS_INSTALL_BOOTLOADER=1
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot
fi
nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot
# Ask the user to set a root password, but only if the passwd command
# exists (i.e. when mutable user accounts are enabled).

View File

@ -96,6 +96,7 @@ in
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
$networkingDhcpConfig
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password\@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

View File

@ -328,7 +328,7 @@
qemu-libvirtd = 301;
# kvm = 302; # unused
# render = 303; # unused
zeronet = 304;
# zeronet = 304; # removed 2019-01-03
lirc = 305;
lidarr = 306;
slurm = 307;
@ -629,7 +629,7 @@
qemu-libvirtd = 301;
kvm = 302; # default udev rules from systemd requires these
render = 303; # default udev rules from systemd requires these
zeronet = 304;
# zeronet = 304; # removed 2019-01-03
lirc = 305;
lidarr = 306;
slurm = 307;

View File

@ -98,7 +98,6 @@
./programs/autojump.nix
./programs/bash/bash.nix
./programs/bcc.nix
./programs/blcr.nix
./programs/browserpass.nix
./programs/captive-browser.nix
./programs/ccache.nix

View File

@ -1,27 +0,0 @@
{ config, lib, ... }:
let
inherit (lib) mkOption mkIf;
cfg = config.environment.blcr;
blcrPkg = config.boot.kernelPackages.blcr;
in
{
###### interface
options = {
environment.blcr.enable = mkOption {
default = false;
description =
"Whether to enable support for the BLCR checkpointing tool.";
};
};
###### implementation
config = mkIf cfg.enable {
boot.kernelModules = [ "blcr" "blcr_imports" ];
boot.extraModulePackages = [ blcrPkg ];
environment.systemPackages = [ blcrPkg ];
};
}

View File

@ -233,7 +233,6 @@ with lib;
(mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
(mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
(mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
(mkRemovedOptionModule [ "systemd" "coredump" "enable" ] "Enabled by default. Set boot.kernel.sysctl.\"kernel.core_pattern\" = \"core\"; to disable.")
# ZSH
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@ -275,6 +274,9 @@ with lib;
(mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
(mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
# BLCR
(mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
# Redis
(mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.")
(mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.")

View File

@ -67,6 +67,7 @@ in
users.users = optional (cfg.user == "memcached") {
name = "memcached";
description = "Memcached server user";
isSystemUser = true;
};
environment.systemPackages = [ memcached ];

View File

@ -12,6 +12,12 @@ in
{
imports = [
(mkRemovedOptionModule
["services" "gnome3" "gnome-settings-daemon" "package"]
"")
];
###### interface
options = {
@ -20,13 +26,6 @@ in
enable = mkEnableOption "GNOME Settings Daemon";
# There are many forks of gnome-settings-daemon
package = mkOption {
type = types.package;
default = pkgs.gnome3.gnome-settings-daemon;
description = "Which gnome-settings-daemon package to use.";
};
};
};
@ -36,9 +35,39 @@ in
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
environment.systemPackages = [
pkgs.gnome3.gnome-settings-daemon
];
services.udev.packages = [ cfg.package ];
services.udev.packages = [
pkgs.gnome3.gnome-settings-daemon
];
systemd.packages = [
pkgs.gnome3.gnome-settings-daemon
];
systemd.user.targets."gnome-session-initialized".wants = [
"gsd-color.target"
"gsd-datetime.target"
"gsd-keyboard.target"
"gsd-media-keys.target"
"gsd-print-notifications.target"
"gsd-rfkill.target"
"gsd-screensaver-proxy.target"
"gsd-sharing.target"
"gsd-smartcard.target"
"gsd-sound.target"
"gsd-wacom.target"
"gsd-wwan.target"
"gsd-a11y-settings.target"
"gsd-housekeeping.target"
"gsd-power.target"
];
systemd.user.targets."gnome-session-x11-services".wants = [
"gsd-xsettings.target"
];
};

View File

@ -126,6 +126,8 @@ let
'';
description = ''
Path to YAML file that contains tracing configuration.
See format details: <link xlink:href="https://thanos.io/tracing.md/#configuration"/>
'';
};
};
@ -141,6 +143,8 @@ let
<option>tracing.config-file</option> will default to its path.
If <option>tracing.config-file</option> is set this option has no effect.
See format details: <link xlink:href="https://thanos.io/tracing.md/#configuration"/>
'';
};
};
@ -187,6 +191,8 @@ let
'';
description = ''
Path to YAML file that contains object store configuration.
See format details: <link xlink:href="https://thanos.io/storage.md/#configuration"/>
'';
};
};
@ -202,6 +208,8 @@ let
<option>objstore.config-file</option> will default to its path.
If <option>objstore.config-file</option> is set this option has no effect.
See format details: <link xlink:href="https://thanos.io/storage.md/#configuration"/>
'';
};
};
@ -276,6 +284,24 @@ let
block-sync-concurrency = mkParamDef types.int 20 ''
Number of goroutines to use when syncing blocks from object storage.
'';
min-time = mkParamDef types.str "0000-01-01T00:00:00Z" ''
Start of time range limit to serve.
Thanos Store serves only metrics, which happened later than this
value. Option can be a constant time in RFC3339 format or time duration
relative to current time, such as -1d or 2h45m. Valid duration units are
ms, s, m, h, d, w, y.
'';
max-time = mkParamDef types.str "9999-12-31T23:59:59Z" ''
End of time range limit to serve.
Thanos Store serves only blocks, which happened eariler than this
value. Option can be a constant time in RFC3339 format or time duration
relative to current time, such as -1d or 2h45m. Valid duration units are
ms, s, m, h, d, w, y.
'';
};
query = params.common cfg.query // {
@ -560,6 +586,14 @@ let
'';
};
downsampling.disable = mkFlagParam ''
Disables downsampling.
This is not recommended as querying long time ranges without
non-downsampled data is not efficient and useful e.g it is not possible
to render all samples for a human eye anyway
'';
block-sync-concurrency = mkParamDef types.int 20 ''
Number of goroutines to use when syncing block metadata from object storage.
'';

View File

@ -5,11 +5,25 @@ with lib;
let
cfg = config.networking.networkmanager;
basePackages = with pkgs; [
crda
modemmanager
networkmanager
networkmanager-fortisslvpn
networkmanager-iodine
networkmanager-l2tp
networkmanager-openconnect
networkmanager-openvpn
networkmanager-vpnc
] ++ optional (!delegateWireless && !enableIwd) wpa_supplicant;
dynamicHostsEnabled =
cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {};
delegateWireless = config.networking.wireless.enable == true && cfg.unmanaged != [];
enableIwd = cfg.wifi.backend == "iwd";
# /var/lib/misc is for dnsmasq.leases.
stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
@ -38,6 +52,7 @@ let
[device]
wifi.scan-rand-mac-address=${if cfg.wifi.scanRandMacAddress then "yes" else "no"}
wifi.backend=${cfg.wifi.backend}
${cfg.extraConfig}
'';
@ -176,25 +191,13 @@ in {
'';
};
# Ugly hack for using the correct gnome3 packageSet
basePackages = mkOption {
type = types.attrsOf types.package;
default = { inherit (pkgs)
networkmanager modemmanager crda
networkmanager-openvpn networkmanager-vpnc
networkmanager-openconnect networkmanager-fortisslvpn
networkmanager-l2tp networkmanager-iodine; }
// optionalAttrs (!delegateWireless) { inherit (pkgs) wpa_supplicant; };
internal = true;
};
packages = mkOption {
type = types.listOf types.path;
type = types.listOf types.package;
default = [ ];
description = ''
Extra packages that provide NetworkManager plugins.
'';
apply = list: (attrValues cfg.basePackages) ++ list;
apply = list: basePackages ++ list;
};
dhcp = mkOption {
@ -236,6 +239,15 @@ in {
wifi = {
macAddress = macAddressOpt;
backend = mkOption {
type = types.enum [ "wpa_supplicant" "iwd" ];
default = "wpa_supplicant";
description = ''
Specify the Wi-Fi backend used for the device.
Currently supported are <option>wpa_supplicant</option> or <option>iwd</option> (experimental).
'';
};
powersave = mkOption {
type = types.nullOr types.bool;
default = null;
@ -390,12 +402,12 @@ in {
{ assertion = !dynamicHostsEnabled || (dynamicHostsEnabled && cfg.dns == "dnsmasq");
message = ''
To use networking.networkmanager.dynamicHosts you also need to set
networking.networkmanager.dns = "dnsmasq"
`networking.networkmanager.dns = "dnsmasq"`
'';
}
];
environment.etc = with cfg.basePackages; [
environment.etc = with pkgs; [
{ source = configFile;
target = "NetworkManager/NetworkManager.conf";
}
@ -510,6 +522,8 @@ in {
wireless.enable = mkDefault false;
}) // (mkIf cfg.enableStrongSwan {
networkmanager.packages = [ pkgs.networkmanager_strongswan ];
}) // (mkIf enableIwd {
wireless.iwd.enable = true;
});
security.polkit.extraConfig = polkitConf;

View File

@ -1,44 +1,39 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) generators literalExample mkEnableOption mkIf mkOption recursiveUpdate types;
cfg = config.services.zeronet;
dataDir = "/var/lib/zeronet";
configFile = pkgs.writeText "zeronet.conf" (generators.toINI {} (recursiveUpdate defaultSettings cfg.settings));
zConfFile = pkgs.writeTextFile {
name = "zeronet.conf";
text = ''
[global]
data_dir = ${cfg.dataDir}
log_dir = ${cfg.logDir}
'' + lib.optionalString (cfg.port != null) ''
ui_port = ${toString cfg.port}
'' + lib.optionalString (cfg.fileserverPort != null) ''
fileserver_port = ${toString cfg.fileserverPort}
'' + lib.optionalString (cfg.torAlways) ''
tor = always
'' + cfg.extraConfig;
defaultSettings = {
global = {
data_dir = dataDir;
log_dir = dataDir;
ui_port = cfg.port;
fileserver_port = cfg.fileserverPort;
tor = if !cfg.tor then "disable" else if cfg.torAlways then "always" else "enable";
};
};
in with lib; {
options.services.zeronet = {
enable = mkEnableOption "zeronet";
dataDir = mkOption {
type = types.path;
default = "/var/lib/zeronet";
example = "/home/okina/zeronet";
description = "Path to the zeronet data directory.";
};
settings = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
default = {};
example = literalExample "global.tor = enable;";
logDir = mkOption {
type = types.path;
default = "/var/log/zeronet";
example = "/home/okina/zeronet/log";
description = "Path to the zeronet log directory.";
description = ''
<filename>zeronet.conf</filename> configuration. Refer to
<link xlink:href="https://zeronet.readthedocs.io/en/latest/faq/#is-it-possible-to-use-a-configuration-file"/>
for details on supported values;
'';
};
port = mkOption {
type = types.nullOr types.int;
default = null;
type = types.int;
default = 43110;
example = 43110;
description = "Optional zeronet web UI port.";
};
@ -63,22 +58,13 @@ in with lib; {
default = false;
description = "Use TOR for all zeronet traffic.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration. Contents will be added verbatim to the
configuration file at the end.
'';
};
};
config = mkIf cfg.enable {
services.tor = mkIf cfg.tor {
enable = true;
controlPort = 9051;
extraConfig = ''
CacheDirectoryGroupReadable 1
CookieAuthentication 1
@ -86,37 +72,25 @@ in with lib; {
'';
};
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 750 zeronet zeronet - -"
"d '${cfg.logDir}' 750 zeronet zeronet - -"
];
systemd.services.zeronet = {
description = "zeronet";
after = [ "network.target" (optionalString cfg.tor "tor.service") ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
PrivateTmp = "yes";
User = "zeronet";
Group = "zeronet";
ExecStart = "${pkgs.zeronet}/bin/zeronet --config_file ${zConfFile}";
};
};
users = {
groups.zeronet.gid = config.ids.gids.zeronet;
users.zeronet = {
description = "zeronet service user";
home = cfg.dataDir;
createHome = true;
group = "zeronet";
extraGroups = mkIf cfg.tor [ "tor" ];
uid = config.ids.uids.zeronet;
DynamicUser = true;
StateDirectory = "zeronet";
SupplementaryGroups = mkIf cfg.tor [ "tor" ];
ExecStart = "${pkgs.zeronet}/bin/zeronet --config_file ${configFile}";
};
};
};
imports = [
(mkRemovedOptionModule [ "services" "zeronet" "dataDir" ] "Zeronet will store data by default in /var/lib/zeronet")
(mkRemovedOptionModule [ "services" "zeronet" "logDir" ] "Zeronet will log by default in /var/lib/zeronet")
];
meta.maintainers = with maintainers; [ chiiruno ];
}

View File

@ -14,6 +14,15 @@ in {
options.services.documize = {
enable = mkEnableOption "Documize Wiki";
stateDirectoryName = mkOption {
type = types.str;
default = "documize";
description = ''
The name of the directory below <filename>/var/lib/private</filename>
where documize runs in and stores, for example, backups.
'';
};
package = mkOption {
type = types.package;
default = pkgs.documize-community;
@ -132,6 +141,8 @@ in {
];
Restart = "always";
DynamicUser = "yes";
StateDirectory = cfg.stateDirectoryName;
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
};
};
};

View File

@ -28,6 +28,8 @@ let
(pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n")
(defaultPackages ++ cfg.extraGSettingsOverridePackages)}
cp -f ${pkgs.gnome3.gnome-shell}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
[org.gnome.desktop.background]
@ -209,14 +211,6 @@ in
networking.networkmanager.enable = mkDefault true;
# Use the correct gnome3 packageSet
networking.networkmanager.basePackages = {
inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
networkmanager-openconnect networkmanager-fortisslvpn
networkmanager-iodine networkmanager-l2tp;
};
services.xserver.updateDbusEnvironment = true;
# Needed for themes and backgrounds
@ -238,22 +232,7 @@ in
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.telepathy.enable = mkDefault true;
systemd.packages = with pkgs.gnome3; [ vino gnome-session gnome-settings-daemon ];
# gnome-settings-daemon.nix is shared between several desktop
# environments (eg. mate and pantheon) so specify these gnome-shell specific
# service dependencies here instead.
systemd.user.targets."gnome-session-initialized".wants = [
"gsd-a11y-settings.target" "gsd-housekeeping.target" "gsd-power.target"
"gsd-color.target" "gsd-keyboard.target" "gsd-print-notifications.target"
"gsd-datetime.target" "gsd-media-keys.target" "gsd-rfkill.target"
"gsd-screensaver-proxy.target" "gsd-sound.target" "gsd-smartcard.target"
"gsd-sharing.target" "gsd-wacom.target" "gsd-wwan.target"
];
systemd.user.targets."gnome-session-x11-services".wants = [
"gsd-xsettings.target"
];
systemd.packages = with pkgs.gnome3; [ vino gnome-session ];
services.avahi.enable = mkDefault true;

View File

@ -85,6 +85,7 @@ in
pkgs.gtk3.out
pkgs.shared-mime-info
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
pkgs.mate.mate-settings-daemon
];
programs.dconf.enable = true;
@ -98,7 +99,7 @@ in
services.gnome3.at-spi2-core.enable = true;
services.gnome3.gnome-keyring.enable = true;
services.gnome3.gnome-settings-daemon.enable = true;
services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon;
services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
services.gvfs.enable = true;
services.upower.enable = config.powerManagement.enable;

View File

@ -109,8 +109,9 @@ in
services.pantheon.files.enable = mkDefault true;
services.tumbler.enable = mkDefault true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.dbus.packages = [
pkgs.pantheon.switchboard-plug-power
services.dbus.packages = with pkgs.pantheon; [
switchboard-plug-power
elementary-default-settings
];
services.pantheon.contractor.enable = mkDefault true;
services.gnome3.at-spi2-core.enable = true;
@ -119,7 +120,7 @@ in
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
services.gnome3.gnome-keyring.enable = true;
services.gnome3.gnome-settings-daemon.enable = true;
services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ];
services.gvfs.enable = true;
services.gnome3.rygel.enable = mkDefault true;
services.gsignond.enable = mkDefault true;
@ -154,11 +155,6 @@ in
qt5.style = "adwaita";
networking.networkmanager.enable = mkDefault true;
networking.networkmanager.basePackages =
{ inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
networkmanager-openconnect networkmanager-fortisslvpn
networkmanager-iodine networkmanager-l2tp; };
# Override GSettings schemas
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";

View File

@ -91,7 +91,11 @@ in
++ optional config.powerManagement.enable xfce4-power-manager
++ optionals config.hardware.pulseaudio.enable [
pavucontrol
xfce4-pulseaudio-plugin
# volume up/down keys support:
# xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
# but can only be used with xfce4-panel, so for no-desktop usage we still include
# xfce4-volumed-pulse
(if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
] ++ optionals cfg.enableXfwm [
xfwm4
xfwm4-themes
@ -108,14 +112,6 @@ in
"/share/gtksourceview-4.0"
];
# Use the correct gnome3 packageSet
networking.networkmanager.basePackages = mkIf config.networking.networkmanager.enable {
inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
networkmanager-openconnect networkmanager-fortisslvpn
networkmanager-iodine networkmanager-l2tp;
};
services.xserver.desktopManager.session = [{
name = "xfce4-14";
bgSupport = true;

View File

@ -152,6 +152,7 @@ in
chown -R gdm:gdm /run/gdm/.config
'' + optionalString config.services.gnome3.gnome-initial-setup.enable ''
# Create stamp file for gnome-initial-setup to prevent run.
mkdir -p /run/gdm/.config
cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF
yes
EOF
@ -165,9 +166,15 @@ in
"systemd-machined.service"
"systemd-user-sessions.service"
"getty@tty1.service"
"plymouth-quit.service"
"plymouth-start.service"
];
systemd.services.display-manager.conflicts = [
"getty@tty1.service"
"plymouth-quit.service"
];
systemd.services.display-manager.onFailure = [
"plymouth-quit.service"
];
systemd.services.display-manager.serviceConfig = {
@ -177,6 +184,9 @@ in
BusName = "org.gnome.DisplayManager";
StandardOutput = "syslog";
StandardError = "inherit";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
KeyringMode = "shared";
EnvironmentFile = "-/etc/locale.conf";
};
systemd.services.display-manager.path = [ pkgs.gnome3.gnome-session ];

View File

@ -184,14 +184,7 @@ in
find /var/empty -mindepth 1 -delete
chmod 0555 /var/empty
chown root:root /var/empty
${ # reasons for not setting immutable flag:
# 1. flag is not changeable inside a container
# 2. systemd-nspawn can not perform chown in case of --private-users-chown
# then the owner is nobody and ssh will not start
optionalString (!config.boot.isContainer) ''
${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
''}
'';
system.activationScripts.usrbinenv = if config.environment.usrbinenv != null

View File

@ -183,6 +183,12 @@ for o in $(cat /proc/cmdline); do
copytoram)
copytoram=1
;;
findiso=*)
# if an iso name is supplied, try to find the device where
# the iso resides on
set -- $(IFS==; echo $o)
isoPath=$2
;;
esac
done
@ -442,6 +448,27 @@ if test -e /sys/power/resume -a -e /sys/power/disk; then
fi
fi
# If we have a path to an iso file, find the iso and link it to /dev/root
if [ -n "$isoPath" ]; then
mkdir -p /findiso
for delay in 5 10; do
blkid | while read -r line; do
device=$(echo "$line" | sed 's/:.*//')
type=$(echo "$line" | sed 's/.*TYPE="\([^"]*\)".*/\1/')
mount -t "$type" "$device" /findiso
if [ -e "/findiso$isoPath" ]; then
ln -sf "/findiso$isoPath" /dev/root
break 2
else
umount /findiso
fi
done
sleep "$delay"
done
fi
# Try to find and mount the root device.
mkdir -p $targetRoot

View File

@ -546,6 +546,16 @@ in
'';
};
systemd.coredump.enable = mkOption {
default = true;
type = types.bool;
description = ''
Whether core dumps should be processed by
<command>systemd-coredump</command>. If disabled, core dumps
appear in the current directory of the crashing process.
'';
};
systemd.coredump.extraConfig = mkOption {
default = "";
type = types.lines;
@ -983,6 +993,10 @@ in
# Don't bother with certain units in containers.
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
"kernel.core_pattern" = "core";
};
};
# FIXME: Remove these eventually.

View File

@ -38,6 +38,12 @@ in
} {
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
message = "networking.defaultGateway6.interface is not supported by networkd.";
} {
assertion = cfg.useDHCP == false;
message = ''
networking.useDHCP is not supported by networkd.
Please use per interface configuration and set the global option to false.
'';
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd.";
@ -56,9 +62,7 @@ in
genericNetwork = override:
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
in {
DHCP = override (dhcpStr cfg.useDHCP);
} // optionalAttrs (gateway != [ ]) {
in optionalAttrs (gateway != [ ]) {
routes = override [
{
routeConfig = {
@ -97,7 +101,7 @@ in
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
name = mkDefault i.name;
DHCP = mkForce (dhcpStr
(if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
(if i.useDHCP != null then i.useDHCP else false));
address = forEach (interfaceIps i)
(ip: "${ip.address}/${toString ip.prefixLength}");
networkConfig.IPv6PrivacyExtensions = "kernel";

View File

@ -903,6 +903,11 @@ in
Whether to use DHCP to obtain an IP address and other
configuration for all network interfaces that are not manually
configured.
Using this option is highly discouraged and also incompatible with
<option>networking.useNetworkd</option>. Please use
<option>networking.interfaces.&lt;name&gt;.useDHCP</option> instead
and set this to false.
'';
};

View File

@ -11,7 +11,7 @@ with lib;
services.udisks2.enable = mkDefault false;
powerManagement.enable = mkDefault false;
networking.useHostResolvConf = mkDefault (!config.services.resolved.enable);
networking.useHostResolvConf = mkDefault true;
# Containers should be light-weight, so start sshd on demand.
services.openssh.startWhenNeeded = mkDefault true;

View File

@ -824,5 +824,12 @@ in
'';
environment.systemPackages = [ pkgs.nixos-container ];
boot.kernelModules = [
"bridge"
"macvlan"
"tap"
"tun"
];
});
}

View File

@ -262,7 +262,6 @@ in
syncthing-relay = handleTest ./syncthing-relay.nix {};
systemd = handleTest ./systemd.nix {};
systemd-confinement = handleTest ./systemd-confinement.nix {};
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
pdns-recursor = handleTest ./pdns-recursor.nix {};

View File

@ -72,6 +72,7 @@ let
testCases = {
loopback = {
name = "Loopback";
machine.networking.useDHCP = false;
machine.networking.useNetworkd = networkd;
testScript = ''
startAll;
@ -139,14 +140,16 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = true;
useDHCP = false;
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
interfaces.eth2 = {
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
};
};
@ -320,13 +323,19 @@ let
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
firewall.logReversePathDrops = true; # to debug firewall rules
# reverse path filtering rules for the macvlan interface seem
# to be incorrect, causing the test to fail. Disable temporarily.
firewall.checkReversePath = false;
useDHCP = true;
macvlans.macvlan.interface = "eth1";
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
useDHCP = true;
};
interfaces.macvlan = {
useDHCP = true;
};
};
};
testScript = { ... }:
@ -440,6 +449,7 @@ let
virtual = {
name = "Virtual";
machine = {
networking.useNetworkd = networkd;
networking.interfaces.tap0 = {
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
@ -489,6 +499,7 @@ let
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.eth1.ipv6.addresses = singleton {
address = "fd00:1234:5678:1::1";
prefixLength = 64;
@ -514,11 +525,12 @@ let
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = true;
useDHCP = false;
interfaces.eth1 = {
preferTempAddress = true;
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
};
};
@ -526,11 +538,12 @@ let
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = true;
useDHCP = false;
interfaces.eth1 = {
preferTempAddress = false;
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
};
};

View File

@ -16,6 +16,7 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
networking.usePredictableInterfaceNames = lib.mkForce predictable;
networking.useNetworkd = withNetworkd;
networking.dhcpcd.enable = !withNetworkd;
networking.useDHCP = !withNetworkd;
};
testScript = ''

View File

@ -1,52 +0,0 @@
import ./make-test.nix (let
container = { ... }: {
boot.isContainer = true;
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
# systemd-nspawn expects /sbin/init
boot.loader.initScript.enable = true;
imports = [ ../modules/profiles/minimal.nix ];
};
containerSystem = (import ../lib/eval-config.nix {
modules = [ container ];
}).config.system.build.toplevel;
containerName = "container";
containerRoot = "/var/lib/machines/${containerName}";
in {
name = "systemd-machinectl";
machine = { lib, ... }: {
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
# open DHCP server on interface to container
networking.firewall.trustedInterfaces = [ "ve-+" ];
# do not try to access cache.nixos.org
nix.binaryCaches = lib.mkForce [];
virtualisation.pathsInNixDB = [ containerSystem ];
};
testScript = ''
startAll;
$machine->waitForUnit("default.target");
$machine->succeed("mkdir -p ${containerRoot}");
$machine->succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd --no-bootloader");
$machine->succeed("machinectl start ${containerName}");
$machine->waitUntilSucceeds("systemctl -M ${containerName} is-active default.target");
$machine->succeed("ping -n -c 1 ${containerName}");
$machine->succeed("test `stat ${containerRoot}/var/empty -c %u%g` != 00");
$machine->succeed("machinectl stop ${containerName}");
'';
})

View File

@ -2,6 +2,7 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
imports = [ common/user-account.nix ];
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
networking.useNetworkd = true;
networking.useDHCP = false;
networking.firewall.enable = false;
virtualisation.vlans = [ 1 ];
environment.systemPackages = with pkgs; [ wireguard-tools ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "flacon";
version = "5.4.0";
version = "5.5.1";
src = fetchFromGitHub {
owner = "flacon";
repo = "flacon";
rev = "v${version}";
sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93";
sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd";
};
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];

View File

@ -0,0 +1,44 @@
{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
let
py = python3Packages;
in py.buildPythonApplication rec {
pname = "friture";
version = "0.36";
src = fetchFromGitHub {
owner = "tlecomte";
repo = "friture";
rev = "v${version}";
sha256 = "1pz8v0qbzqq3ig9w33cp027s6c8rj316x5sy8pqs5nsiny9ddnk6";
};
# module imports scipy.misc.factorial, but it has been removed since scipy
# 1.3.0; use scipy.special.factorial instead
patches = [ ./factorial.patch ];
nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
[ wrapQtAppsHook ];
propagatedBuildInputs = with py; [
sounddevice
pyopengl
docutils
numpy
pyqt5
appdirs
pyrr
];
postFixup = ''
wrapQtApp $out/bin/friture
wrapQtApp $out/bin/.friture-wrapped
'';
meta = with lib; {
description = "A real-time audio analyzer";
homepage = http://friture.org/;
license = licenses.gpl3;
maintainers = [ maintainers.laikq ];
};
}

View File

@ -0,0 +1,13 @@
diff --git a/friture/filter_design.py b/friture/filter_design.py
index 9876c43..1cc749a 100644
--- a/friture/filter_design.py
+++ b/friture/filter_design.py
@@ -2,7 +2,7 @@
from numpy import pi, exp, arange, cos, sin, sqrt, zeros, ones, log, arange, set_printoptions
# the three following lines are a workaround for a bug with scipy and py2exe
# together. See http://www.pyinstaller.org/ticket/83 for reference.
-from scipy.misc import factorial
+from scipy.special import factorial
import scipy
scipy.factorial = factorial

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "kid3";
version = "3.7.1";
version = "3.8.0";
src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8";
sha256 = "1a6ixkkdp1fl3arylx06w73mwf26i0ibyplwwcn2kw5xsfxmbjp6";
};
nativeBuildInputs = [ wrapQtAppsHook ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, unzip }:
{ stdenv, fetchurl, unzip, mpg123 }:
stdenv.mkDerivation {
name = "mp3gain-1.5.2";
name = "mp3gain-1.6.2";
src = fetchurl {
url = "mirror://sourceforge/mp3gain/mp3gain-1_5_2-src.zip";
sha256 = "1jkgry59m8cnnfq05b9y1h4x4wpy3iq8j68slb9qffwa3ajcgbfv";
url = "mirror://sourceforge/mp3gain/mp3gain-1_6_2-src.zip";
sha256 = "0varr6y7k8zarr56b42r0ad9g3brhn5vv3xjg1c0v19jxwr4gh2w";
};
buildInputs = [ unzip ];
buildInputs = [ unzip mpg123 ];
sourceRoot = ".";

View File

@ -2,11 +2,11 @@
mkDerivation rec {
pname = "padthv1";
version = "0.9.9";
version = "0.9.10";
src = fetchurl {
url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
sha256 = "07gpq31a9iwk79yzndqzmw7snap7s4ifnsc4mfwkdga2zx13z0rx";
};
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];

View File

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "snd-19.6";
name = "snd-19.7";
src = fetchurl {
url = "mirror://sourceforge/snd/${name}.tar.gz";
sha256 = "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76";
sha256 = "1pr3l9iadvwinmxfl9a2lsm67yi7w3rhxglidpd41m2ni8jf2rlm";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -6,13 +6,13 @@
rustPlatform.buildRustPackage rec {
pname = "spotifyd";
version = "0.2.16";
version = "0.2.18";
src = fetchFromGitHub {
owner = "Spotifyd";
repo = "spotifyd";
rev = "v${version}";
sha256 = "097hg18h7gya2w0wl5jkav79nb3qzcc4ycsryq7nhxa0h1agvinc";
sha256 = "12826b0wf31m9vw1s7bcd1hb4ygb1xn4sdknn1y9kzc68brsq94v";
};
cargoSha256 = "0ar4bfwn3qxa6wsz2hd7nv1wr824h74jy3xqba2qsy0rsfwy1bmm";

View File

@ -8,9 +8,9 @@ let
inherit (gnome2) GConf gnome_vfs;
};
stableVersion = {
version = "3.5.0.21"; # "Android Studio 3.5"
build = "191.5791312";
sha256Hash = "0vvk2vhklxg9wfi4lv4sahs5ahhb1mki1msy3yixmr56vipgv52p";
version = "3.5.1.0"; # "Android Studio 3.5.1"
build = "191.5900203";
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
};
betaVersion = stableVersion;
latestVersion = { # canary & dev

View File

@ -13,10 +13,10 @@ assert stdenv ? glibc;
let
platform_major = "4";
platform_minor = "12";
platform_minor = "13";
year = "2019";
month = "06";
timestamp = "201906051800";
month = "09";
timestamp = "201909161045";
in rec {
@ -34,7 +34,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "3mfljabrwbwq256vvsp9qjb96hzlbpwgnb3wz806pbyh0ibfq6s1hn8kh5aaa2da5821v0ykcxa12jagj7naqp4g91jqxp1wb1ygz2q";
sha512 = "0s9wvxd1bahlcdw7l6cyfi59p78j6gym3a3mn1z6dm6swxgyb2wjjl7hx8bkg0zs8x31bwllpdq22y2vcm6j57h40v53l3xkhy73m8v";
};
};
@ -46,7 +46,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "18p6xz6rq4w6j39b2k9kjpz8s1nljfq44g2cmvxqjgjfkq8lk4ij73ssyv1raly4wkm7r22ixacswdjmyj942k5vpv9y11i91hp1scv";
sha512 = "09nc7ipv67h0gr7lkxsbxrgj9gn48348asn03ylcvflyrcxghqs8n11a75rwvdj98igdzpw922saicx5lqq5g2flfqiga97lwwhfiz5";
};
};
@ -58,7 +58,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
sha512 = "0qiyk95qhdqcfgg5hgc7pcpbpjy9jnx7l3vb7s4cgijdz2xz0n5psh11lpj3whk2amh4iwkyx7kn8fxdq7lm03rlgx67cbk7p8my16m";
sha512 = "2c40wwrc2ip32n0m5cs8ds0g7cs7018acw8gjkd23msa4pr9x9511c3dj6rbnn1hwzf9yjq6vnjmib5qarxd3vly76jwxhf867l1f7v";
};
};
@ -88,7 +88,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
sha512 = "3bbc8d66ms7nhg6f8gb0bnzjqz26wixpipn4n9qf0azcplrv2j91z8hjw1fx39dx4pqnsf442bkgab4qqhkpks7qq54110l01q6gvy9";
sha512 = "2vm646d1crzzzysll3p5pjfljfjzxx4qd37dqcp6xjm91zg8iskli688h0lgla0rmbwz5kj509jp22m4rxkp3cbgd006dd0jr3icdls";
};
};
@ -100,7 +100,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "20qs1aagh4drsycvar3x42zy422zl34yg1p3vhxbqfbf7v3z1d3cxs9ah61x4bdxx9bkfwchasqp1wr15nflch9g0i50bdki3cgng1d";
sha512 = "3zyxqd8iwrfgjjg91dfi4bda61rd2717hy53swmbygi48zaaam70swx997yp5qzxwjp3macdslfk6sqhq2qlcdwcdl6dmkry018jh7b";
};
};

View File

@ -254,12 +254,12 @@ rec {
cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}";
version = "9.8.1";
version = "9.9.0";
src = fetchzip {
stripRoot = false;
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.8/${name}/${name}.zip";
sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv";
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.9/${name}/${name}.zip";
sha256 = "1vgx7ggilfwmx0bjrhk7mwlwg1c8lb141ilj3vzwxivlffihy054";
};
meta = with stdenv.lib; {
@ -474,12 +474,12 @@ rec {
jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}";
version = "4.12";
version = "4.13";
src = fetchzip {
stripRoot = false;
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.12-201906051800/org.eclipse.jdt-4.12.zip;
sha256 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.13-201909161045/org.eclipse.jdt-4.13.zip;
sha256 = "0sfpxph0cszcx1cihzzjn60qid8sxgl2xyr9x46fld4ian5a7vbr";
};
meta = with stdenv.lib; {

View File

@ -3,7 +3,7 @@
with stdenv.lib;
let
version = "1.35";
version = "1.36";
in
stdenv.mkDerivation rec {
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://download.geany.org/${pname}-${version}.tar.bz2";
sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim";
sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
};
nativeBuildInputs = [ pkgconfig intltool libintl ];

View File

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "manuskript";
version = "0.9.0";
version = "0.10.0";
format = "other";
@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
repo = pname;
owner = "olivierkes";
rev = version;
sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8";
sha256 = "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3";
};
nativeBuildInputs = [ wrapQtAppsHook ];

View File

@ -20,11 +20,11 @@ let
in stdenv.mkDerivation rec {
pname = "nano";
version = "4.4";
version = "4.5";
src = fetchurl {
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia";
sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View File

@ -79,9 +79,11 @@ in
cmakeFlags = [
"-DGPERF_PRG=${gperf}/bin/gperf"
"-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
"-DLUA_PRG=${neovimLuaEnv.interpreter}"
]
# FIXME: this is verry messy and strange.
++ optional (!stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
++ optional (stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv.libluv}/lib/lua/${lua.luaversion}/libluv.dylib"
++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
;

View File

@ -5,15 +5,15 @@ let
in
{
sublime3-dev = common {
buildVersion = "3208";
buildVersion = "3210";
dev = true;
x32sha256 = "09k04fjryc0dc6173i6nwhi5xaan89n4lp0n083crvkqwp0qlf2i";
x64sha256 = "12pn3yfm452m75dlyl0lyf82956j8raz2dglv328m81hbafflrj8";
x32sha256 = "1ngr4c8h2mafy96mi8dd3g8mg5r9ha1cpcd8p3gz7jwpbypvkkbv";
x64sha256 = "0j65a4ylgga1qzc74wf3k5craghahma8hwqg3zs1rgzz601nl693";
} {};
sublime3 = common {
buildVersion = "3207";
x32sha256 = "14hfb8x8zb49zjq0pd8s73xk333gmf38h5b7g979czcmbhdxiyqy";
x64sha256 = "1i1q9592sc8idvlpygksdkclh7h506hsz5l0i02g1814w0flzdmc";
buildVersion = "3211";
x32sha256 = "0w9hba1nl2hv1mri418n7v0m321b6wqphb1knll23ldv5fb0j1j8";
x64sha256 = "1vkldmimyjhbgplcd6r27gvk64rr7cparfd44hy6qdyzwsjqqg0b";
} {};
}

View File

@ -69,9 +69,9 @@ in
installPhase =
if system == "x86_64-darwin" then ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin
mkdir -p "$out/Applications/${longName}.app" $out/bin
cp -r ./* "$out/Applications/${longName}.app"
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/code" $out/bin/${executableName}
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode

View File

@ -14,8 +14,14 @@ let
x86_64-linux = "15m7mfb8gmx3pwydc37blj0rxwgmkrnqfj6y79rpqlr2dg92gwlb";
x86_64-darwin = "080k4fnfa5ylmmya6zprgci3gld9mrbqsfnk53hgcny91ykl5xj5";
}.${system};
sourceRoot = {
x86_64-linux = ".";
x86_64-darwin = "";
}.${system};
in
callPackage ./generic.nix rec {
inherit sourceRoot;
version = "1.38.1";
pname = "vscodium";
@ -29,8 +35,6 @@ in
inherit sha256;
};
sourceRoot = ".";
meta = with stdenv.lib; {
description = ''
Open source source code editor developed by Microsoft for Windows,

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql
, txt2tags, openssl, libzip, hdf5, netcdf, exiv2
, qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns
@ -9,8 +9,8 @@ let
pythonBuildInputs = with python3Packages;
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec {
version = "3.8.0";
in mkDerivation rec {
version = "3.8.3";
pname = "qgis";
name = "${pname}-unwrapped-${version}";
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings ["."] ["_"] version}";
sha256 = "11jqj6lavpw9piv0rm8vvbgd99zhcxl6yfjg699wlrjlyf71xac5";
sha256 = "16axjih48qn8ri3p71d8f7k0y3rd05wghmg1fcbyda871b45b2f8";
};
passthru = {
@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2
fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf
qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++
(stdenv.lib.optional withGrass grass) ++ pythonBuildInputs;
(lib.optional withGrass grass) ++ pythonBuildInputs;
nativeBuildInputs = [ cmake flex bison ninja ];
@ -45,13 +45,13 @@ in stdenv.mkDerivation rec {
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF"
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
"-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] ++
stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
meta = {
description = "A Free and Open Source Geographic Information System";
homepage = http://www.qgis.org;
license = stdenv.lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ lsix ];
license = lib.licenses.gpl2Plus;
platforms = with lib.platforms; linux;
maintainers = with lib.maintainers; [ lsix ];
};
}

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "kodelife";
version = "0.8.3.93";
version = "0.8.5.99";
src = fetchzip {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
sha256 = "189i2j6kaygjb5pccynxv4pwqpy67jf9nfi7fjfhbrmjpqnmkp90";
};
dontConfigure = true;

View File

@ -53,10 +53,6 @@ mkDerivation rec {
# src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory
enableParallelBuilding = false; # true by default due to qmake
preBuild = ''
sed -re 's/qscintilla2_qt5/qscintilla2/g' -i Makefile
'';
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
mkdir $out/Applications
mv $out/bin/*.app $out/Applications

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "pdfcpu";
version = "0.2.4";
version = "0.2.5";
src = fetchFromGitHub {
owner = "pdfcpu";
repo = pname;
rev = "v${version}";
sha256 = "0inlwrpv5zkcv48g5gq1xdrvd7w1zkhf8p57fpr2cpd7hd3am7n8";
sha256 = "0fgdq8byb9pp9wiq3dm0vxw32kbspczqnk41agxpzjf303zmv75y";
};
modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cbatticon";
version = "1.6.9";
version = "1.6.10";
src = fetchFromGitHub {
owner = "valr";
repo = pname;
rev = version;
sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf";
sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
};
nativeBuildInputs = [ pkgconfig gettext ];

View File

@ -0,0 +1,57 @@
{ stdenv
, fetchFromGitHub
, meson
, ninja
, pkgconfig
, pantheon
, python3
, gettext
, glib
, gtk3
, libgee
, xdg_utils
, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "cipher";
version = "2.0.0";
src = fetchFromGitHub {
owner = "arshubham";
repo = "cipher";
rev = version;
sha256 = "0n5aigcyxnl4k52mdmavbxx6afc1ixymn3k3l2ryhyzi5q31x0x3";
};
nativeBuildInputs = [
gettext
meson
ninja
pantheon.vala
pkgconfig
python3
wrapGAppsHook
];
buildInputs = [
glib
gtk3
pantheon.granite
libgee
];
postPatch = ''
substituteInPlace data/com.github.arshubham.cipher.desktop.in \
--replace xdg-open ${xdg_utils}/bin/xdg-open
chmod +x post_install.py
patchShebangs post_install.py
'';
meta = with stdenv.lib; {
description = "A simple application for encoding and decoding text, designed for elementary OS";
homepage = "https://github.com/arshubham/cipher";
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Simulates the falling characters theme from The Matrix movie";
license = licenses.gpl3;
longDescription = ''
CMatrix simulates the display from "The Matrix" and is based
on the screensaver from the movie's website.

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
pname = "dbeaver-ce";
version = "6.2.1";
version = "6.2.2";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "1ix6isahpk7zk741wdx5cf4i13wc5gp0j1gj4ja80bzfswbc38na";
sha256 = "0qpa0wh5lr5lxk9cdv5p1cmbdk1kw1lfqmsfgqxvgfysc1mgjgp1";
};
installPhase = ''

View File

@ -1,20 +1,26 @@
{stdenv, fetchFromGitHub, python3}:
stdenv.mkDerivation rec {
version = "1.6";
version = "1.7";
pname = "ddgr";
src = fetchFromGitHub {
owner = "jarun";
repo = "ddgr";
rev = "v${version}";
sha256 = "04ybbjsf9hpn2p5cjjm15cwvv0mwrmdi19iifrym6ps3rmll0p3c";
sha256 = "0kcl8z9w8iwn3pxay1pfahhw6vs2l1dp60yfv3i19in4ac9va7m0";
};
buildInputs = [ python3 ];
makeFlags = "PREFIX=$(out)";
preBuild = ''
# Version 1.7 was released as 1.6
# https://github.com/jarun/ddgr/pull/95
sed -i "s/_VERSION_ = '1.6'/_VERSION_ = '1.7'/" ddgr
'';
postInstall = ''
mkdir -p "$out/share/bash-completion/completions/"
cp "auto-completion/bash/ddgr-completion.bash" "$out/share/bash-completion/completions/"

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch,
pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
}:
@ -42,6 +42,15 @@ stdenv.mkDerivation rec {
"-Ddisable_pycompile=true"
];
patches = [
# fix build with Vala 0.46
(fetchpatch {
url = "https://github.com/FontManager/font-manager/commit/c73b40de11f376f4515a0edfe97fb3721a264b35.patch";
sha256 = "0lacwsifgvda2r3z6j2a0svdqr6mgav7zkvih35xa8155y8wfpnw";
excludes = [ "fedora/font-manager.spec" ];
})
];
postPatch = ''
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
@ -60,7 +69,6 @@ stdenv.mkDerivation rec {
Font Manager is NOT a professional-grade font management solution.
'';
license = licenses.gpl3;
repositories.git = https://github.com/FontManager/master;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};

View File

@ -0,0 +1,70 @@
{ stdenv
, fetchFromGitHub
, meson
, ninja
, pkgconfig
, pantheon
, python3
, substituteAll
, glib
, gtk3
, dosfstools
, e2fsprogs
, exfat
, hfsprogs
, ntfs3g
, libgee
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "formatter";
version = "0.3.0";
src = fetchFromGitHub {
owner = "Djaler";
repo = "Formatter";
rev = version;
sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq";
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
ext4 = "${e2fsprogs}/bin/mkfs.ext4";
exfat = "${exfat}/bin/mkfs.exfat";
fat = "${dosfstools}/bin/mkfs.fat";
ntfs = "${ntfs3g}/bin/mkfs.ntfs";
hfsplus = "${hfsprogs}/bin/mkfs.hfsplus";
})
];
nativeBuildInputs = [
meson
ninja
pantheon.vala
pkgconfig
python3
wrapGAppsHook
];
buildInputs = [
glib
gtk3
libgee
pantheon.granite
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "A simple formatter designed for elementary OS";
homepage = "https://github.com/Djaler/Formatter";
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
platforms = platforms.linux;
license = licenses.lgpl2Plus;
};
}

View File

@ -0,0 +1,53 @@
diff --git a/src/Objects/DeviceFormatter.vala b/src/Objects/DeviceFormatter.vala
index cf6a3b8..0de10a9 100644
--- a/src/Objects/DeviceFormatter.vala
+++ b/src/Objects/DeviceFormatter.vala
@@ -62,42 +62,42 @@ namespace Formatter {
string drive_identifier = drive.get_identifier ("unix-device");
switch (filesystem) {
case Formatter.Filesystems.EXT4:
- spawn_args = {"pkexec", "mkfs.ext4", drive_identifier, "-F"};
+ spawn_args = {"pkexec", "@ext4@", drive_identifier, "-F"};
if (label != "") {
spawn_args += "-L";
spawn_args += label;
}
break;
case Formatter.Filesystems.EXFAT:
- spawn_args = {"pkexec", "mkfs.exfat", drive_identifier};
+ spawn_args = {"pkexec", "@exfat@", drive_identifier};
if (label != "") {
spawn_args += "-n";
spawn_args += label;
}
break;
case Formatter.Filesystems.FAT16:
- spawn_args = {"pkexec", "mkfs.fat", "-F16", "-I", drive_identifier};
+ spawn_args = {"pkexec", "@fat@", "-F16", "-I", drive_identifier};
if (label != "") {
spawn_args += "-n";
spawn_args += label;
}
break;
case Formatter.Filesystems.FAT32:
- spawn_args = {"pkexec", "mkfs.fat", "-F32", "-I", drive_identifier};
+ spawn_args = {"pkexec", "@fat@", "-F32", "-I", drive_identifier};
if (label != "") {
spawn_args += "-n";
spawn_args += label;
}
break;
case Formatter.Filesystems.NTFS:
- spawn_args = {"pkexec", "mkfs.ntfs", drive_identifier, "-f", "-F"};
+ spawn_args = {"pkexec", "@ntfs@", drive_identifier, "-f", "-F"};
if (label != "") {
spawn_args += "-L";
spawn_args += label;
}
break;
case Formatter.Filesystems.HFS_PLUS:
- spawn_args = {"pkexec", "mkfs.hfsplus", drive_identifier};
+ spawn_args = {"pkexec", "@hfsplus@", drive_identifier};
if (label != "") {
spawn_args += "-v";
spawn_args += label;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "girara";
version = "0.3.2";
version = "0.3.3";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz";
sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p";
url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
};
nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
homepage = https://pwmt.org/projects/girara/;
homepage = "https://git.pwmt.org/pwmt/girara";
description = "User interface library";
longDescription = ''
girara is a library that implements a GTK based VIM-like user interface

View File

@ -28,6 +28,9 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "A set of tools for configuring the Logitech G15 keyboard";
# Doesn't work with new `keyring` library which is Python 3-only now.
# https://github.com/Gnome15/gnome15/issues/29
broken = true;
license = licenses.gpl3;
homepage = https://gnome15.org/;
platforms = platforms.linux;

View File

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "gpxsee";
version = "7.14";
version = "7.15";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = version;
sha256 = "13lxjbc54mw2d5jn0q61wjzm0hk2f6vmbvw11n7z8p62n8q30nvb";
sha256 = "036g17479nqy3kvy3dy3cn7yi7r57rsp28gkcay0qhf9h0az76p3";
};
nativeBuildInputs = [ qmake ];

View File

@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
# glib-2.62 deprecations
NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
meta = {
description = "GTK-based audio CD player/ripper";
homepage = http://nostatic.org/grip;

View File

@ -8,7 +8,8 @@ stdenv.mkDerivation {
sha256 = "0avmhdcj0hpr55fc0iih8fjykmdhn34c8mwdnqvl8jh4nhxxchxr";
};
NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
# glib-2.62 deprecations
NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "jgmenu";
version = "3.3";
version = "3.4";
src = fetchFromGitHub {
owner = "johanmalm";
repo = pname;
rev = "v${version}";
sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l";
sha256 = "1cikndf71wi17qld3rwp38gk0q7zic707zzz0mr7cgn86dc4if3d";
};
nativeBuildInputs = [

View File

@ -37,6 +37,12 @@ in stdenv.mkDerivation rec {
})
];
# have it look for 4.7.2 instead of 4.7.1
preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace "antlr-4.7.1-complete.jar" "antlr-4.7.2-complete.jar"
'';
nativeBuildInputs = [
cmake ninja pkgconfig jre swig wrapGAppsHook
];

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "overmind";
version = "2.0.2";
version = "2.0.3";
goPackagePath = "github.com/DarthSim/overmind";
nativeBuildInputs = [ makeWrapper ];
@ -15,7 +15,7 @@ buildGoPackage rec {
owner = "DarthSim";
repo = pname;
rev = "v${version}";
sha256 = "0cns19gqkfxsiiyfxhb05cjp1iv2fb40x47gp8djrwwzcd1r6zxh";
sha256 = "0c551c240lqxdjg0jj01rh2fyhwls02k5lczlxacj05prp1plz9p";
};
meta = with lib; {

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, vala, gtk3, libgee, fetchpatch
, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "${product}-${version}";
@ -17,16 +17,20 @@ stdenv.mkDerivation rec {
cmake pkgconfig vala
# For setup hook
gobject-introspection
wrapGAppsHook
];
buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
libpthreadstubs makeWrapper librsvg pcre ];
libpthreadstubs librsvg pcre ];
cmakeFlags = stdenv.lib.optionalString stdenv.isDarwin "-DMOVIES=OFF";
postInstall = ''
wrapProgram $out/bin/pdfpc \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
'';
patches = [
# Fix build vala 0.46
(fetchpatch {
url = "https://github.com/pdfpc/pdfpc/commit/bbc16b97ecbdcdd22c2dc827a5c0e8b569073312.patch";
sha256 = "0wi1rqcvg65cxnxvmvavcvghqyksnpijq1p91m57jaby3hb0pdcy";
})
];
meta = with stdenv.lib; {
description = "A presenter console with multi-monitor support for PDF files";

View File

@ -1,12 +1,18 @@
{ mkDerivation, lib, fetchurl, fetchpatch, cmake, qtscript, qtwebengine, gdal, proj, routino, quazip }:
{ mkDerivation, lib, fetchFromGitHub, cmake
, qtscript, qtwebengine, gdal, proj, routino, quazip }:
mkDerivation rec {
pname = "qmapshack";
version = "1.13.1";
version = "1.13.2";
src = fetchurl {
url = "https://bitbucket.org/maproom/qmapshack/downloads/${pname}-${version}.tar.gz";
sha256 = "15x1b2q0hr1vx006f9hjc4cvfjvxvfdwybw32qvczdyc3crq0mc9";
src = fetchFromGitHub {
owner = "Maproom";
repo = pname;
# TODO: remove it on next release.
# 1.13.2 release tarball is essentially broken, use fixed commit instead.
# See https://github.com/maproom/qmapshack/pull/4 for more details.
rev = "763cfc149566325cce9e4690cb7b5f986048f86a"; #"V_${version}";
sha256 = "1lfivhm9rv9ly1srlmb7d80s77306xplg23lx35vav879bri29rx";
};
nativeBuildInputs = [ cmake ];
@ -22,21 +28,15 @@ mkDerivation rec {
enableParallelBuilding = true;
patches = [
(fetchpatch {
url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindPROJ4.patch";
sha256 = "1nx4ax233bnnj478cmjpm5c1qqmyn1navlihf10q6hhbanay9n99";
})
(fetchpatch {
url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindQuaZip5.patch";
sha256 = "0z1b2dz2zlz685mxgn8bmh1fyhxpf6dzd6jvkkjyk2kvnrdxv3b9";
})
"${src}/FindPROJ4.patch"
"${src}/FindQuaZip5.patch"
];
meta = with lib; {
homepage = https://bitbucket.org/maproom/qmapshack/wiki/Home;
description = "Plan your next outdoor trip";
homepage = https://github.com/Maproom/qmapshack;
description = "Consumer grade GIS software";
license = licenses.gpl3;
maintainers = with maintainers; [ dotlambda ];
maintainers = with maintainers; [ dotlambda sikmir ];
platforms = with platforms; linux;
};
}

View File

@ -1,43 +1,41 @@
{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch
, git, gnupg, pass, qtbase, qtsvg, qttools, qmake
{ lib, mkDerivation, fetchFromGitHub
, git, gnupg, pass, pwgen
, qtbase, qtsvg, qttools, qmake
}:
mkDerivation rec {
pname = "qtpass";
version = "1.3.0";
version = "1.3.1";
src = fetchFromGitHub {
owner = "IJHack";
repo = "QtPass";
rev = "v${version}";
sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv";
sha256 = "025sdk4fq71jgfs54zj7ssgvlci8vvjkqdckgbwz0nqrynlljy08";
};
buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
buildInputs = [ git gnupg pass qtbase qtsvg ];
nativeBuildInputs = [ qmake ];
# Fix missing app icon on Wayland. Has been upstreamed and should be safe to
# remove in versions > 1.3.0
patches = [
(fetchpatch {
url = "https://github.com/IJHack/QtPass/commit/aba8c4180f0ab3d66c44f88b21f137b19d17bde8.patch";
sha256 = "009bcq0d75khmaligzd7736xdzy6a8s1m9dgqybn70h801h92fcr";
})
];
nativeBuildInputs = [ qmake qttools ];
enableParallelBuilding = true;
qmakeFlags = [
# setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
"QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
];
qtWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}"
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}"
];
postInstall = ''
install -D qtpass.desktop $out/share/applications/qtpass.desktop
install -D qtpass.desktop -t $out/share/applications
install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
install -D qtpass.1 -t $out/share/man/man1
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "A multi-platform GUI for pass, the standard unix password manager";
homepage = https://qtpass.org;
license = licenses.gpl3;

View File

@ -20,14 +20,14 @@
}:
mkDerivation rec {
version = "0.10.0";
version = "0.10.1";
pname = "syncthingtray";
src = fetchFromGitHub {
owner = "Martchus";
repo = "syncthingtray";
rev = "v${version}";
sha256 = "18h6z6baaiyr0wr7kyz6ysg45zb12550m63j3vqiap4hfrrwhly5";
sha256 = "107w6dlr1m5g60j342p2b6ipfn1r8kyad8av58nh8ibzycghbfv2";
};
buildInputs = [ qtbase cpp-utilities qtutilities ]

View File

@ -10,11 +10,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "zathura-core";
version = "0.4.3";
version = "0.4.4";
src = fetchurl {
url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz";
sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky";
url = "https://git.pwmt.org/pwmt/zathura/-/archive/${version}/zathura-${version}.tar.gz";
sha256 = "0v5klgr009rsxi41h73k0398jbgmgh37asvwz2w15i4fzmw89jgb";
};
outputs = [ "bin" "man" "dev" "out" ];
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = {
homepage = https://pwmt.org/projects/zathura/;
homepage = "https://git.pwmt.org/pwmt/zathura";
description = "A core component for zathura PDF viewer";
license = licenses.zlib;
platforms = platforms.unix;

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "ephemeral";
version = "5.3.0";
version = "5.4.0";
src = fetchFromGitHub {
owner = "cassidyjames";
repo = "ephemeral";
rev = version;
sha256 = "1xglhv4rpl6vqryvliyvr9y8mqli4x4bjcfjsl1v8gdxkzkwfy39";
sha256 = "1bl5x79nvzq49azcghc2sx9l709524zixh7py8ddccfnhrq641w8";
};
nativeBuildInputs = [

View File

@ -17,10 +17,10 @@ rec {
firefox = common rec {
pname = "firefox";
ffversion = "69.0.1";
ffversion = "69.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "0zvjwn17accmp9m55a9s12mw3cflsplysizfrpa3hy02na20w39g974d42fmxpk4zq4zqy4m17v2rpibibb0g7giy9rywndhaw3xrl9";
sha512 = "2ag1syrvlkch7vl151hkq8abf86p9v6b6gmgcbh26b8wfva1p1ss1x09h4w50zmcc6jq4q5mcxgf1sd9zna552jl90k1y4rqvrrzwl6";
};
patches = [

View File

@ -36,60 +36,14 @@
, systemd
, at-spi2-atk
, at-spi2-core
, autoPatchelfHook
, wrapGAppsHook
}:
let
mirror = "https://get.geo.opera.com/pub/opera/desktop";
rpath = lib.makeLibraryPath [
# These provide shared libraries loaded when starting. If one is missing,
# an error is shown in stderr.
alsaLib.out
atk.out
cairo.out
cups
curl.out
dbus.lib
expat.out
fontconfig.lib
freetype.out
gdk-pixbuf.out
glib.out
gnome2.GConf
gtk3.out
libX11.out
libXScrnSaver.out
libXcomposite.out
libXcursor.out
libXdamage.out
libXext.out
libXfixes.out
libXi.out
libXrandr.out
libXrender.out
libXtst.out
libxcb.out
libnotify.out
libuuid.out
nspr.out
nss.out
pango.out
stdenv.cc.cc.lib
# This is a little tricky. Without it the app starts then crashes. Then it
# brings up the crash report, which also crashes. `strace -f` hints at a
# missing libudev.so.0.
systemd.lib
# Works fine without this except there is no sound.
libpulseaudio.out
at-spi2-atk
at-spi2-core
];
in stdenv.mkDerivation rec {
pname = "opera";
@ -102,21 +56,61 @@ in stdenv.mkDerivation rec {
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
installPhase = ''
mkdir --parent $out
mv * $out/
mv $out/lib/*/opera/*.so $out/lib/
'';
nativeBuildInputs = [
autoPatchelfHook
wrapGAppsHook
];
postFixup = ''
find $out -executable -type f \
| while read f
do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/lib:${rpath}" \
"$f"
done
buildInputs = [
alsaLib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig.lib
freetype
gdk-pixbuf
glib
gnome2.GConf
gtk3
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libnotify
libuuid
libxcb
nspr
nss
pango
stdenv.cc.cc.lib
];
runtimeDependencies = [
# Works fine without this except there is no sound.
libpulseaudio.out
# This is a little tricky. Without it the app starts then crashes. Then it
# brings up the crash report, which also crashes. `strace -f` hints at a
# missing libudev.so.0.
systemd.lib
];
installPhase = ''
mkdir -p $out
cp -r . $out/
mv $out/lib/*/opera/*.so $out/lib/
'';
meta = with lib; {

View File

@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
let
pdfjs = let
version = "2.1.266";
version = "2.2.228";
in
fetchzip rec {
name = "pdfjs-${version}";
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
sha256 = "1ybbnpz2jcdikzwr7r13lq528vxj3bpms1fqmg3n1zgs30cqpkby";
sha256 = "0yik4vfnz46j844jfw1gq5cshgzry42kpy2d5rr7fbn9fjf98bw6";
stripRoot = false;
};
in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
version = "1.7.0";
version = "1.8.1";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "0wyjmb2qvnw3gn0ypgckwblmn7kasi12dfwp343hi6wscqripw7i";
sha256 = "0ckffbw2zlg0afz4rgyywzdprnqs74va5qj0xqlaqc14ziiypxnw";
};
# Needs tox
@ -108,6 +108,6 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
homepage = https://github.com/The-Compiler/qutebrowser;
description = "Keyboard-focused browser with a minimal GUI";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jagajaga rnhmjoj ];
maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry ];
};
}

View File

@ -1,26 +1,18 @@
{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
, RSupport? true, R
, mesosSupport ? true, mesos
, version
}:
let
sha256 = {
"1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
"2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c";
}.${version};
in
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "spark";
inherit version;
version = "2.4.4";
src = fetchzip {
inherit sha256;
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g";
};
buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]

View File

@ -1,16 +1,16 @@
{ callPackage }:
let
stableVersion = "2.1.21";
previewVersion = "2.2.0rc5";
stableVersion = "2.2.0";
previewVersion = "2.2.0";
addVersion = args:
let version = if args.stable then stableVersion else previewVersion;
branch = if args.stable then "stable" else "preview";
in args // { inherit version branch; };
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
guiSrcHash = "1ydmib302r1cpm2z9pzsfp4ygxrbmskwszsip397n92qx3l9a9v3";
serverSrcHash = "1ahn1xq1f0wx46i0c8idz96dxfbakk37pqi6amy91594mdlp8yr4";
guiSrcHash = "0xghldzk126ly49y7drp241w7c0h9fb0ags9blk0rlq99i72as78";
serverSrcHash = "0iphs0w6r9s85cgd95bh6jd0224ywilrzb7a4jjwi38z7a7id4gk";
in {
guiStable = mkGui {
stable = true;
@ -18,7 +18,7 @@ in {
};
guiPreview = mkGui {
stable = false;
sha256Hash = "0x4sp6yjnvzpk8cxdqlf51njckmvvkijdb7rvcb4hvqq1ab6gb2x";
sha256Hash = guiSrcHash;
};
serverStable = mkServer {
@ -27,6 +27,6 @@ in {
};
serverPreview = mkServer {
stable = false;
sha256Hash = "0inj6fac0683s1sxaba3ljia90cfach0y42xylzgzza36wpyqpqg";
sha256Hash = serverSrcHash;
};
}

Some files were not shown because too many files have changed in this diff Show More