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/). system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined) * [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 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 Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are https://cache.nixos.org/. When successful build and test criteria are

View File

@ -55,20 +55,7 @@
<title>Rebar3</title> <title>Rebar3</title>
<para> <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: 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>.
<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>
</para> </para>
</section> </section>

View File

@ -356,6 +356,16 @@
github = "alunduil"; github = "alunduil";
name = "Alex Brandt"; 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 = { amar1729 = {
email = "amar.paul16@gmail.com"; email = "amar.paul16@gmail.com";
github = "amar1729"; github = "amar1729";
@ -3551,6 +3561,12 @@
github = "Lassulus"; github = "Lassulus";
name = "Lassulus"; name = "Lassulus";
}; };
lattfein = {
email = "lattfein@gmail.com";
github = "lattfein";
githubId = 53550838;
name = "Koki Yasuno";
};
layus = { layus = {
email = "layus.on@gmail.com"; email = "layus.on@gmail.com";
github = "layus"; github = "layus";
@ -3645,6 +3661,12 @@
githubId = 307589; githubId = 307589;
name = "Nathaniel Baxter"; name = "Nathaniel Baxter";
}; };
liff = {
email = "liff@iki.fi";
github = "liff";
githubId = 124475;
name = "Olli Helenius";
};
lightbulbjim = { lightbulbjim = {
email = "chris@killred.net"; email = "chris@killred.net";
github = "lightbulbjim"; github = "lightbulbjim";
@ -4256,6 +4278,15 @@
githubId = 5698461; githubId = 5698461;
name = "Maciej Kazulak"; 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 = { mkg = {
email = "mkg@vt.edu"; email = "mkg@vt.edu";
github = "mkgvt"; github = "mkgvt";
@ -5892,6 +5923,12 @@
githubId = 819413; githubId = 819413;
name = "Benedict Aas"; name = "Benedict Aas";
}; };
shyim = {
email = "s.sayakci@gmail.com";
github = "shyim";
githubId = 6224096;
name = "Soner Sayakci";
};
siddharthist = { siddharthist = {
email = "langston.barrett@gmail.com"; email = "langston.barrett@gmail.com";
github = "langston-barrett"; github = "langston-barrett";

View File

@ -68,3 +68,4 @@ say,,,,,
std__debug,std._debug,,,, std__debug,std._debug,,,,
std_normalize,std.normalize,,,, std_normalize,std.normalize,,,,
stdlib,,,,,vyp 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-from-other-distro.xml" />
<xi:include href="installing-behind-a-proxy.xml" /> <xi:include href="installing-behind-a-proxy.xml" />
<xi:include href="installing-nspawn-container.xml" />
</section> </section>
</chapter> </chapter>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -512,6 +512,12 @@
is set to <literal>/var/lib/gitlab/state</literal>, <literal>gitlab</literal> and all parent directories 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>. must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
</para> </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>
<listitem> <listitem>
<para> <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. Please use the fork <literal>cawbird</literal> instead which has been adapted to the API changes and is still maintained.
</para> </para>
</listitem> </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> </itemizedlist>
</section> </section>
@ -726,12 +748,15 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Coredumps are now acquired by <literal>systemd-coredump</literal> by default. Core dumps are now processed by <literal>systemd-coredump</literal>
<literal>systemd-coredump</literal> behaviour can still be modified via by default. <literal>systemd-coredump</literal> behaviour can
<option>systemd.coredump.extraConfig</option>. still be modified via
To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal> <option>systemd.coredump.extraConfig</option>. To stick to the
in the working directory), without piping it through <literal>systemd-coredump</literal>, set old behaviour (having the kernel dump to a file called
<option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>. <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> </para>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -28,6 +28,14 @@
Postgresql for NixOS service now defaults to v11. Postgresql for NixOS service now defaults to v11.
</para> </para>
</listitem> </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> </itemizedlist>
</section> </section>

View File

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

View File

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

View File

@ -24,7 +24,7 @@ let
# Name appended to menuentry defaults to params if no specific name given. # Name appended to menuentry defaults to params if no specific name given.
option.name or (if option ? params then "(${option.params})" else "") option.name or (if option ? params then "(${option.params})" else "")
}' ${if option ? class then " --class ${option.class}" else ""} { }' ${if option ? class then " --class ${option.class}" else ""} {
linux ${defaults.image} ${defaults.params} ${ linux ${defaults.image} \''${isoboot} ${defaults.params} ${
option.params or "" option.params or ""
} }
initrd ${defaults.initrd} initrd ${defaults.initrd}
@ -268,6 +268,12 @@ let
set timeout=10 set timeout=10
${grubMenuCfg} ${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 # Menu entries
# #
@ -284,6 +290,14 @@ let
${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"} ${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 # Some laptop and convertibles have the panel installed in an
# inconvenient way, rotated away from the keyboard. # inconvenient way, rotated away from the keyboard.
# Those entries makes it easier to use the installer. # Those entries makes it easier to use the installer.
@ -616,6 +630,9 @@ in
{ source = "${efiDir}/EFI"; { source = "${efiDir}/EFI";
target = "/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) [ ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
{ source = "${pkgs.memtest86plus}/memtest.bin"; { source = "${pkgs.memtest86plus}/memtest.bin";
target = "/boot/memtest.bin"; target = "/boot/memtest.bin";

View File

@ -563,6 +563,24 @@ $fsAndSwap
${\join "", (map { " $_\n" } (uniq @attrs))}} ${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF 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) { if ($showHardwareConfig) {
print STDOUT $hwConfig; print STDOUT $hwConfig;
@ -606,6 +624,8 @@ EOF
EOF EOF
} }
my $networkingDhcpConfig = generateNetworkingDhcpConfig();
write_file($fn, <<EOF); write_file($fn, <<EOF);
@configuration@ @configuration@
EOF EOF

View File

@ -132,9 +132,8 @@ if [[ -z $noBootLoader ]]; then
echo "installing the boot loader..." echo "installing the boot loader..."
# Grub needs an mtab. # Grub needs an mtab.
ln -sfn /proc/mounts $mountPoint/etc/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 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 # Ask the user to set a root password, but only if the passwd command
# exists (i.e. when mutable user accounts are enabled). # exists (i.e. when mutable user accounts are enabled).

View File

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

View File

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

View File

@ -98,7 +98,6 @@
./programs/autojump.nix ./programs/autojump.nix
./programs/bash/bash.nix ./programs/bash/bash.nix
./programs/bcc.nix ./programs/bcc.nix
./programs/blcr.nix
./programs/browserpass.nix ./programs/browserpass.nix
./programs/captive-browser.nix ./programs/captive-browser.nix
./programs/ccache.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" "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 [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
(mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages 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 # ZSH
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ]) (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@ -275,6 +274,9 @@ with lib;
(mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ]) (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
(mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ]) (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
# BLCR
(mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
# Redis # Redis
(mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.") (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.") (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") { users.users = optional (cfg.user == "memcached") {
name = "memcached"; name = "memcached";
description = "Memcached server user"; description = "Memcached server user";
isSystemUser = true;
}; };
environment.systemPackages = [ memcached ]; environment.systemPackages = [ memcached ];

View File

@ -12,6 +12,12 @@ in
{ {
imports = [
(mkRemovedOptionModule
["services" "gnome3" "gnome-settings-daemon" "package"]
"")
];
###### interface ###### interface
options = { options = {
@ -20,13 +26,6 @@ in
enable = mkEnableOption "GNOME Settings Daemon"; 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 { 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 = '' description = ''
Path to YAML file that contains tracing configuration. 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. <option>tracing.config-file</option> will default to its path.
If <option>tracing.config-file</option> is set this option has no effect. 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 = '' description = ''
Path to YAML file that contains object store configuration. 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. <option>objstore.config-file</option> will default to its path.
If <option>objstore.config-file</option> is set this option has no effect. 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 '' block-sync-concurrency = mkParamDef types.int 20 ''
Number of goroutines to use when syncing blocks from object storage. 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 // { 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 '' block-sync-concurrency = mkParamDef types.int 20 ''
Number of goroutines to use when syncing block metadata from object storage. Number of goroutines to use when syncing block metadata from object storage.
''; '';

View File

@ -5,11 +5,25 @@ with lib;
let let
cfg = config.networking.networkmanager; 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 = dynamicHostsEnabled =
cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {}; cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {};
delegateWireless = config.networking.wireless.enable == true && cfg.unmanaged != []; delegateWireless = config.networking.wireless.enable == true && cfg.unmanaged != [];
enableIwd = cfg.wifi.backend == "iwd";
# /var/lib/misc is for dnsmasq.leases. # /var/lib/misc is for dnsmasq.leases.
stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
@ -38,6 +52,7 @@ let
[device] [device]
wifi.scan-rand-mac-address=${if cfg.wifi.scanRandMacAddress then "yes" else "no"} wifi.scan-rand-mac-address=${if cfg.wifi.scanRandMacAddress then "yes" else "no"}
wifi.backend=${cfg.wifi.backend}
${cfg.extraConfig} ${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 { packages = mkOption {
type = types.listOf types.path; type = types.listOf types.package;
default = [ ]; default = [ ];
description = '' description = ''
Extra packages that provide NetworkManager plugins. Extra packages that provide NetworkManager plugins.
''; '';
apply = list: (attrValues cfg.basePackages) ++ list; apply = list: basePackages ++ list;
}; };
dhcp = mkOption { dhcp = mkOption {
@ -236,6 +239,15 @@ in {
wifi = { wifi = {
macAddress = macAddressOpt; 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 { powersave = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
@ -390,12 +402,12 @@ in {
{ assertion = !dynamicHostsEnabled || (dynamicHostsEnabled && cfg.dns == "dnsmasq"); { assertion = !dynamicHostsEnabled || (dynamicHostsEnabled && cfg.dns == "dnsmasq");
message = '' message = ''
To use networking.networkmanager.dynamicHosts you also need to set 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; { source = configFile;
target = "NetworkManager/NetworkManager.conf"; target = "NetworkManager/NetworkManager.conf";
} }
@ -510,6 +522,8 @@ in {
wireless.enable = mkDefault false; wireless.enable = mkDefault false;
}) // (mkIf cfg.enableStrongSwan { }) // (mkIf cfg.enableStrongSwan {
networkmanager.packages = [ pkgs.networkmanager_strongswan ]; networkmanager.packages = [ pkgs.networkmanager_strongswan ];
}) // (mkIf enableIwd {
wireless.iwd.enable = true;
}); });
security.polkit.extraConfig = polkitConf; security.polkit.extraConfig = polkitConf;

View File

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

View File

@ -14,6 +14,15 @@ in {
options.services.documize = { options.services.documize = {
enable = mkEnableOption "Documize Wiki"; 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 { package = mkOption {
type = types.package; type = types.package;
default = pkgs.documize-community; default = pkgs.documize-community;
@ -132,6 +141,8 @@ in {
]; ];
Restart = "always"; Restart = "always";
DynamicUser = "yes"; 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") (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)} (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 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 cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
[org.gnome.desktop.background] [org.gnome.desktop.background]
@ -209,14 +211,6 @@ in
networking.networkmanager.enable = mkDefault true; 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; services.xserver.updateDbusEnvironment = true;
# Needed for themes and backgrounds # Needed for themes and backgrounds
@ -238,22 +232,7 @@ in
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.telepathy.enable = mkDefault true; services.telepathy.enable = mkDefault true;
systemd.packages = with pkgs.gnome3; [ vino gnome-session gnome-settings-daemon ]; systemd.packages = with pkgs.gnome3; [ vino gnome-session ];
# 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"
];
services.avahi.enable = mkDefault true; services.avahi.enable = mkDefault true;

View File

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

View File

@ -109,8 +109,9 @@ in
services.pantheon.files.enable = mkDefault true; services.pantheon.files.enable = mkDefault true;
services.tumbler.enable = mkDefault true; services.tumbler.enable = mkDefault true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.dbus.packages = [ services.dbus.packages = with pkgs.pantheon; [
pkgs.pantheon.switchboard-plug-power switchboard-plug-power
elementary-default-settings
]; ];
services.pantheon.contractor.enable = mkDefault true; services.pantheon.contractor.enable = mkDefault true;
services.gnome3.at-spi2-core.enable = 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 # 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-keyring.enable = true;
services.gnome3.gnome-settings-daemon.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.gvfs.enable = true;
services.gnome3.rygel.enable = mkDefault true; services.gnome3.rygel.enable = mkDefault true;
services.gsignond.enable = mkDefault true; services.gsignond.enable = mkDefault true;
@ -154,11 +155,6 @@ in
qt5.style = "adwaita"; qt5.style = "adwaita";
networking.networkmanager.enable = mkDefault true; 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 # Override GSettings schemas
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/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 ++ optional config.powerManagement.enable xfce4-power-manager
++ optionals config.hardware.pulseaudio.enable [ ++ optionals config.hardware.pulseaudio.enable [
pavucontrol 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 [ ] ++ optionals cfg.enableXfwm [
xfwm4 xfwm4
xfwm4-themes xfwm4-themes
@ -108,14 +112,6 @@ in
"/share/gtksourceview-4.0" "/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 = [{ services.xserver.desktopManager.session = [{
name = "xfce4-14"; name = "xfce4-14";
bgSupport = true; bgSupport = true;

View File

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

View File

@ -184,14 +184,7 @@ in
find /var/empty -mindepth 1 -delete find /var/empty -mindepth 1 -delete
chmod 0555 /var/empty chmod 0555 /var/empty
chown root:root /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 ${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
''}
''; '';
system.activationScripts.usrbinenv = if config.environment.usrbinenv != null system.activationScripts.usrbinenv = if config.environment.usrbinenv != null

View File

@ -183,6 +183,12 @@ for o in $(cat /proc/cmdline); do
copytoram) copytoram)
copytoram=1 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 esac
done done
@ -442,6 +448,27 @@ if test -e /sys/power/resume -a -e /sys/power/disk; then
fi fi
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. # Try to find and mount the root device.
mkdir -p $targetRoot 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 { systemd.coredump.extraConfig = mkOption {
default = ""; default = "";
type = types.lines; type = types.lines;
@ -983,6 +993,10 @@ in
# Don't bother with certain units in containers. # Don't bother with certain units in containers.
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container"; systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
systemd.services.systemd-random-seed.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. # FIXME: Remove these eventually.

View File

@ -38,6 +38,12 @@ in
} { } {
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null; assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
message = "networking.defaultGateway6.interface is not supported by networkd."; 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, ... }: { } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp; assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd."; message = "networking.bridges.${n}.rstp is not supported by networkd.";
@ -56,9 +62,7 @@ in
genericNetwork = override: genericNetwork = override:
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address; ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
in { in optionalAttrs (gateway != [ ]) {
DHCP = override (dhcpStr cfg.useDHCP);
} // optionalAttrs (gateway != [ ]) {
routes = override [ routes = override [
{ {
routeConfig = { routeConfig = {
@ -97,7 +101,7 @@ in
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) { networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
name = mkDefault i.name; name = mkDefault i.name;
DHCP = mkForce (dhcpStr 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) address = forEach (interfaceIps i)
(ip: "${ip.address}/${toString ip.prefixLength}"); (ip: "${ip.address}/${toString ip.prefixLength}");
networkConfig.IPv6PrivacyExtensions = "kernel"; networkConfig.IPv6PrivacyExtensions = "kernel";

View File

@ -903,6 +903,11 @@ in
Whether to use DHCP to obtain an IP address and other Whether to use DHCP to obtain an IP address and other
configuration for all network interfaces that are not manually configuration for all network interfaces that are not manually
configured. 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; services.udisks2.enable = mkDefault false;
powerManagement.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. # Containers should be light-weight, so start sshd on demand.
services.openssh.startWhenNeeded = mkDefault true; services.openssh.startWhenNeeded = mkDefault true;

View File

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

View File

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

View File

@ -72,6 +72,7 @@ let
testCases = { testCases = {
loopback = { loopback = {
name = "Loopback"; name = "Loopback";
machine.networking.useDHCP = false;
machine.networking.useNetworkd = networkd; machine.networking.useNetworkd = networkd;
testScript = '' testScript = ''
startAll; startAll;
@ -139,14 +140,16 @@ let
virtualisation.vlans = [ 1 2 ]; virtualisation.vlans = [ 1 2 ];
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
useDHCP = true; useDHCP = false;
interfaces.eth1 = { interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ]; ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ]; ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
}; };
interfaces.eth2 = { interfaces.eth2 = {
ipv4.addresses = mkOverride 0 [ ]; ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ]; ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
}; };
}; };
}; };
@ -320,13 +323,19 @@ let
virtualisation.vlans = [ 1 ]; virtualisation.vlans = [ 1 ];
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
useDHCP = false;
firewall.logReversePathDrops = true; # to debug firewall rules firewall.logReversePathDrops = true; # to debug firewall rules
# reverse path filtering rules for the macvlan interface seem # reverse path filtering rules for the macvlan interface seem
# to be incorrect, causing the test to fail. Disable temporarily. # to be incorrect, causing the test to fail. Disable temporarily.
firewall.checkReversePath = false; firewall.checkReversePath = false;
useDHCP = true;
macvlans.macvlan.interface = "eth1"; macvlans.macvlan.interface = "eth1";
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ]; interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
useDHCP = true;
};
interfaces.macvlan = {
useDHCP = true;
};
}; };
}; };
testScript = { ... }: testScript = { ... }:
@ -440,6 +449,7 @@ let
virtual = { virtual = {
name = "Virtual"; name = "Virtual";
machine = { machine = {
networking.useNetworkd = networkd;
networking.interfaces.tap0 = { networking.interfaces.tap0 = {
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ]; ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ]; ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
@ -489,6 +499,7 @@ let
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
useDHCP = false;
interfaces.eth1.ipv6.addresses = singleton { interfaces.eth1.ipv6.addresses = singleton {
address = "fd00:1234:5678:1::1"; address = "fd00:1234:5678:1::1";
prefixLength = 64; prefixLength = 64;
@ -514,11 +525,12 @@ let
virtualisation.vlans = [ 1 ]; virtualisation.vlans = [ 1 ];
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
useDHCP = true; useDHCP = false;
interfaces.eth1 = { interfaces.eth1 = {
preferTempAddress = true; preferTempAddress = true;
ipv4.addresses = mkOverride 0 [ ]; ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ]; ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
}; };
}; };
}; };
@ -526,11 +538,12 @@ let
virtualisation.vlans = [ 1 ]; virtualisation.vlans = [ 1 ];
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
useDHCP = true; useDHCP = false;
interfaces.eth1 = { interfaces.eth1 = {
preferTempAddress = false; preferTempAddress = false;
ipv4.addresses = mkOverride 0 [ ]; ipv4.addresses = mkOverride 0 [ ];
ipv6.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.usePredictableInterfaceNames = lib.mkForce predictable;
networking.useNetworkd = withNetworkd; networking.useNetworkd = withNetworkd;
networking.dhcpcd.enable = !withNetworkd; networking.dhcpcd.enable = !withNetworkd;
networking.useDHCP = !withNetworkd;
}; };
testScript = '' 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 ]; imports = [ common/user-account.nix ];
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
networking.useNetworkd = true; networking.useNetworkd = true;
networking.useDHCP = false;
networking.firewall.enable = false; networking.firewall.enable = false;
virtualisation.vlans = [ 1 ]; virtualisation.vlans = [ 1 ];
environment.systemPackages = with pkgs; [ wireguard-tools ]; environment.systemPackages = with pkgs; [ wireguard-tools ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "flacon"; pname = "flacon";
version = "5.4.0"; version = "5.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "flacon"; owner = "flacon";
repo = "flacon"; repo = "flacon";
rev = "v${version}"; rev = "v${version}";
sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93"; sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd";
}; };
nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; 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 { stdenv.mkDerivation rec {
pname = "kid3"; pname = "kid3";
version = "3.7.1"; version = "3.8.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz"; url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8"; sha256 = "1a6ixkkdp1fl3arylx06w73mwf26i0ibyplwwcn2kw5xsfxmbjp6";
}; };
nativeBuildInputs = [ wrapQtAppsHook ]; nativeBuildInputs = [ wrapQtAppsHook ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,10 +13,10 @@ assert stdenv ? glibc;
let let
platform_major = "4"; platform_major = "4";
platform_minor = "12"; platform_minor = "13";
year = "2019"; year = "2019";
month = "06"; month = "09";
timestamp = "201906051800"; timestamp = "201909161045";
in rec { in rec {
@ -34,7 +34,7 @@ in rec {
src = src =
fetchurl { 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"; 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 = src =
fetchurl { 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"; 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 = src =
fetchurl { 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"; 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 = src =
fetchurl { 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"; 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 = src =
fetchurl { 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"; 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 { cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}"; name = "cdt-${version}";
version = "9.8.1"; version = "9.9.0";
src = fetchzip { src = fetchzip {
stripRoot = false; stripRoot = false;
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.8/${name}/${name}.zip"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.9/${name}/${name}.zip";
sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv"; sha256 = "1vgx7ggilfwmx0bjrhk7mwlwg1c8lb141ilj3vzwxivlffihy054";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -474,12 +474,12 @@ rec {
jdt = buildEclipseUpdateSite rec { jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}"; name = "jdt-${version}";
version = "4.12"; version = "4.13";
src = fetchzip { src = fetchzip {
stripRoot = false; 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; 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 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb"; sha256 = "0sfpxph0cszcx1cihzzjn60qid8sxgl2xyr9x46fld4ian5a7vbr";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

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

View File

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

View File

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

View File

@ -79,9 +79,11 @@ in
cmakeFlags = [ cmakeFlags = [
"-DGPERF_PRG=${gperf}/bin/gperf" "-DGPERF_PRG=${gperf}/bin/gperf"
"-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
"-DLUA_PRG=${neovimLuaEnv.interpreter}" "-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 doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON" ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
; ;

View File

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

View File

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

View File

@ -14,8 +14,14 @@ let
x86_64-linux = "15m7mfb8gmx3pwydc37blj0rxwgmkrnqfj6y79rpqlr2dg92gwlb"; x86_64-linux = "15m7mfb8gmx3pwydc37blj0rxwgmkrnqfj6y79rpqlr2dg92gwlb";
x86_64-darwin = "080k4fnfa5ylmmya6zprgci3gld9mrbqsfnk53hgcny91ykl5xj5"; x86_64-darwin = "080k4fnfa5ylmmya6zprgci3gld9mrbqsfnk53hgcny91ykl5xj5";
}.${system}; }.${system};
sourceRoot = {
x86_64-linux = ".";
x86_64-darwin = "";
}.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
inherit sourceRoot;
version = "1.38.1"; version = "1.38.1";
pname = "vscodium"; pname = "vscodium";
@ -29,8 +35,6 @@ in
inherit sha256; inherit sha256;
}; };
sourceRoot = ".";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = '' description = ''
Open source source code editor developed by Microsoft for Windows, 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 , qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql
, txt2tags, openssl, libzip, hdf5, netcdf, exiv2 , txt2tags, openssl, libzip, hdf5, netcdf, exiv2
, qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns , qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns
@ -9,8 +9,8 @@ let
pythonBuildInputs = with python3Packages; pythonBuildInputs = with python3Packages;
[ qscintilla-qt5 gdal jinja2 numpy psycopg2 [ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ]; chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec { in mkDerivation rec {
version = "3.8.0"; version = "3.8.3";
pname = "qgis"; pname = "qgis";
name = "${pname}-unwrapped-${version}"; name = "${pname}-unwrapped-${version}";
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings ["."] ["_"] version}"; rev = "final-${lib.replaceStrings ["."] ["_"] version}";
sha256 = "11jqj6lavpw9piv0rm8vvbgd99zhcxl6yfjg699wlrjlyf71xac5"; sha256 = "16axjih48qn8ri3p71d8f7k0y3rd05wghmg1fcbyda871b45b2f8";
}; };
passthru = { passthru = {
@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2 buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2
fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf
qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++ 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 ]; nativeBuildInputs = [ cmake flex bison ninja ];
@ -45,13 +45,13 @@ in stdenv.mkDerivation rec {
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF"
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
"-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/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 = { meta = {
description = "A Free and Open Source Geographic Information System"; description = "A Free and Open Source Geographic Information System";
homepage = http://www.qgis.org; homepage = http://www.qgis.org;
license = stdenv.lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; linux; platforms = with lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ lsix ]; maintainers = with lib.maintainers; [ lsix ];
}; };
} }

View File

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

View File

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

View File

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

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cbatticon"; pname = "cbatticon";
version = "1.6.9"; version = "1.6.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "valr"; owner = "valr";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"; sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
}; };
nativeBuildInputs = [ pkgconfig gettext ]; 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; { meta = with stdenv.lib; {
description = "Simulates the falling characters theme from The Matrix movie"; description = "Simulates the falling characters theme from The Matrix movie";
license = licenses.gpl3;
longDescription = '' longDescription = ''
CMatrix simulates the display from "The Matrix" and is based CMatrix simulates the display from "The Matrix" and is based
on the screensaver from the movie's website. on the screensaver from the movie's website.

View File

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

View File

@ -1,20 +1,26 @@
{stdenv, fetchFromGitHub, python3}: {stdenv, fetchFromGitHub, python3}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.6"; version = "1.7";
pname = "ddgr"; pname = "ddgr";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "ddgr"; repo = "ddgr";
rev = "v${version}"; rev = "v${version}";
sha256 = "04ybbjsf9hpn2p5cjjm15cwvv0mwrmdi19iifrym6ps3rmll0p3c"; sha256 = "0kcl8z9w8iwn3pxay1pfahhw6vs2l1dp60yfv3i19in4ac9va7m0";
}; };
buildInputs = [ python3 ]; buildInputs = [ python3 ];
makeFlags = "PREFIX=$(out)"; 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 = '' postInstall = ''
mkdir -p "$out/share/bash-completion/completions/" mkdir -p "$out/share/bash-completion/completions/"
cp "auto-completion/bash/ddgr-completion.bash" "$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, pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
}: }:
@ -42,6 +42,15 @@ stdenv.mkDerivation rec {
"-Ddisable_pycompile=true" "-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 = '' postPatch = ''
chmod +x meson_post_install.py chmod +x meson_post_install.py
patchShebangs 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. Font Manager is NOT a professional-grade font management solution.
''; '';
license = licenses.gpl3; license = licenses.gpl3;
repositories.git = https://github.com/FontManager/master;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.romildo ]; 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 { stdenv.mkDerivation rec {
pname = "girara"; pname = "girara";
version = "0.3.2"; version = "0.3.3";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz"; url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"; sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
}; };
nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ]; nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://pwmt.org/projects/girara/; homepage = "https://git.pwmt.org/pwmt/girara";
description = "User interface library"; description = "User interface library";
longDescription = '' longDescription = ''
girara is a library that implements a GTK based VIM-like user interface 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; { meta = with stdenv.lib; {
description = "A set of tools for configuring the Logitech G15 keyboard"; 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; license = licenses.gpl3;
homepage = https://gnome15.org/; homepage = https://gnome15.org/;
platforms = platforms.linux; platforms = platforms.linux;

View File

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

View File

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

View File

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

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jgmenu"; pname = "jgmenu";
version = "3.3"; version = "3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "johanmalm"; owner = "johanmalm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l"; sha256 = "1cikndf71wi17qld3rwp38gk0q7zic707zzz0mr7cgn86dc4if3d";
}; };
nativeBuildInputs = [ 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 = [ nativeBuildInputs = [
cmake ninja pkgconfig jre swig wrapGAppsHook cmake ninja pkgconfig jre swig wrapGAppsHook
]; ];

View File

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

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee { stdenv, fetchFromGitHub, cmake, pkgconfig, vala, gtk3, libgee, fetchpatch
, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection }: , poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${product}-${version}"; name = "${product}-${version}";
@ -17,16 +17,20 @@ stdenv.mkDerivation rec {
cmake pkgconfig vala cmake pkgconfig vala
# For setup hook # For setup hook
gobject-introspection gobject-introspection
wrapGAppsHook
]; ];
buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
libpthreadstubs makeWrapper librsvg pcre ]; libpthreadstubs librsvg pcre ];
cmakeFlags = stdenv.lib.optionalString stdenv.isDarwin "-DMOVIES=OFF"; cmakeFlags = stdenv.lib.optionalString stdenv.isDarwin "-DMOVIES=OFF";
postInstall = '' patches = [
wrapProgram $out/bin/pdfpc \ # Fix build vala 0.46
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" (fetchpatch {
''; url = "https://github.com/pdfpc/pdfpc/commit/bbc16b97ecbdcdd22c2dc827a5c0e8b569073312.patch";
sha256 = "0wi1rqcvg65cxnxvmvavcvghqyksnpijq1p91m57jaby3hb0pdcy";
})
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A presenter console with multi-monitor support for PDF files"; 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 { mkDerivation rec {
pname = "qmapshack"; pname = "qmapshack";
version = "1.13.1"; version = "1.13.2";
src = fetchurl { src = fetchFromGitHub {
url = "https://bitbucket.org/maproom/qmapshack/downloads/${pname}-${version}.tar.gz"; owner = "Maproom";
sha256 = "15x1b2q0hr1vx006f9hjc4cvfjvxvfdwybw32qvczdyc3crq0mc9"; 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 ]; nativeBuildInputs = [ cmake ];
@ -22,21 +28,15 @@ mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
patches = [ patches = [
(fetchpatch { "${src}/FindPROJ4.patch"
url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindPROJ4.patch"; "${src}/FindQuaZip5.patch"
sha256 = "1nx4ax233bnnj478cmjpm5c1qqmyn1navlihf10q6hhbanay9n99";
})
(fetchpatch {
url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindQuaZip5.patch";
sha256 = "0z1b2dz2zlz685mxgn8bmh1fyhxpf6dzd6jvkkjyk2kvnrdxv3b9";
})
]; ];
meta = with lib; { meta = with lib; {
homepage = https://bitbucket.org/maproom/qmapshack/wiki/Home; homepage = https://github.com/Maproom/qmapshack;
description = "Plan your next outdoor trip"; description = "Consumer grade GIS software";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ dotlambda ]; maintainers = with maintainers; [ dotlambda sikmir ];
platforms = with platforms; linux; platforms = with platforms; linux;
}; };
} }

View File

@ -1,43 +1,41 @@
{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch { lib, mkDerivation, fetchFromGitHub
, git, gnupg, pass, qtbase, qtsvg, qttools, qmake , git, gnupg, pass, pwgen
, qtbase, qtsvg, qttools, qmake
}: }:
mkDerivation rec { mkDerivation rec {
pname = "qtpass"; pname = "qtpass";
version = "1.3.0"; version = "1.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "IJHack"; owner = "IJHack";
repo = "QtPass"; repo = "QtPass";
rev = "v${version}"; rev = "v${version}";
sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv"; sha256 = "025sdk4fq71jgfs54zj7ssgvlci8vvjkqdckgbwz0nqrynlljy08";
}; };
buildInputs = [ git gnupg pass qtbase qtsvg qttools ]; buildInputs = [ git gnupg pass qtbase qtsvg ];
nativeBuildInputs = [ qmake ]; nativeBuildInputs = [ qmake qttools ];
# 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";
})
];
enableParallelBuilding = true; enableParallelBuilding = true;
qmakeFlags = [
# setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
"QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
];
qtWrapperArgs = [ qtWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}" "--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}"
]; ];
postInstall = '' 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 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"; description = "A multi-platform GUI for pass, the standard unix password manager";
homepage = https://qtpass.org; homepage = https://qtpass.org;
license = licenses.gpl3; license = licenses.gpl3;

View File

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

View File

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

View File

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

View File

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

View File

@ -36,60 +36,14 @@
, systemd , systemd
, at-spi2-atk , at-spi2-atk
, at-spi2-core , at-spi2-core
, autoPatchelfHook
, wrapGAppsHook
}: }:
let let
mirror = "https://get.geo.opera.com/pub/opera/desktop"; 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 { in stdenv.mkDerivation rec {
pname = "opera"; pname = "opera";
@ -102,21 +56,61 @@ in stdenv.mkDerivation rec {
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
installPhase = '' nativeBuildInputs = [
mkdir --parent $out autoPatchelfHook
mv * $out/ wrapGAppsHook
mv $out/lib/*/opera/*.so $out/lib/ ];
'';
postFixup = '' buildInputs = [
find $out -executable -type f \ alsaLib
| while read f at-spi2-atk
do at-spi2-core
patchelf \ atk
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ cairo
--set-rpath "$out/lib:${rpath}" \ cups
"$f" curl
done 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; { meta = with lib; {

View File

@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
let let
pdfjs = let pdfjs = let
version = "2.1.266"; version = "2.2.228";
in in
fetchzip rec { fetchzip rec {
name = "pdfjs-${version}"; name = "pdfjs-${version}";
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
sha256 = "1ybbnpz2jcdikzwr7r13lq528vxj3bpms1fqmg3n1zgs30cqpkby"; sha256 = "0yik4vfnz46j844jfw1gq5cshgzry42kpy2d5rr7fbn9fjf98bw6";
stripRoot = false; stripRoot = false;
}; };
in mkDerivationWith python3Packages.buildPythonApplication rec { in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser"; pname = "qutebrowser";
version = "1.7.0"; version = "1.8.1";
# the release tarballs are different from the git checkout! # the release tarballs are different from the git checkout!
src = fetchurl { src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "0wyjmb2qvnw3gn0ypgckwblmn7kasi12dfwp343hi6wscqripw7i"; sha256 = "0ckffbw2zlg0afz4rgyywzdprnqs74va5qj0xqlaqc14ziiypxnw";
}; };
# Needs tox # Needs tox
@ -108,6 +108,6 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
homepage = https://github.com/The-Compiler/qutebrowser; homepage = https://github.com/The-Compiler/qutebrowser;
description = "Keyboard-focused browser with a minimal GUI"; description = "Keyboard-focused browser with a minimal GUI";
license = licenses.gpl3Plus; 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 { stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
, RSupport? true, R , RSupport? true, R
, mesosSupport ? true, mesos , mesosSupport ? true, mesos
, version
}: }:
let
sha256 = {
"1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
"2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c";
}.${version};
in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "spark"; pname = "spark";
inherit version; version = "2.4.4";
src = fetchzip { src = fetchzip {
inherit sha256;
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g";
}; };
buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ] buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]

View File

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

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