Merge master into staging-next
This commit is contained in:
commit
a0c34f54cc
@ -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
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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";
|
||||||
|
@ -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,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>
|
|
@ -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>
|
||||||
|
@ -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, you’re automatically subscribed to the NixOS
|
When you first install NixOS, you’re 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 you’re
|
<literal>nixos-19.09</literal> channel. To see which NixOS channel you’re
|
||||||
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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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.<name>.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>
|
||||||
|
|
||||||
@ -717,7 +739,7 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
This also configures the kernel to pass coredumps to <literal>systemd-coredump</literal>,
|
This also configures the kernel to pass core dumps to <literal>systemd-coredump</literal>,
|
||||||
and restricts the SysRq key combinations to the sync command only.
|
and restricts the SysRq key combinations to the sync command only.
|
||||||
These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
|
These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
|
||||||
and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
|
and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
|
||||||
@ -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>
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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))}"'';
|
||||||
|
@ -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;
|
||||||
|
@ -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";
|
||||||
|
@ -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
|
||||||
|
@ -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).
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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 ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -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.")
|
||||||
|
@ -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 ];
|
||||||
|
@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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.
|
||||||
'';
|
'';
|
||||||
|
@ -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;
|
||||||
|
@ -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 = {
|
|
||||||
groups.zeronet.gid = config.ids.gids.zeronet;
|
|
||||||
|
|
||||||
users.zeronet = {
|
|
||||||
description = "zeronet service user";
|
|
||||||
home = cfg.dataDir;
|
|
||||||
createHome = true;
|
|
||||||
group = "zeronet";
|
|
||||||
extraGroups = mkIf cfg.tor [ "tor" ];
|
|
||||||
uid = config.ids.uids.zeronet;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(mkRemovedOptionModule [ "services" "zeronet" "dataDir" ] "Zeronet will store data by default in /var/lib/zeronet")
|
||||||
|
(mkRemovedOptionModule [ "services" "zeronet" "logDir" ] "Zeronet will log by default in /var/lib/zeronet")
|
||||||
|
];
|
||||||
|
|
||||||
meta.maintainers = with maintainers; [ chiiruno ];
|
meta.maintainers = with maintainers; [ chiiruno ];
|
||||||
}
|
}
|
||||||
|
@ -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}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
|
@ -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 ];
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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";
|
||||||
|
@ -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.<name>.useDHCP</option> instead
|
||||||
|
and set this to false.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -824,5 +824,12 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.nixos-container ];
|
environment.systemPackages = [ pkgs.nixos-container ];
|
||||||
|
|
||||||
|
boot.kernelModules = [
|
||||||
|
"bridge"
|
||||||
|
"macvlan"
|
||||||
|
"tap"
|
||||||
|
"tun"
|
||||||
|
];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -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 {};
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -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 = ''
|
||||||
|
@ -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}");
|
|
||||||
'';
|
|
||||||
})
|
|
@ -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 ];
|
||||||
|
@ -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 ];
|
||||||
|
44
pkgs/applications/audio/friture/default.nix
Normal file
44
pkgs/applications/audio/friture/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
13
pkgs/applications/audio/friture/factorial.patch
Normal file
13
pkgs/applications/audio/friture/factorial.patch
Normal 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
|
||||||
|
|
@ -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 ];
|
||||||
|
@ -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 = ".";
|
||||||
|
|
||||||
|
@ -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 ];
|
||||||
|
@ -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 ];
|
||||||
|
@ -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";
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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; {
|
||||||
|
@ -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 ];
|
||||||
|
@ -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 ];
|
||||||
|
@ -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;
|
||||||
|
@ -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"
|
||||||
;
|
;
|
||||||
|
@ -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";
|
||||||
} {};
|
} {};
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
@ -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 ];
|
||||||
|
57
pkgs/applications/misc/cipher/default.nix
Normal file
57
pkgs/applications/misc/cipher/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -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.
|
||||||
|
@ -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 = ''
|
||||||
|
@ -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/"
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
|
70
pkgs/applications/misc/formatter/default.nix
Normal file
70
pkgs/applications/misc/formatter/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
53
pkgs/applications/misc/formatter/fix-paths.patch
Normal file
53
pkgs/applications/misc/formatter/fix-paths.patch
Normal 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;
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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 ];
|
||||||
|
@ -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;
|
||||||
|
@ -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 = [
|
||||||
|
@ -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 = [
|
||||||
|
@ -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
|
||||||
];
|
];
|
||||||
|
@ -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; {
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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 ]
|
||||||
|
@ -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;
|
||||||
|
@ -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 = [
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -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 = [
|
||||||
|
@ -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; {
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ]
|
||||||
|
@ -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
Loading…
Reference in New Issue
Block a user