mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
Merge branch 'staging' into make-perl-pathd
This commit is contained in:
commit
fed7914539
@ -303,11 +303,15 @@ with import <nixpkgs> {};
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "rust-env";
|
||||
buildInputs = [
|
||||
nativeBuildInputs = [
|
||||
rustc cargo
|
||||
|
||||
# Example Additional Dependencies
|
||||
pkgconfig openssl
|
||||
# Example Build-time Additional Dependencies
|
||||
pkgconfig
|
||||
];
|
||||
buildInputs = [
|
||||
# Example Run-time Additional Dependencies
|
||||
openssl
|
||||
];
|
||||
|
||||
# Set Environment Variables
|
||||
|
@ -2500,17 +2500,17 @@ addEnvHooks "$hostOffset" myBashFunction
|
||||
<listitem>
|
||||
<para>
|
||||
This hook will make a build pause instead of stopping when a failure
|
||||
happen. It prevents nix to cleanup the build environment immediatly and
|
||||
happens. It prevents nix from cleaning up the build environment immediately and
|
||||
allows the user to attach to a build environment using the
|
||||
<command>cntr</command> command. On build error it will print the
|
||||
instruction that are neccessary for <command>cntr</command>. Installing
|
||||
<command>cntr</command> command. Upon build error it will print
|
||||
instructions on how to use <command>cntr</command>. Installing
|
||||
cntr and running the command will provide shell access to the build
|
||||
sandbox of failed build. At <filename>/var/lib/cntr</filename> the
|
||||
sandbox filesystem is mounted. All commands and files of the system are
|
||||
sandboxed filesystem is mounted. All commands and files of the system are
|
||||
still accessible within the shell. To execute commands from the sandbox
|
||||
use the cntr exec subcommand. Note that <command>cntr</command> also
|
||||
needs to be executed on the machine that is doing the build, which might
|
||||
be not the case when remote builders are enabled.
|
||||
not be the case when remote builders are enabled.
|
||||
<command>cntr</command> is only supported on Linux-based platforms. To
|
||||
use it first add <literal>cntr</literal> to your
|
||||
<literal>environment.systemPackages</literal> on NixOS or alternatively to
|
||||
|
@ -94,6 +94,15 @@ rec {
|
||||
attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs);
|
||||
|
||||
|
||||
/* Given a set of attribute names, return the set of the corresponding
|
||||
attributes from the given set.
|
||||
|
||||
Example:
|
||||
getAttrs [ "a" "b" ] { a = 1; b = 2; c = 3; }
|
||||
=> { a = 1; b = 2; }
|
||||
*/
|
||||
getAttrs = names: attrs: genAttrs names (name: attrs.${name});
|
||||
|
||||
/* Collect each attribute named `attr' from a list of attribute
|
||||
sets. Sets that don't contain the named attribute are ignored.
|
||||
|
||||
|
@ -61,10 +61,10 @@ let
|
||||
boolToString mergeAttrs flip mapNullable inNixShell min max
|
||||
importJSON warn info nixpkgsVersion version mod compare
|
||||
splitByAndCompare functionArgs setFunctionArgs isFunction;
|
||||
inherit (fixedPoints) fix fix' extends composeExtensions
|
||||
inherit (fixedPoints) fix fix' converge extends composeExtensions
|
||||
makeExtensible makeExtensibleWithCustomName;
|
||||
inherit (attrsets) attrByPath hasAttrByPath setAttrByPath
|
||||
getAttrFromPath attrVals attrValues catAttrs filterAttrs
|
||||
getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs
|
||||
filterAttrsRecursive foldAttrs collect nameValuePair mapAttrs
|
||||
mapAttrs' mapAttrsToList mapAttrsRecursive mapAttrsRecursiveCond
|
||||
genAttrs isDerivation toDerivation optionalAttrs
|
||||
|
@ -24,6 +24,16 @@ rec {
|
||||
# for a concrete example.
|
||||
fix' = f: let x = f x // { __unfix__ = f; }; in x;
|
||||
|
||||
# Return the fixpoint that `f` converges to when called recursively, starting
|
||||
# with the input `x`.
|
||||
#
|
||||
# nix-repl> converge (x: x / 2) 16
|
||||
# 0
|
||||
converge = f: x:
|
||||
if (f x) == x
|
||||
then x
|
||||
else converge f (f x);
|
||||
|
||||
# Modify the contents of an explicitly recursive attribute set in a way that
|
||||
# honors `self`-references. This is accomplished with a function
|
||||
#
|
||||
|
@ -505,6 +505,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
free = false;
|
||||
};
|
||||
|
||||
nasa13 = spdx {
|
||||
spdxId = "NASA-1.3";
|
||||
fullName = "NASA Open Source Agreement 1.3";
|
||||
free = false;
|
||||
};
|
||||
|
||||
ncsa = spdx {
|
||||
spdxId = "NCSA";
|
||||
fullName = "University of Illinois/NCSA Open Source License";
|
||||
|
@ -98,7 +98,7 @@ rec {
|
||||
in
|
||||
if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name &&
|
||||
(final.parsed.cpu.name == pkgs.stdenv.hostPlatform.parsed.cpu.name ||
|
||||
(final.platform.isi686 && pkgs.stdenv.hostPlatform.isx86_64))
|
||||
(final.isi686 && pkgs.stdenv.hostPlatform.isx86_64))
|
||||
then pkgs.runtimeShell
|
||||
else if final.isWindows
|
||||
then "${wine}/bin/${wine-name}"
|
||||
|
@ -401,6 +401,11 @@
|
||||
github = "aszlig";
|
||||
name = "aszlig";
|
||||
};
|
||||
atnnn = {
|
||||
email = "etienne@atnnn.com";
|
||||
github = "atnnn";
|
||||
name = "Etienne Laurin";
|
||||
};
|
||||
auntie = {
|
||||
email = "auntieNeo@gmail.com";
|
||||
github = "auntie";
|
||||
@ -1889,6 +1894,11 @@
|
||||
github = "ironpinguin";
|
||||
name = "Michele Catalano";
|
||||
};
|
||||
ivan = {
|
||||
email = "ivan@ludios.org";
|
||||
github = "ivan";
|
||||
name = "Ivan Kozik";
|
||||
};
|
||||
ivan-tkatchev = {
|
||||
email = "tkatchev@gmail.com";
|
||||
name = "Ivan Tkatchev";
|
||||
@ -1918,6 +1928,11 @@
|
||||
github = "jagajaga";
|
||||
name = "Arseniy Seroka";
|
||||
};
|
||||
jakelogemann = {
|
||||
email = "jake.logemann@gmail.com";
|
||||
github = "jakelogemann";
|
||||
name = "Jake Logemann";
|
||||
};
|
||||
jammerful = {
|
||||
email = "jammerful@gmail.com";
|
||||
github = "jammerful";
|
||||
@ -4278,6 +4293,11 @@
|
||||
github = "talyz";
|
||||
name = "Kim Lindberger";
|
||||
};
|
||||
taneb = {
|
||||
email = "nvd1234@gmail.com";
|
||||
github = "Taneb";
|
||||
name = "Nathan van Doorn";
|
||||
};
|
||||
tari = {
|
||||
email = "peter@taricorp.net";
|
||||
github = "tari";
|
||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "nix-generate-from-cpan-3";
|
||||
|
||||
buildInputs = with perlPackages; [
|
||||
makeWrapper perl CPANMeta GetoptLongDescriptive CPANPLUS Readonly LogLog4perl
|
||||
makeWrapper perl GetoptLongDescriptive CPANPLUS Readonly LogLog4perl
|
||||
];
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
|
@ -245,6 +245,65 @@
|
||||
options.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>nscd</literal> service now disables all caching of
|
||||
<literal>passwd</literal> and <literal>group</literal> databases by
|
||||
default. This was interferring with the correct functioning of the
|
||||
<literal>libnss_systemd.so</literal> module which is used by
|
||||
<literal>systemd</literal> to manage uids and usernames in the presence of
|
||||
<literal>DynamicUser=</literal> in systemd services. This was already the
|
||||
default behaviour in presence of <literal>services.sssd.enable =
|
||||
true</literal> because nscd caching would interfere with
|
||||
<literal>sssd</literal> in unpredictable ways as well. Because we're
|
||||
using nscd not for caching, but for convincing glibc to find NSS modules
|
||||
in the nix store instead of an absolute path, we have decided to disable
|
||||
caching globally now, as it's usually not the behaviour the user wants and
|
||||
can lead to surprising behaviour. Furthermore, negative caching of host
|
||||
lookups is also disabled now by default. This should fix the issue of dns
|
||||
lookups failing in the presence of an unreliable network.
|
||||
</para>
|
||||
<para>
|
||||
If the old behaviour is desired, this can be restored by setting
|
||||
the <literal>services.nscd.config</literal> option
|
||||
with the desired caching parameters.
|
||||
<programlisting>
|
||||
services.nscd.config =
|
||||
''
|
||||
server-user nscd
|
||||
threads 1
|
||||
paranoia no
|
||||
debug-level 0
|
||||
|
||||
enable-cache passwd yes
|
||||
positive-time-to-live passwd 600
|
||||
negative-time-to-live passwd 20
|
||||
suggested-size passwd 211
|
||||
check-files passwd yes
|
||||
persistent passwd no
|
||||
shared passwd yes
|
||||
|
||||
enable-cache group yes
|
||||
positive-time-to-live group 3600
|
||||
negative-time-to-live group 60
|
||||
suggested-size group 211
|
||||
check-files group yes
|
||||
persistent group no
|
||||
shared group yes
|
||||
|
||||
enable-cache hosts yes
|
||||
positive-time-to-live hosts 600
|
||||
negative-time-to-live hosts 5
|
||||
suggested-size hosts 211
|
||||
check-files hosts yes
|
||||
persistent hosts no
|
||||
shared hosts yes
|
||||
'';
|
||||
</programlisting>
|
||||
See <link xlink:href="https://github.com/NixOS/nixpkgs/pull/50316">#50316</link>
|
||||
for details.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
GitLab Shell previously used the nix store paths for the
|
||||
@ -299,6 +358,18 @@
|
||||
<option>services.kubernetes.addons.dns.replicas</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The quassel-webserver package and module was removed from nixpkgs due to the lack
|
||||
of maintainers.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The owncloud server packages and httpd subservice module were removed
|
||||
from nixpkgs due to the lack of maintainers.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -101,8 +101,8 @@ in
|
||||
config = mkIf enabled {
|
||||
assertions = [
|
||||
{
|
||||
assertion = config.services.xserver.displayManager.gdm.wayland;
|
||||
message = "NVIDIA drivers don't support wayland";
|
||||
assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland;
|
||||
message = "NVIDIA drivers don't support wayland, set services.xserver.displayManager.gdm.wayland=false";
|
||||
}
|
||||
{
|
||||
assertion = !optimusCfg.enable ||
|
||||
|
@ -715,7 +715,6 @@
|
||||
./services/web-apps/restya-board.nix
|
||||
./services/web-apps/tt-rss.nix
|
||||
./services/web-apps/selfoss.nix
|
||||
./services/web-apps/quassel-webserver.nix
|
||||
./services/web-apps/virtlyst.nix
|
||||
./services/web-apps/youtrack.nix
|
||||
./services/web-servers/apache-httpd/default.nix
|
||||
|
@ -98,7 +98,7 @@ in
|
||||
if [ "$TERM" != "dumb" -o -n "$INSIDE_EMACS" ]; then
|
||||
PROMPT_COLOR="1;31m"
|
||||
let $UID && PROMPT_COLOR="1;32m"
|
||||
PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] "
|
||||
PS1="\n\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\] "
|
||||
if test "$TERM" = "xterm"; then
|
||||
PS1="\[\033]2;\h:\u:\w\007\]$PS1"
|
||||
fi
|
||||
|
@ -18,13 +18,13 @@ in
|
||||
};
|
||||
|
||||
strategy = mkOption {
|
||||
type = types.enum [ "default" "match_prev_cmd" ];
|
||||
default = "default";
|
||||
type = types.enum [ "history" "match_prev_cmd" ];
|
||||
default = "history";
|
||||
description = ''
|
||||
Set ZSH_AUTOSUGGEST_STRATEGY to choose the strategy for generating suggestions.
|
||||
There are currently two to choose from:
|
||||
|
||||
* default: Chooses the most recent match.
|
||||
* history: Chooses the most recent match.
|
||||
* match_prev_cmd: Chooses the most recent match whose preceding history item matches
|
||||
the most recently executed command (more info). Note that this strategy won't work as
|
||||
expected with ZSH options that don't preserve the history order such as
|
||||
@ -51,7 +51,7 @@ in
|
||||
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
|
||||
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}"
|
||||
export ZSH_AUTOSUGGEST_STRATEGY="${cfg.strategy}"
|
||||
export ZSH_AUTOSUGGEST_STRATEGY=("${cfg.strategy}")
|
||||
|
||||
${concatStringsSep "\n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)}
|
||||
'';
|
||||
|
@ -46,7 +46,7 @@ let
|
||||
# in the same directory as slurm.conf
|
||||
etcSlurm = pkgs.symlinkJoin {
|
||||
name = "etc-slurm";
|
||||
paths = [ configFile cgroupConfig plugStackConfig ];
|
||||
paths = [ configFile cgroupConfig plugStackConfig ] ++ cfg.extraConfigPaths;
|
||||
};
|
||||
|
||||
in
|
||||
@ -239,6 +239,17 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfigPaths = mkOption {
|
||||
type = with types; listOf path;
|
||||
default = [];
|
||||
description = ''
|
||||
Slurm expects config files for plugins in the same path
|
||||
as <literal>slurm.conf</literal>. Add extra nix store
|
||||
paths that should be merged into same directory as
|
||||
<literal>slurm.conf</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
@ -303,6 +314,7 @@ in
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
KillMode = "process";
|
||||
ExecStart = "${wrappedSlurm}/bin/slurmd";
|
||||
PIDFile = "/run/slurmd.pid";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
|
@ -54,6 +54,13 @@ in
|
||||
description = "The database directory.";
|
||||
};
|
||||
|
||||
logLevel = mkOption {
|
||||
type = types.str;
|
||||
default = "0";
|
||||
example = "acl trace";
|
||||
description = "The log level selector of slapd.";
|
||||
};
|
||||
|
||||
configDir = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
@ -139,7 +146,7 @@ in
|
||||
chown -R "${cfg.user}:${cfg.group}" "${cfg.dataDir}"
|
||||
'';
|
||||
serviceConfig.ExecStart =
|
||||
"${openldap.out}/libexec/slapd -d 0 " +
|
||||
"${openldap.out}/libexec/slapd -d ${cfg.logLevel} " +
|
||||
"-u '${cfg.user}' -g '${cfg.group}' " +
|
||||
"-h '${concatStringsSep " " cfg.urlList}' " +
|
||||
"${configOpts}";
|
||||
|
@ -49,6 +49,7 @@ in {
|
||||
description = "LIRC daemon socket";
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig = {
|
||||
# default search path
|
||||
ListenStream = "/run/lirc/lircd";
|
||||
SocketUser = "lirc";
|
||||
SocketMode = "0660";
|
||||
@ -66,9 +67,19 @@ in {
|
||||
serviceConfig = {
|
||||
RuntimeDirectory = "lirc";
|
||||
|
||||
# socket lives in runtime directory; we have to keep is available
|
||||
# Service runtime directory and socket share same folder.
|
||||
# Following hacks are necessary to get everything right:
|
||||
|
||||
# 1. prevent socket deletion during stop and restart
|
||||
RuntimeDirectoryPreserve = true;
|
||||
|
||||
# 2. fix runtime folder owner-ship, happens when socket activation
|
||||
# creates the folder
|
||||
PermissionsStartOnly = true;
|
||||
ExecStartPre = [
|
||||
"${pkgs.coreutils}/bin/chown lirc /run/lirc/"
|
||||
];
|
||||
|
||||
ExecStart = ''
|
||||
${pkgs.lirc}/bin/lircd --nodaemon \
|
||||
${escapeShellArgs cfg.extraArguments} \
|
||||
|
@ -1,36 +0,0 @@
|
||||
server-user nscd
|
||||
threads 1
|
||||
paranoia no
|
||||
debug-level 0
|
||||
|
||||
enable-cache passwd yes
|
||||
positive-time-to-live passwd 0
|
||||
negative-time-to-live passwd 0
|
||||
suggested-size passwd 211
|
||||
check-files passwd yes
|
||||
persistent passwd no
|
||||
shared passwd yes
|
||||
|
||||
enable-cache group yes
|
||||
positive-time-to-live group 0
|
||||
negative-time-to-live group 0
|
||||
suggested-size group 211
|
||||
check-files group yes
|
||||
persistent group no
|
||||
shared group yes
|
||||
|
||||
enable-cache hosts yes
|
||||
positive-time-to-live hosts 600
|
||||
negative-time-to-live hosts 5
|
||||
suggested-size hosts 211
|
||||
check-files hosts yes
|
||||
persistent hosts no
|
||||
shared hosts yes
|
||||
|
||||
enable-cache services yes
|
||||
positive-time-to-live services 0
|
||||
negative-time-to-live services 0
|
||||
suggested-size services 211
|
||||
check-files services yes
|
||||
persistent services no
|
||||
shared services yes
|
@ -75,7 +75,6 @@ in {
|
||||
};
|
||||
|
||||
system.nssModules = optional cfg.enable pkgs.sssd;
|
||||
services.nscd.config = builtins.readFile ./nscd-sssd.conf;
|
||||
services.dbus.packages = [ pkgs.sssd ];
|
||||
})
|
||||
|
||||
|
@ -169,8 +169,9 @@ in {
|
||||
Sets the maximum amount of time (in seconds) a connection may be reused.
|
||||
For MySQL this setting should be shorter than the `wait_timeout' variable.
|
||||
'';
|
||||
default = 14400;
|
||||
type = types.int;
|
||||
default = "unlimited";
|
||||
example = 14400;
|
||||
type = types.either types.int (types.enum [ "unlimited" ]);
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -488,7 +488,7 @@ in {
|
||||
'') cfg.dynamicHosts.hostsDirs);
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExist = true;
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,28 +1,52 @@
|
||||
# We basically use nscd as a proxy for forwarding nss requests to appropriate
|
||||
# nss modules, as we run nscd with LD_LIBRARY_PATH set to the directory
|
||||
# containing all such modules
|
||||
# Note that we can not use `enable-cache no` As this will actually cause nscd
|
||||
# to just reject the nss requests it receives, which then causes glibc to
|
||||
# fallback to trying to handle the request by itself. Which won't work as glibc
|
||||
# is not aware of the path in which the nss modules live. As a workaround, we
|
||||
# have `enable-cache yes` with an explicit ttl of 0
|
||||
server-user nscd
|
||||
threads 1
|
||||
paranoia no
|
||||
debug-level 0
|
||||
|
||||
enable-cache passwd yes
|
||||
positive-time-to-live passwd 600
|
||||
negative-time-to-live passwd 20
|
||||
positive-time-to-live passwd 0
|
||||
negative-time-to-live passwd 0
|
||||
suggested-size passwd 211
|
||||
check-files passwd yes
|
||||
persistent passwd no
|
||||
shared passwd yes
|
||||
|
||||
enable-cache group yes
|
||||
positive-time-to-live group 3600
|
||||
negative-time-to-live group 60
|
||||
positive-time-to-live group 0
|
||||
negative-time-to-live group 0
|
||||
suggested-size group 211
|
||||
check-files group yes
|
||||
persistent group no
|
||||
shared group yes
|
||||
|
||||
enable-cache netgroup yes
|
||||
positive-time-to-live netgroup 0
|
||||
negative-time-to-live netgroup 0
|
||||
suggested-size netgroup 211
|
||||
check-files netgroup yes
|
||||
persistent netgroup no
|
||||
shared netgroup yes
|
||||
|
||||
enable-cache hosts yes
|
||||
positive-time-to-live hosts 600
|
||||
negative-time-to-live hosts 5
|
||||
negative-time-to-live hosts 0
|
||||
suggested-size hosts 211
|
||||
check-files hosts yes
|
||||
persistent hosts no
|
||||
shared hosts yes
|
||||
|
||||
enable-cache services yes
|
||||
positive-time-to-live services 0
|
||||
negative-time-to-live services 0
|
||||
suggested-size services 211
|
||||
check-files services yes
|
||||
persistent services no
|
||||
shared services yes
|
||||
|
@ -484,4 +484,6 @@ in {
|
||||
};
|
||||
})
|
||||
]);
|
||||
|
||||
meta.doc = ./nextcloud.xml;
|
||||
}
|
||||
|
99
nixos/modules/services/web-apps/nextcloud.xml
Normal file
99
nixos/modules/services/web-apps/nextcloud.xml
Normal file
@ -0,0 +1,99 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="module-services-nextcloud">
|
||||
<title>Nextcloud</title>
|
||||
|
||||
<para>
|
||||
<link xlink:href="https://nextcloud.com/">Nextcloud</link> is an open-source, self-hostable cloud
|
||||
platform. The server setup can be automated using
|
||||
<link linkend="opt-services.nextcloud.enable">services.nextcloud</link>. A desktop client is packaged
|
||||
at <literal>pkgs.nextcloud-client</literal>.
|
||||
</para>
|
||||
|
||||
<section xml:id="module-services-nextcloud-basic-usage">
|
||||
<title>Basic usage</title>
|
||||
<para>
|
||||
Nextcloud is a PHP-based application which requires an HTTP server
|
||||
(<literal><link linkend="opt-services.nextcloud.enable">services.nextcloud</link></literal> optionally supports
|
||||
<literal><link linkend="opt-services.nginx.enable">services.nginx</link></literal>) and a database
|
||||
(it's recommended to use <literal><link linkend="opt-services.postgresql.enable">services.postgresql</link></literal>).
|
||||
</para>
|
||||
<para>
|
||||
A very basic configuration may look like this:
|
||||
<programlisting>{ pkgs, ... }:
|
||||
{
|
||||
services.nextcloud = {
|
||||
<link linkend="opt-services.nextcloud.enable">enable</link> = true;
|
||||
<link linkend="opt-services.nextcloud.hostName">hostName</link> = "nextcloud.tld";
|
||||
<link linkend="opt-services.nextcloud.nginx.enable">nginx.enable</link> = true;
|
||||
config = {
|
||||
<link linkend="opt-services.nextcloud.config.dbtype">dbtype</link> = "pgsql";
|
||||
<link linkend="opt-services.nextcloud.config.dbuser">dbuser</link> = "nextcloud";
|
||||
<link linkend="opt-services.nextcloud.config.dbhost">dbhost</link> = "/tmp"; # nextcloud will add /.s.PGSQL.5432 by itself
|
||||
<link linkend="opt-services.nextcloud.config.dbname">dbname</link> = "nextcloud";
|
||||
<link linkend="opt-services.nextcloud.config.adminpassFile">adminpassFile</link> = "/path/to/admin-pass-file";
|
||||
<link linkend="opt-services.nextcloud.config.adminuser">adminuser</link> = "root";
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
<link linkend="opt-services.postgresql.enable">enable</link> = true;
|
||||
<link linkend="opt-services.postgresql.initialScript">initialScript</link> = pkgs.writeText "psql-init" ''
|
||||
CREATE ROLE nextcloud WITH LOGIN;
|
||||
CREATE DATABASE nextcloud WITH OWNER nextcloud;
|
||||
'';
|
||||
};
|
||||
|
||||
# ensure that postgres is running *before* running the setup
|
||||
systemd.services."nextcloud-setup" = {
|
||||
requires = ["postgresql.service"];
|
||||
after = ["postgresql.service"];
|
||||
};
|
||||
|
||||
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
||||
}</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
The options <literal>hostName</literal> and <literal>nginx.enable</literal> are used internally to configure an
|
||||
HTTP server using <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal> and <literal>nginx</literal>.
|
||||
The <literal>config</literal> attribute set is used for the <literal>config.php</literal> which is used
|
||||
for the application's configuration.
|
||||
<emphasis>Beware: this isn't entirely pure since the config is modified by the application's runtime!</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
In case the application serves multiple hosts (those are checked with
|
||||
<literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)
|
||||
those can be added using
|
||||
<literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
|
||||
<title>Pitfalls</title>
|
||||
<para>
|
||||
Unfortunately Nextcloud appears to be very stateful when it comes to managing its own configuration. The
|
||||
config file lives in the home directory of the <literal>nextcloud</literal> user (by default
|
||||
<literal>/var/lib/nextcloud/config/config.php</literal>) and is also used to track several
|
||||
states of the application (e.g. whether installed or not).
|
||||
</para>
|
||||
<para>
|
||||
Right now changes to the <literal>services.nextcloud.config</literal> attribute set won't take effect
|
||||
after the first install
|
||||
(except <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>) since the actual configuration
|
||||
file is generated by the NextCloud installer which also sets up critical parts such as the database
|
||||
structure.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Warning: don't delete <literal>config.php</literal>! This file tracks the application's state and a deletion can cause unwanted side-effects!</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Warning: don't rerun <literal>nextcloud-occ maintenance:install</literal>! This command tries to install the application and can cause unwanted side-effects!</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
The issues are known and reported in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/49783">#49783</link>, for now it's unfortunately necessary to manually work around these issues.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
</chapter>
|
@ -1,101 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.quassel-webserver;
|
||||
quassel-webserver = cfg.pkg;
|
||||
settings = ''
|
||||
module.exports = {
|
||||
default: {
|
||||
host: '${cfg.quasselCoreHost}', // quasselcore host
|
||||
port: ${toString cfg.quasselCorePort}, // quasselcore port
|
||||
initialBacklogLimit: ${toString cfg.initialBacklogLimit}, // Amount of backlogs to fetch per buffer on connection
|
||||
backlogLimit: ${toString cfg.backlogLimit}, // Amount of backlogs to fetch per buffer after first retrieval
|
||||
securecore: ${boolToString cfg.secureCore}, // Connect to the core using SSL
|
||||
theme: '${cfg.theme}' // Default UI theme
|
||||
},
|
||||
themes: ['default', 'darksolarized'], // Available themes
|
||||
forcedefault: ${boolToString cfg.forceHostAndPort}, // Will force default host and port to be used, and will hide the corresponding fields in the UI
|
||||
prefixpath: '${cfg.prefixPath}' // Configure this if you use a reverse proxy
|
||||
};
|
||||
'';
|
||||
settingsFile = pkgs.writeText "settings-user.js" settings;
|
||||
in {
|
||||
options = {
|
||||
services.quassel-webserver = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Whether to enable the quassel webclient service";
|
||||
};
|
||||
pkg = mkOption {
|
||||
default = pkgs.quassel-webserver;
|
||||
defaultText = "pkgs.quassel-webserver";
|
||||
type = types.package;
|
||||
description = "The quassel-webserver package";
|
||||
};
|
||||
quasselCoreHost = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = "The default host of the quassel core";
|
||||
};
|
||||
quasselCorePort = mkOption {
|
||||
default = 4242;
|
||||
type = types.int;
|
||||
description = "The default quassel core port";
|
||||
};
|
||||
initialBacklogLimit = mkOption {
|
||||
default = 20;
|
||||
type = types.int;
|
||||
description = "Amount of backlogs to fetch per buffer on connection";
|
||||
};
|
||||
backlogLimit = mkOption {
|
||||
default = 100;
|
||||
type = types.int;
|
||||
description = "Amount of backlogs to fetch per buffer after first retrieval";
|
||||
};
|
||||
secureCore = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = "Connect to the core using SSL";
|
||||
};
|
||||
theme = mkOption {
|
||||
default = "default";
|
||||
type = types.str;
|
||||
description = "default or darksolarized";
|
||||
};
|
||||
prefixPath = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = "Configure this if you use a reverse proxy. Must start with a '/'";
|
||||
example = "/quassel";
|
||||
};
|
||||
port = mkOption {
|
||||
default = 60443;
|
||||
type = types.int;
|
||||
description = "The port the quassel webserver should listen on";
|
||||
};
|
||||
useHttps = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = "Whether the quassel webserver connection should be a https connection";
|
||||
};
|
||||
forceHostAndPort = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Force the users to use the quasselCoreHost and quasselCorePort defaults";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.quassel-webserver = {
|
||||
description = "A web server/client for Quassel";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${quassel-webserver}/lib/node_modules/quassel-webserver/bin/www -p ${toString cfg.port} -m ${if cfg.useHttps == true then "https" else "http"} -c ${settingsFile}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -85,7 +85,7 @@ in rec {
|
||||
id = mkOption {
|
||||
default = "main";
|
||||
description = ''
|
||||
A unique identifier necessary to keep multiple owncloud server
|
||||
A unique identifier necessary to keep multiple Limesurvey server
|
||||
instances on the same machine apart. This is used to
|
||||
disambiguate the administrative scripts, which get names like
|
||||
mediawiki-$id-change-password.
|
||||
|
@ -1,608 +0,0 @@
|
||||
{ config, lib, pkgs, serverInfo, php, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
owncloudConfig = pkgs.writeText "config.php"
|
||||
''
|
||||
<?php
|
||||
|
||||
/* Only enable this for local development and not in productive environments */
|
||||
/* This will disable the minifier and outputs some additional debug informations */
|
||||
define("DEBUG", false);
|
||||
|
||||
$CONFIG = array(
|
||||
/* Flag to indicate ownCloud is successfully installed (true = installed) */
|
||||
"installed" => true,
|
||||
|
||||
/* Type of database, can be sqlite, mysql or pgsql */
|
||||
"dbtype" => "${config.dbType}",
|
||||
|
||||
/* Name of the ownCloud database */
|
||||
"dbname" => "${config.dbName}",
|
||||
|
||||
/* User to access the ownCloud database */
|
||||
"dbuser" => "${config.dbUser}",
|
||||
|
||||
/* Password to access the ownCloud database */
|
||||
"dbpassword" => "${config.dbPassword}",
|
||||
|
||||
/* Host running the ownCloud database. To specify a port use "HOSTNAME:####"; to specify a unix sockets use "localhost:/path/to/socket". */
|
||||
"dbhost" => "${config.dbServer}",
|
||||
|
||||
/* Prefix for the ownCloud tables in the database */
|
||||
"dbtableprefix" => "",
|
||||
|
||||
/* Force use of HTTPS connection (true = use HTTPS) */
|
||||
"forcessl" => ${config.forceSSL},
|
||||
|
||||
/* Blacklist a specific file and disallow the upload of files with this name - WARNING: USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING. */
|
||||
"blacklisted_files" => array('.htaccess'),
|
||||
|
||||
/* The automatic hostname detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */
|
||||
"overwritehost" => "${config.overwriteHost}",
|
||||
|
||||
/* The automatic protocol detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the protocol detection. For example "https" */
|
||||
"overwriteprotocol" => "${config.overwriteProtocol}",
|
||||
|
||||
/* The automatic webroot detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. For example "/domain.tld/ownCloud". The value "/" can be used to remove the root. */
|
||||
"overwritewebroot" => "${config.overwriteWebRoot}",
|
||||
|
||||
/* The automatic detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to define a manually override condition as regular expression for the remote ip address. For example "^10\.0\.0\.[1-3]$" */
|
||||
"overwritecondaddr" => "",
|
||||
|
||||
/* A proxy to use to connect to the internet. For example "myproxy.org:88" */
|
||||
"proxy" => "",
|
||||
|
||||
/* The optional authentication for the proxy to use to connect to the internet. The format is: [username]:[password] */
|
||||
"proxyuserpwd" => "",
|
||||
|
||||
/* List of trusted domains, to prevent host header poisoning ownCloud is only using these Host headers */
|
||||
${if config.trustedDomain != "" then "'trusted_domains' => array('${config.trustedDomain}')," else ""}
|
||||
|
||||
/* Theme to use for ownCloud */
|
||||
"theme" => "",
|
||||
|
||||
/* Optional ownCloud default language - overrides automatic language detection on public pages like login or shared items. This has no effect on the user's language preference configured under "personal -> language" once they have logged in */
|
||||
"default_language" => "${config.defaultLang}",
|
||||
|
||||
/* Path to the parent directory of the 3rdparty directory */
|
||||
"3rdpartyroot" => "",
|
||||
|
||||
/* URL to the parent directory of the 3rdparty directory, as seen by the browser */
|
||||
"3rdpartyurl" => "",
|
||||
|
||||
/* Default app to open on login.
|
||||
* This can be a comma-separated list of app ids.
|
||||
* If the first app is not enabled for the current user,
|
||||
* it will try with the second one and so on. If no enabled app could be found,
|
||||
* the "files" app will be displayed instead. */
|
||||
"defaultapp" => "${config.defaultApp}",
|
||||
|
||||
/* Enable the help menu item in the settings */
|
||||
"knowledgebaseenabled" => true,
|
||||
|
||||
/* Enable installing apps from the appstore */
|
||||
"appstoreenabled" => ${config.appStoreEnable},
|
||||
|
||||
/* URL of the appstore to use, server should understand OCS */
|
||||
"appstoreurl" => "https://api.owncloud.com/v1",
|
||||
|
||||
/* Domain name used by ownCloud for the sender mail address, e.g. no-reply@example.com */
|
||||
"mail_domain" => "${config.mailFromDomain}",
|
||||
|
||||
/* FROM address used by ownCloud for the sender mail address, e.g. owncloud@example.com
|
||||
This setting overwrites the built in 'sharing-noreply' and 'lostpassword-noreply'
|
||||
FROM addresses, that ownCloud uses
|
||||
*/
|
||||
"mail_from_address" => "${config.mailFrom}",
|
||||
|
||||
/* Enable SMTP class debugging */
|
||||
"mail_smtpdebug" => false,
|
||||
|
||||
/* Mode to use for sending mail, can be sendmail, smtp, qmail or php, see PHPMailer docs */
|
||||
"mail_smtpmode" => "${config.SMTPMode}",
|
||||
|
||||
/* Host to use for sending mail, depends on mail_smtpmode if this is used */
|
||||
"mail_smtphost" => "${config.SMTPHost}",
|
||||
|
||||
/* Port to use for sending mail, depends on mail_smtpmode if this is used */
|
||||
"mail_smtpport" => ${config.SMTPPort},
|
||||
|
||||
/* SMTP server timeout in seconds for sending mail, depends on mail_smtpmode if this is used */
|
||||
"mail_smtptimeout" => ${config.SMTPTimeout},
|
||||
|
||||
/* SMTP connection prefix or sending mail, depends on mail_smtpmode if this is used.
|
||||
Can be "", ssl or tls */
|
||||
"mail_smtpsecure" => "${config.SMTPSecure}",
|
||||
|
||||
/* authentication needed to send mail, depends on mail_smtpmode if this is used
|
||||
* (false = disable authentication)
|
||||
*/
|
||||
"mail_smtpauth" => ${config.SMTPAuth},
|
||||
|
||||
/* authentication type needed to send mail, depends on mail_smtpmode if this is used
|
||||
* Can be LOGIN (default), PLAIN or NTLM */
|
||||
"mail_smtpauthtype" => "${config.SMTPAuthType}",
|
||||
|
||||
/* Username to use for sendmail mail, depends on mail_smtpauth if this is used */
|
||||
"mail_smtpname" => "${config.SMTPUser}",
|
||||
|
||||
/* Password to use for sendmail mail, depends on mail_smtpauth if this is used */
|
||||
"mail_smtppassword" => "${config.SMTPPass}",
|
||||
|
||||
/* memcached servers (Only used when xCache, APC and APCu are absent.) */
|
||||
"memcached_servers" => array(
|
||||
// hostname, port and optional weight. Also see:
|
||||
// http://www.php.net/manual/en/memcached.addservers.php
|
||||
// http://www.php.net/manual/en/memcached.addserver.php
|
||||
//array('localhost', 11211),
|
||||
//array('other.host.local', 11211),
|
||||
),
|
||||
|
||||
/* How long should ownCloud keep deleted files in the trash bin, default value: 30 days */
|
||||
'trashbin_retention_obligation' => 30,
|
||||
|
||||
/* Disable/Enable auto expire for the trash bin, by default auto expire is enabled */
|
||||
'trashbin_auto_expire' => true,
|
||||
|
||||
/* allow user to change his display name, if it is supported by the back-end */
|
||||
'allow_user_to_change_display_name' => true,
|
||||
|
||||
/* Check 3rdparty apps for malicious code fragments */
|
||||
"appcodechecker" => true,
|
||||
|
||||
/* Check if ownCloud is up to date */
|
||||
"updatechecker" => true,
|
||||
|
||||
/* Are we connected to the internet or are we running in a closed network? */
|
||||
"has_internet_connection" => true,
|
||||
|
||||
/* Check if the ownCloud WebDAV server is working correctly. Can be disabled if not needed in special situations*/
|
||||
"check_for_working_webdav" => true,
|
||||
|
||||
/* Check if .htaccess protection of data is working correctly. Can be disabled if not needed in special situations*/
|
||||
"check_for_working_htaccess" => true,
|
||||
|
||||
/* Place to log to, can be owncloud and syslog (owncloud is log menu item in admin menu) */
|
||||
"log_type" => "owncloud",
|
||||
|
||||
/* File for the owncloud logger to log to, (default is ownloud.log in the data dir) */
|
||||
"logfile" => "${config.dataDir}/owncloud.log",
|
||||
|
||||
/* Loglevel to start logging at. 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default is WARN) */
|
||||
"loglevel" => "2",
|
||||
|
||||
/* date format to be used while writing to the owncloud logfile */
|
||||
'logdateformat' => 'F d, Y H:i:s',
|
||||
|
||||
${tzSetting}
|
||||
|
||||
/* Append all database queries and parameters to the log file.
|
||||
(watch out, this option can increase the size of your log file)*/
|
||||
"log_query" => false,
|
||||
|
||||
/* Whether ownCloud should log the last successfull cron exec */
|
||||
"cron_log" => true,
|
||||
|
||||
/*
|
||||
* Configure the size in bytes log rotation should happen, 0 or false disables the rotation.
|
||||
* This rotates the current owncloud logfile to a new name, this way the total log usage
|
||||
* will stay limited and older entries are available for a while longer. The
|
||||
* total disk usage is twice the configured size.
|
||||
* WARNING: When you use this, the log entries will eventually be lost.
|
||||
*/
|
||||
'log_rotate_size' => "104857600", // 104857600, // 100 MiB
|
||||
|
||||
/* Lifetime of the remember login cookie, default is 15 days */
|
||||
"remember_login_cookie_lifetime" => 1296000,
|
||||
|
||||
/* Life time of a session after inactivity */
|
||||
"session_lifetime" => 86400,
|
||||
|
||||
/*
|
||||
* Enable/disable session keep alive when a user is logged in in the Web UI.
|
||||
* This is achieved by sending a "heartbeat" to the server to prevent
|
||||
* the session timing out.
|
||||
*/
|
||||
"session_keepalive" => true,
|
||||
|
||||
/* Custom CSP policy, changing this will overwrite the standard policy */
|
||||
"custom_csp_policy" => "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *",
|
||||
|
||||
/* Enable/disable X-Frame-Restriction */
|
||||
/* HIGH SECURITY RISK IF DISABLED*/
|
||||
"xframe_restriction" => true,
|
||||
|
||||
/* The directory where the user data is stored, default to data in the owncloud
|
||||
* directory. The sqlite database is also stored here, when sqlite is used.
|
||||
*/
|
||||
"datadirectory" => "${config.dataDir}/storage",
|
||||
|
||||
/* The directory where the skeleton files are located. These files will be copied to the data
|
||||
* directory of new users. Leave empty to not copy any skeleton files.
|
||||
*/
|
||||
// "skeletondirectory" => "",
|
||||
|
||||
/* Enable maintenance mode to disable ownCloud
|
||||
If you want to prevent users to login to ownCloud before you start doing some maintenance work,
|
||||
you need to set the value of the maintenance parameter to true.
|
||||
Please keep in mind that users who are already logged-in are kicked out of ownCloud instantly.
|
||||
*/
|
||||
"maintenance" => false,
|
||||
|
||||
"apps_paths" => array(
|
||||
|
||||
/* Set an array of path for your apps directories
|
||||
key 'path' is for the fs path and the key 'url' is for the http path to your
|
||||
applications paths. 'writable' indicates whether the user can install apps in this folder.
|
||||
You must have at least 1 app folder writable or you must set the parameter 'appstoreenabled' to false
|
||||
*/
|
||||
array(
|
||||
'path'=> '${config.dataDir}/apps',
|
||||
'url' => '/apps',
|
||||
'writable' => true,
|
||||
),
|
||||
),
|
||||
'user_backends'=>array(
|
||||
/*
|
||||
array(
|
||||
'class'=>'OC_User_IMAP',
|
||||
'arguments'=>array('{imap.gmail.com:993/imap/ssl}INBOX')
|
||||
)
|
||||
*/
|
||||
),
|
||||
//links to custom clients
|
||||
'customclient_desktop' => ''', //http://owncloud.org/sync-clients/
|
||||
'customclient_android' => ''', //https://play.google.com/store/apps/details?id=com.owncloud.android
|
||||
'customclient_ios' => ''', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8
|
||||
|
||||
// PREVIEW
|
||||
'enable_previews' => true,
|
||||
/* the max width of a generated preview, if value is null, there is no limit */
|
||||
'preview_max_x' => null,
|
||||
/* the max height of a generated preview, if value is null, there is no limit */
|
||||
'preview_max_y' => null,
|
||||
/* the max factor to scale a preview, default is set to 10 */
|
||||
'preview_max_scale_factor' => 10,
|
||||
/* custom path for libreoffice / openoffice binary */
|
||||
'preview_libreoffice_path' => '${config.libreofficePath}',
|
||||
/* cl parameters for libreoffice / openoffice */
|
||||
'preview_office_cl_parameters' => ''',
|
||||
|
||||
/* whether avatars should be enabled */
|
||||
'enable_avatars' => true,
|
||||
|
||||
// Extra SSL options to be used for configuration
|
||||
'openssl' => array(
|
||||
'config' => '/etc/ssl/openssl.cnf',
|
||||
),
|
||||
|
||||
// default cipher used for file encryption, currently we support AES-128-CFB and AES-256-CFB
|
||||
'cipher' => 'AES-256-CFB',
|
||||
|
||||
/* whether usage of the instance should be restricted to admin users only */
|
||||
'singleuser' => false,
|
||||
|
||||
/* all css and js files will be served by the web server statically in one js file and ons css file*/
|
||||
'asset-pipeline.enabled' => false,
|
||||
|
||||
/* where mount.json file should be stored, defaults to data/mount.json */
|
||||
'mount_file' => ''',
|
||||
|
||||
/*
|
||||
* Location of the cache folder, defaults to "data/$user/cache" where "$user" is the current user.
|
||||
*
|
||||
* When specified, the format will change to "$cache_path/$user" where "$cache_path" is the configured
|
||||
* cache directory and "$user" is the user.
|
||||
*
|
||||
*/
|
||||
'cache_path' => ''',
|
||||
|
||||
/* EXPERIMENTAL: option whether to include external storage in quota calculation, defaults to false */
|
||||
'quota_include_external_storage' => false,
|
||||
|
||||
/*
|
||||
* specifies how often the filesystem is checked for changes made outside owncloud
|
||||
* 0 -> never check the filesystem for outside changes, provides a performance increase when it's certain that no changes are made directly to the filesystem
|
||||
* 1 -> check each file or folder at most once per request, recomended for general use if outside changes might happen
|
||||
* 2 -> check every time the filesystem is used, causes a performance hit when using external storages, not recomended for regular use
|
||||
*/
|
||||
'filesystem_check_changes' => 1,
|
||||
|
||||
/* If true, prevent owncloud from changing the cache due to changes in the filesystem for all storage */
|
||||
'filesystem_cache_readonly' => false,
|
||||
|
||||
/**
|
||||
* define default folder for shared files and folders
|
||||
*/
|
||||
'share_folder' => '/',
|
||||
|
||||
'version' => '${config.package.version}',
|
||||
|
||||
'openssl' => '${pkgs.openssl.bin}/bin/openssl'
|
||||
|
||||
);
|
||||
|
||||
'';
|
||||
|
||||
tzSetting = let tz = serverInfo.fullConfig.time.timeZone; in optionalString (!isNull tz) ''
|
||||
/* timezone used while writing to the owncloud logfile (default: UTC) */
|
||||
'logtimezone' => '${tz}',
|
||||
'';
|
||||
|
||||
postgresql = serverInfo.fullConfig.services.postgresql.package;
|
||||
|
||||
setupDb = pkgs.writeScript "setup-owncloud-db" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
PATH="${postgresql}/bin"
|
||||
createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
|
||||
createdb "${config.dbName}" -O "${config.dbUser}" || true
|
||||
psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
|
||||
|
||||
QUERY="CREATE TABLE appconfig
|
||||
( appid VARCHAR( 255 ) NOT NULL
|
||||
, configkey VARCHAR( 255 ) NOT NULL
|
||||
, configvalue VARCHAR( 255 ) NOT NULL
|
||||
);
|
||||
GRANT ALL ON appconfig TO ${config.dbUser};
|
||||
ALTER TABLE appconfig OWNER TO ${config.dbUser};"
|
||||
|
||||
psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
|
||||
extraConfig =
|
||||
''
|
||||
${if config.urlPrefix != "" then "Alias ${config.urlPrefix} ${config.package}" else ''
|
||||
|
||||
RewriteEngine On
|
||||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
|
||||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
|
||||
''}
|
||||
|
||||
<Directory ${config.package}>
|
||||
Include ${config.package}/.htaccess
|
||||
</Directory>
|
||||
'';
|
||||
|
||||
globalEnvVars = [
|
||||
{ name = "OC_CONFIG_PATH"; value = "${config.dataDir}/config/"; }
|
||||
];
|
||||
|
||||
documentRoot = if config.urlPrefix == "" then config.package else null;
|
||||
|
||||
enablePHP = true;
|
||||
|
||||
options = {
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.owncloud70;
|
||||
defaultText = "pkgs.owncloud70";
|
||||
example = literalExample "pkgs.owncloud70";
|
||||
description = ''
|
||||
ownCloud package to use.
|
||||
'';
|
||||
};
|
||||
|
||||
urlPrefix = mkOption {
|
||||
default = "";
|
||||
example = "/owncloud";
|
||||
description = ''
|
||||
The URL prefix under which the owncloud service appears.
|
||||
'';
|
||||
};
|
||||
|
||||
id = mkOption {
|
||||
default = "main";
|
||||
description = ''
|
||||
A unique identifier necessary to keep multiple owncloud server
|
||||
instances on the same machine apart. This is used to
|
||||
disambiguate the administrative scripts, which get names like
|
||||
mediawiki-$id-change-password.
|
||||
'';
|
||||
};
|
||||
|
||||
adminUser = mkOption {
|
||||
default = "owncloud";
|
||||
description = "The admin user name for accessing owncloud.";
|
||||
};
|
||||
|
||||
adminPassword = mkOption {
|
||||
description = "The admin password for accessing owncloud.";
|
||||
};
|
||||
|
||||
dbType = mkOption {
|
||||
default = "pgsql";
|
||||
description = "Type of database, in NixOS, for now, only pgsql.";
|
||||
};
|
||||
|
||||
dbName = mkOption {
|
||||
default = "owncloud";
|
||||
description = "Name of the database that holds the owncloud data.";
|
||||
};
|
||||
|
||||
dbServer = mkOption {
|
||||
default = "localhost:5432";
|
||||
description = ''
|
||||
The location of the database server.
|
||||
'';
|
||||
};
|
||||
|
||||
dbUser = mkOption {
|
||||
default = "owncloud";
|
||||
description = "The user name for accessing the database.";
|
||||
};
|
||||
|
||||
dbPassword = mkOption {
|
||||
example = "foobar";
|
||||
description = ''
|
||||
The password of the database user. Warning: this is stored in
|
||||
cleartext in the Nix store!
|
||||
'';
|
||||
};
|
||||
|
||||
forceSSL = mkOption {
|
||||
default = "false";
|
||||
description = "Force use of HTTPS connection.";
|
||||
};
|
||||
|
||||
adminAddr = mkOption {
|
||||
default = serverInfo.serverConfig.adminAddr;
|
||||
example = "admin@example.com";
|
||||
description = ''
|
||||
Emergency contact e-mail address. Defaults to the Apache
|
||||
admin address.
|
||||
'';
|
||||
};
|
||||
|
||||
siteName = mkOption {
|
||||
default = "owncloud";
|
||||
example = "Foobar owncloud";
|
||||
description = "Name of the owncloud";
|
||||
};
|
||||
|
||||
trustedDomain = mkOption {
|
||||
default = "";
|
||||
description = "Trusted domain";
|
||||
};
|
||||
|
||||
defaultLang = mkOption {
|
||||
default = "";
|
||||
description = "Default language";
|
||||
};
|
||||
|
||||
defaultApp = mkOption {
|
||||
default = "";
|
||||
description = "Default application";
|
||||
};
|
||||
|
||||
appStoreEnable = mkOption {
|
||||
default = "true";
|
||||
description = "Enable app store";
|
||||
};
|
||||
|
||||
mailFrom = mkOption {
|
||||
default = "no-reply";
|
||||
description = "Mail from";
|
||||
};
|
||||
|
||||
mailFromDomain = mkOption {
|
||||
default = "example.xyz";
|
||||
description = "Mail from domain";
|
||||
};
|
||||
|
||||
SMTPMode = mkOption {
|
||||
default = "smtp";
|
||||
description = "Which mode to use for sending mail: sendmail, smtp, qmail or php.";
|
||||
};
|
||||
|
||||
SMTPHost = mkOption {
|
||||
default = "";
|
||||
description = "SMTP host";
|
||||
};
|
||||
|
||||
SMTPPort = mkOption {
|
||||
default = "25";
|
||||
description = "SMTP port";
|
||||
};
|
||||
|
||||
SMTPTimeout = mkOption {
|
||||
default = "10";
|
||||
description = "SMTP mode";
|
||||
};
|
||||
|
||||
SMTPSecure = mkOption {
|
||||
default = "ssl";
|
||||
description = "SMTP secure";
|
||||
};
|
||||
|
||||
SMTPAuth = mkOption {
|
||||
default = "true";
|
||||
description = "SMTP auth";
|
||||
};
|
||||
|
||||
SMTPAuthType = mkOption {
|
||||
default = "LOGIN";
|
||||
description = "SMTP auth type";
|
||||
};
|
||||
|
||||
SMTPUser = mkOption {
|
||||
default = "";
|
||||
description = "SMTP user";
|
||||
};
|
||||
|
||||
SMTPPass = mkOption {
|
||||
default = "";
|
||||
description = "SMTP pass";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
default = "/var/lib/owncloud";
|
||||
description = "Data dir";
|
||||
};
|
||||
|
||||
libreofficePath = mkOption {
|
||||
default = "/usr/bin/libreoffice";
|
||||
description = "Path for LibreOffice/OpenOffice binary.";
|
||||
};
|
||||
|
||||
overwriteHost = mkOption {
|
||||
default = "";
|
||||
description = "The automatic hostname detection of ownCloud can fail in
|
||||
certain reverse proxy and CLI/cron situations. This option allows to
|
||||
manually override the automatic detection. You can also add a port.";
|
||||
};
|
||||
|
||||
overwriteProtocol = mkOption {
|
||||
default = "";
|
||||
description = "The automatic protocol detection of ownCloud can fail in
|
||||
certain reverse proxy and CLI/cron situations. This option allows to
|
||||
manually override the protocol detection.";
|
||||
};
|
||||
|
||||
overwriteWebRoot = mkOption {
|
||||
default = "";
|
||||
description = "The automatic webroot detection of ownCloud can fail in
|
||||
certain reverse proxy and CLI/cron situations. This option allows to
|
||||
manually override the automatic detection.";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
startupScript = pkgs.writeScript "owncloud_startup.sh" ''
|
||||
|
||||
if [ ! -d ${config.dataDir}/config ]; then
|
||||
mkdir -p ${config.dataDir}/config
|
||||
cp ${owncloudConfig} ${config.dataDir}/config/config.php
|
||||
mkdir -p ${config.dataDir}/storage
|
||||
mkdir -p ${config.dataDir}/apps
|
||||
cp -r ${config.package}/apps/* ${config.dataDir}/apps/
|
||||
chmod -R ug+rw ${config.dataDir}
|
||||
chmod -R o-rwx ${config.dataDir}
|
||||
chown -R wwwrun:wwwrun ${config.dataDir}
|
||||
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${setupDb}
|
||||
fi
|
||||
|
||||
if [ -e ${config.package}/config/ca-bundle.crt ]; then
|
||||
cp -f ${config.package}/config/ca-bundle.crt ${config.dataDir}/config/
|
||||
fi
|
||||
|
||||
${php}/bin/php ${config.package}/occ upgrade >> ${config.dataDir}/upgrade.log || true
|
||||
|
||||
chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true
|
||||
|
||||
QUERY="INSERT INTO groups (gid) values('admin');
|
||||
INSERT INTO users (uid,password)
|
||||
values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}');
|
||||
INSERT INTO group_user (gid,uid)
|
||||
values('admin','${config.adminUser}');"
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
'';
|
||||
}
|
@ -69,7 +69,7 @@ with lib;
|
||||
acmeRoot = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/acme/acme-challenge";
|
||||
description = "Directory to store certificates and keys managed by the ACME service.";
|
||||
description = "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here";
|
||||
};
|
||||
|
||||
acmeFallbackHost = mkOption {
|
||||
|
@ -136,19 +136,17 @@ in {
|
||||
|
||||
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
|
||||
|
||||
services.xserver.displayManager.sessionCommands = ''
|
||||
if test "$XDG_CURRENT_DESKTOP" = "GNOME"; then
|
||||
${concatMapStrings (p: ''
|
||||
if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
|
||||
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
|
||||
fi
|
||||
environment.extraInit = ''
|
||||
${concatMapStrings (p: ''
|
||||
if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
|
||||
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
|
||||
fi
|
||||
|
||||
if [ -d "${p}/lib/girepository-1.0" ]; then
|
||||
export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
|
||||
fi
|
||||
'') cfg.sessionPath}
|
||||
fi
|
||||
if [ -d "${p}/lib/girepository-1.0" ]; then
|
||||
export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
|
||||
fi
|
||||
'') cfg.sessionPath}
|
||||
'';
|
||||
|
||||
environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
|
||||
|
@ -78,8 +78,7 @@ let
|
||||
# This is required by user units using the session bus.
|
||||
${config.systemd.package}/bin/systemctl --user import-environment DISPLAY XAUTHORITY DBUS_SESSION_BUS_ADDRESS
|
||||
|
||||
# Load X defaults.
|
||||
# FIXME: Check XDG_SESSION_TYPE against x11
|
||||
# Load X defaults. This should probably be safe on wayland too.
|
||||
${xorg.xrdb}/bin/xrdb -merge ${xresourcesXft}
|
||||
if test -e ~/.Xresources; then
|
||||
${xorg.xrdb}/bin/xrdb -merge ~/.Xresources
|
||||
@ -194,6 +193,11 @@ let
|
||||
${concatMapStrings (pkg: ''
|
||||
${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
|
||||
'') cfg.displayManager.extraSessionFilePackages}
|
||||
|
||||
mkdir -p "$out/share/wayland-sessions"
|
||||
${concatMapStrings (pkg: ''
|
||||
${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
|
||||
'') cfg.displayManager.extraSessionFilePackages}
|
||||
'';
|
||||
|
||||
in
|
||||
@ -240,7 +244,10 @@ in
|
||||
''
|
||||
xmessage "Hello World!" &
|
||||
'';
|
||||
description = "Shell commands executed just before the window or desktop manager is started.";
|
||||
description = ''
|
||||
Shell commands executed just before the window or desktop manager is
|
||||
started. These commands are not currently sourced for Wayland sessions.
|
||||
'';
|
||||
};
|
||||
|
||||
hiddenUsers = mkOption {
|
||||
|
@ -196,7 +196,7 @@ in
|
||||
{ assertion = cfg.autoLogin.enable -> dmDefault != "none" || wmDefault != "none";
|
||||
message = ''
|
||||
LightDM auto-login requires that services.xserver.desktopManager.default and
|
||||
services.xserver.windowMananger.default are set to valid values. The current
|
||||
services.xserver.windowManager.default are set to valid values. The current
|
||||
default session: ${defaultSessionName} is not valid.
|
||||
'';
|
||||
}
|
||||
|
@ -59,6 +59,7 @@ let
|
||||
|
||||
[Wayland]
|
||||
EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
|
||||
SessionDir=${dmcfg.session.desktops}/share/wayland-sessions
|
||||
|
||||
${optionalString cfg.autoLogin.enable ''
|
||||
[Autologin]
|
||||
@ -202,7 +203,7 @@ in
|
||||
{ assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names;
|
||||
message = ''
|
||||
SDDM auto-login requires that services.xserver.desktopManager.default and
|
||||
services.xserver.windowMananger.default are set to valid values. The current
|
||||
services.xserver.windowManager.default are set to valid values. The current
|
||||
default session: ${defaultSessionName} is not valid.
|
||||
'';
|
||||
}
|
||||
|
@ -10,8 +10,13 @@ let
|
||||
checkExec = checkUnitConfig "Exec" [
|
||||
(assertOnlyFields [
|
||||
"Boot" "ProcessTwo" "Parameters" "Environment" "User" "WorkingDirectory"
|
||||
"Capability" "DropCapability" "KillSignal" "Personality" "MachineId"
|
||||
"PrivateUsers" "NotifyReady"
|
||||
"PivotRoot" "Capability" "DropCapability" "NoNewPrivileges" "KillSignal"
|
||||
"Personality" "MachineId" "PrivateUsers" "NotifyReady" "SystemCallFilter"
|
||||
"LimitCPU" "LimitFSIZE" "LimitDATA" "LimitSTACK" "LimitCORE" "LimitRSS"
|
||||
"LimitNOFILE" "LimitAS" "LimitNPROC" "LimitMEMLOCK" "LimitLOCKS"
|
||||
"LimitSIGPENDING" "LimitMSGQUEUE" "LimitNICE" "LimitRTPRIO" "LimitRTTIME"
|
||||
"OOMScoreAdjust" "CPUAffinity" "Hostname" "ResolvConf" "Timezone"
|
||||
"LinkJournal"
|
||||
])
|
||||
(assertValueOneOf "Boot" boolValues)
|
||||
(assertValueOneOf "ProcessTwo" boolValues)
|
||||
@ -20,8 +25,8 @@ let
|
||||
|
||||
checkFiles = checkUnitConfig "Files" [
|
||||
(assertOnlyFields [
|
||||
"ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystems"
|
||||
"PrivateUsersChown"
|
||||
"ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystem"
|
||||
"Overlay" "OverlayReadOnly" "PrivateUsersChown"
|
||||
])
|
||||
(assertValueOneOf "ReadOnly" boolValues)
|
||||
(assertValueOneOf "Volatile" (boolValues ++ [ "state" ]))
|
||||
|
@ -601,8 +601,27 @@ in
|
||||
type = types.lines;
|
||||
example = "IdleAction=lock";
|
||||
description = ''
|
||||
Extra config options for systemd-logind. See man logind.conf for
|
||||
available options.
|
||||
Extra config options for systemd-logind. See
|
||||
<link xlink:href="https://www.freedesktop.org/software/systemd/man/logind.conf.html">
|
||||
logind.conf(5)</link> for available options.
|
||||
'';
|
||||
};
|
||||
|
||||
services.logind.killUserProcesses = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Specifies whether the processes of a user should be killed
|
||||
when the user logs out. If true, the scope unit corresponding
|
||||
to the session and all processes inside that scope will be
|
||||
terminated. If false, the scope is "abandoned" (see
|
||||
<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.scope.html#">
|
||||
systemd.scope(5)</link>), and processes are not killed.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
See <link xlink:href="https://www.freedesktop.org/software/systemd/man/logind.conf.html#KillUserProcesses=">logind.conf(5)</link>
|
||||
for more details.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -771,7 +790,7 @@ in
|
||||
|
||||
"systemd/logind.conf".text = ''
|
||||
[Login]
|
||||
KillUserProcesses=no
|
||||
KillUserProcesses=${if config.services.logind.killUserProcesses then "yes" else "no"}
|
||||
HandleLidSwitch=${config.services.logind.lidSwitch}
|
||||
HandleLidSwitchDocked=${config.services.logind.lidSwitchDocked}
|
||||
${config.services.logind.extraConfig}
|
||||
|
@ -39,6 +39,7 @@ in
|
||||
cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {};
|
||||
chromium = (handleTestOn ["x86_64-linux"] ./chromium.nix {}).stable or {};
|
||||
cjdns = handleTest ./cjdns.nix {};
|
||||
clamav = handleTest ./clamav.nix {};
|
||||
cloud-init = handleTest ./cloud-init.nix {};
|
||||
codimd = handleTest ./codimd.nix {};
|
||||
containers-bridge = handleTest ./containers-bridge.nix {};
|
||||
@ -106,7 +107,7 @@ in
|
||||
installer = handleTest ./installer.nix {};
|
||||
ipv6 = handleTest ./ipv6.nix {};
|
||||
jenkins = handleTest ./jenkins.nix {};
|
||||
kafka = handleTest ./kafka.nix {};
|
||||
#kafka = handleTest ./kafka.nix {}; # broken since openjdk: 8u181 -> 8u192
|
||||
kerberos = handleTest tests/kerberos/default.nix {};
|
||||
kernel-latest = handleTest ./kernel-latest.nix {};
|
||||
kernel-lts = handleTest ./kernel-lts.nix {};
|
||||
@ -157,7 +158,6 @@ in
|
||||
openssh = handleTest ./openssh.nix {};
|
||||
osquery = handleTest ./osquery.nix {};
|
||||
ostree = handleTest ./ostree.nix {};
|
||||
owncloud = handleTest ./owncloud.nix {};
|
||||
pam-oath-login = handleTest ./pam-oath-login.nix {};
|
||||
peerflix = handleTest ./peerflix.nix {};
|
||||
pgjwt = handleTest ./pgjwt.nix {};
|
||||
|
@ -130,6 +130,9 @@ in {
|
||||
# Make sure keepFile has the correct content
|
||||
$client->succeed("$borg extract '${localRepo}::${archiveName}'");
|
||||
$client->succeed('c=$(cat ${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
|
||||
# Make sure the same is true when using `borg mount`
|
||||
$client->succeed("mkdir -p /mnt/borg && $borg mount '${localRepo}::${archiveName}' /mnt/borg");
|
||||
$client->succeed('c=$(cat /mnt/borg/${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
|
||||
};
|
||||
|
||||
subtest "remote", sub {
|
||||
|
37
nixos/tests/clamav.nix
Normal file
37
nixos/tests/clamav.nix
Normal file
@ -0,0 +1,37 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: let
|
||||
|
||||
eicarTestFile = pkgs.fetchurl {
|
||||
url = "http://2016.eicar.org/download/eicar.com.txt";
|
||||
sha256 = "03zxa7vap2jkqjif4bzcjp33yrnip5yrz2bisia9wj5npwdh4ni7";
|
||||
};
|
||||
|
||||
clamavMain = builtins.fetchurl "http://database.clamav.net/main.cvd";
|
||||
clamavDaily = builtins.fetchurl "http://database.clamav.net/daily.cvd";
|
||||
clamavBytecode = builtins.fetchurl "http://database.clamav.net/bytecode.cvd";
|
||||
|
||||
in {
|
||||
name = "clamav";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ fpletz ];
|
||||
};
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
services.clamav.daemon.enable = true;
|
||||
systemd.services.clamav-daemon.preStart = ''
|
||||
mkdir -p /var/lib/clamav
|
||||
ln -sf ${clamavMain} /var/lib/clamav/main.cvd
|
||||
ln -sf ${clamavDaily} /var/lib/clamav/daily.cvd
|
||||
ln -sf ${clamavBytecode} /var/lib/clamav/bytecode.cvd
|
||||
'';
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
$machine->waitForUnit("multi-user.target");
|
||||
$machine->waitForUnit("clamav-daemon.service");
|
||||
$machine->waitForFile("/run/clamav/clamd.ctl");
|
||||
$machine->fail("clamdscan ${eicarTestFile}");
|
||||
'';
|
||||
})
|
@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
|
||||
|
||||
nodes = {
|
||||
gitlab = { ... }: {
|
||||
virtualisation.memorySize = 2047;
|
||||
virtualisation.memorySize = if pkgs.stdenv.is64bit then 4096 else 2047;
|
||||
systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
|
||||
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
|
||||
systemd.services.gitaly.serviceConfig.Restart = mkForce "no";
|
||||
|
@ -23,11 +23,21 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
# wait for gdm to start and bring up X
|
||||
testScript = let
|
||||
# Keep line widths somewhat managable
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus";
|
||||
gdbus = "${bus} gdbus";
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
|
||||
# False when startup is done
|
||||
startingUp = "${gdbus} ${eval} Main.layoutManager._startingUp";
|
||||
# Hopefully gnome-terminal's wm class
|
||||
wmClass = "${gdbus} ${eval} global.display.focus_window.wm_class";
|
||||
in ''
|
||||
# wait for gdm to start
|
||||
$machine->waitForUnit("display-manager.service");
|
||||
$machine->waitForX;
|
||||
|
||||
# wait for alice to be logged in
|
||||
$machine->waitForUnit("default.target","alice");
|
||||
@ -35,10 +45,16 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
# Check that logging in has given the user ownership of devices.
|
||||
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
|
||||
|
||||
# open a terminal and check it's there
|
||||
$machine->succeed("su - alice -c 'DISPLAY=:0.0 XAUTHORITY=/run/user/\$UID/gdm/Xauthority gnome-terminal'");
|
||||
$machine->succeed("xauth merge /run/user/1000/gdm/Xauthority");
|
||||
$machine->waitForWindow(qr/Terminal/);
|
||||
# Wait for the wayland server
|
||||
$machine->waitForFile("/run/user/1000/wayland-0");
|
||||
|
||||
# Wait for gnome shell, correct output should be "(true, 'false')"
|
||||
$machine->waitUntilSucceeds("su - alice -c '${startingUp} | grep -q true,..false'");
|
||||
|
||||
# open a terminal
|
||||
$machine->succeed("su - alice -c '${bus} gnome-terminal'");
|
||||
# and check it's there
|
||||
$machine->waitUntilSucceeds("su - alice -c '${wmClass} | grep -q gnome-terminal-server'");
|
||||
|
||||
# wait to get a nice screenshot
|
||||
$machine->sleep(20);
|
||||
|
@ -16,7 +16,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
services.xserver.displayManager.lightdm.autoLogin.enable = true;
|
||||
services.xserver.displayManager.lightdm.autoLogin.user = "alice";
|
||||
services.xserver.desktopManager.gnome3.enable = true;
|
||||
services.xserver.desktopManager.default = "gnome";
|
||||
services.xserver.desktopManager.default = "gnome-xorg";
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
@ -33,7 +33,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
|
||||
$machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
|
||||
$machine->succeed("xauth merge ~alice/.Xauthority");
|
||||
$machine->waitForWindow(qr/Terminal/);
|
||||
$machine->waitForWindow(qr/alice.*machine/);
|
||||
$machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'");
|
||||
$machine->sleep(10);
|
||||
$machine->screenshot("screen");
|
||||
|
@ -28,7 +28,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
$machine->waitForFile("/home/alice/.config/i3/config");
|
||||
$machine->sleep(2);
|
||||
$machine->sendKeys("alt-ret");
|
||||
$machine->waitForWindow(qr/machine.*alice/);
|
||||
$machine->waitForWindow(qr/alice.*machine/);
|
||||
$machine->sleep(2);
|
||||
$machine->screenshot("terminal");
|
||||
'';
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
pkgs ? import ../../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../../lib/testing.nix { inherit system pkgs; };
|
||||
|
@ -3,7 +3,6 @@ with pkgs.lib;
|
||||
let
|
||||
base = {
|
||||
inherit roles;
|
||||
featureGates = ["AllAlpha"];
|
||||
flannel.enable = true;
|
||||
addons.dashboard.enable = true;
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
import ./make-test.nix ({ ... }:
|
||||
|
||||
{
|
||||
name = "owncloud";
|
||||
nodes =
|
||||
{ web =
|
||||
{ ... }:
|
||||
{
|
||||
services.postgresql.enable = true;
|
||||
services.httpd = {
|
||||
enable = true;
|
||||
logPerVirtualHost = true;
|
||||
adminAddr = "example@example.com";
|
||||
virtualHosts = [
|
||||
{
|
||||
hostName = "owncloud";
|
||||
extraSubservices =
|
||||
[
|
||||
{
|
||||
serviceType = "owncloud";
|
||||
adminPassword = "secret";
|
||||
dbPassword = "secret";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$web->waitForUnit("postgresql");
|
||||
$web->waitForUnit("httpd");
|
||||
|
||||
$web->succeed("curl -L 127.0.0.1:80");
|
||||
'';
|
||||
})
|
@ -63,6 +63,12 @@ in {
|
||||
ensurePermissions = { "slurm_acct_db.*" = "ALL PRIVILEGES"; };
|
||||
name = "slurm";
|
||||
}];
|
||||
extraOptions = ''
|
||||
# recommendations from: https://slurm.schedmd.com/accounting.html#mysql-configuration
|
||||
innodb_buffer_pool_size=1024M
|
||||
innodb_log_file_size=64M
|
||||
innodb_lock_wait_timeout=900
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@ -95,6 +101,7 @@ in {
|
||||
subtest "can_start_slurmdbd", sub {
|
||||
$dbd->succeed("systemctl restart slurmdbd");
|
||||
$dbd->waitForUnit("slurmdbd.service");
|
||||
$dbd->waitForOpenPort(6819);
|
||||
};
|
||||
|
||||
# there needs to be an entry for the current
|
||||
|
@ -56,6 +56,11 @@ import ./make-test.nix {
|
||||
$machine->succeed('test -z $(ls -1 /var/log/journal)');
|
||||
};
|
||||
|
||||
# Regression test for https://github.com/NixOS/nixpkgs/issues/50273
|
||||
subtest "DynamicUser actually allocates a user", sub {
|
||||
$machine->succeed('systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami | grep iamatest');
|
||||
};
|
||||
|
||||
# Regression test for https://github.com/NixOS/nixpkgs/issues/35268
|
||||
subtest "file system with x-initrd.mount is not unmounted", sub {
|
||||
$machine->shutdown;
|
||||
|
@ -22,7 +22,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
$machine->waitUntilSucceeds("xmonad --restart");
|
||||
$machine->sleep(3);
|
||||
$machine->sendKeys("alt-shift-ret");
|
||||
$machine->waitForWindow(qr/machine.*alice/);
|
||||
$machine->waitForWindow(qr/alice.*machine/);
|
||||
$machine->sleep(1);
|
||||
$machine->screenshot("terminal");
|
||||
'';
|
||||
|
@ -45,7 +45,7 @@ rec {
|
||||
dcrd = callPackage ./dcrd.nix { };
|
||||
dcrwallet = callPackage ./dcrwallet.nix { };
|
||||
|
||||
dero = callPackage ./dero.nix { };
|
||||
dero = callPackage ./dero.nix { boost = boost165; };
|
||||
|
||||
dogecoin = callPackage ./dogecoin.nix { boost = boost165; withGui = true; };
|
||||
dogecoind = callPackage ./dogecoin.nix { boost = boost165; withGui = false; };
|
||||
@ -65,7 +65,7 @@ rec {
|
||||
};
|
||||
litecoind = litecoin.override { withGui = false; };
|
||||
|
||||
masari = callPackage ./masari.nix { };
|
||||
masari = callPackage ./masari.nix { boost = boost165; };
|
||||
|
||||
memorycoin = callPackage ./memorycoin.nix { boost = boost165; withGui = true; };
|
||||
memorycoind = callPackage ./memorycoin.nix { boost = boost165; withGui = false; };
|
||||
@ -79,7 +79,7 @@ rec {
|
||||
|
||||
stellar-core = callPackage ./stellar-core.nix { };
|
||||
|
||||
sumokoin = callPackage ./sumokoin.nix { };
|
||||
sumokoin = callPackage ./sumokoin.nix { boost = boost165; };
|
||||
|
||||
wownero = callPackage ./wownero.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
|
||||
@ -94,5 +94,7 @@ rec {
|
||||
parity-beta = callPackage ./parity/beta.nix { };
|
||||
parity-ui = callPackage ./parity-ui { };
|
||||
|
||||
polkadot = callPackage ./polkadot { };
|
||||
|
||||
particl-core = callPackage ./particl/particl-core.nix { miniupnpc = miniupnpc_2; };
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "go-ethereum-${version}";
|
||||
version = "1.8.19";
|
||||
version = "1.8.20";
|
||||
goPackagePath = "github.com/ethereum/go-ethereum";
|
||||
|
||||
# Fix for usb-related segmentation faults on darwin
|
||||
@ -16,7 +16,7 @@ buildGoPackage rec {
|
||||
owner = "ethereum";
|
||||
repo = "go-ethereum";
|
||||
rev = "v${version}";
|
||||
sha256 = "0shp8ak44v52ynlyawfh53wczd3zch7ydf6bmbrhm5rpbribirwr";
|
||||
sha256 = "0m2q1nz6f39pyr2rk6vflkwi4ykganzwr7wndpwr9rliw0x8jgi0";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchgit
|
||||
, cmake, pkgconfig, git
|
||||
, boost, miniupnpc, openssl, unbound, cppzmq
|
||||
, zeromq, pcsclite, readline, libsodium
|
||||
, zeromq, pcsclite, readline, libsodium, hidapi
|
||||
, CoreData, IOKit, PCSC
|
||||
}:
|
||||
|
||||
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
boost miniupnpc openssl unbound
|
||||
cppzmq zeromq pcsclite readline
|
||||
libsodium
|
||||
libsodium hidapi
|
||||
] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -1,9 +1,6 @@
|
||||
let
|
||||
version = "2.2.1";
|
||||
sha256 = "1m65pks2jk83j82f1i901p03qb54xhcp6gfjngcm975187zzvmcq";
|
||||
cargoSha256 = "1mf1jgphwvhlqkvzrgbhnqfyqgf3ljc1l9zckyilzmw5k4lf4g1w";
|
||||
patches = [
|
||||
./patches/vendored-sources-2.2.patch
|
||||
];
|
||||
version = "2.2.4";
|
||||
sha256 = "12qcfmc56vnay25nlflgwhm3iwlr7hd286wzzanlsalizaj5s5ja";
|
||||
cargoSha256 = "11cwzqd459ld0apl2wnarfc4nb6j9j0dh26y3smvr0zsxvaz1r53";
|
||||
in
|
||||
import ./parity.nix { inherit version sha256 cargoSha256 patches; }
|
||||
import ./parity.nix { inherit version sha256 cargoSha256; }
|
||||
|
@ -1,7 +1,6 @@
|
||||
let
|
||||
version = "2.1.6";
|
||||
sha256 = "0njkypszi0fjh9y0zfgxbycs4c1wpylk7wx6xn1pp6gqvvri6hav";
|
||||
cargoSha256 = "116sj7pi50k5gb1i618g4pgckqaf8kb13jh2a3shj2kwywzzcgjs";
|
||||
patches = [ ./patches/vendored-sources-2.1.patch ];
|
||||
version = "2.1.9";
|
||||
sha256 = "1xxpv2cxfcjwxfxkn2732y1wxh9rpiwmlb2ij09cg5nph669hy0v";
|
||||
cargoSha256 = "1v44l90bacw8d3ilnmrc49dxdpyckh7iamylkpa1pc0rrpiv5vy4";
|
||||
in
|
||||
import ./parity.nix { inherit version sha256 cargoSha256 patches; }
|
||||
import ./parity.nix { inherit version sha256 cargoSha256; }
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ version
|
||||
, sha256
|
||||
, cargoSha256
|
||||
, patches
|
||||
}:
|
||||
|
||||
{ stdenv
|
||||
@ -16,7 +15,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "parity-${version}";
|
||||
inherit cargoSha256 patches;
|
||||
inherit cargoSha256;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
@ -30,7 +29,7 @@ rustPlatform.buildRustPackage rec {
|
||||
systemd.lib systemd.dev openssl openssl.dev
|
||||
];
|
||||
|
||||
# Some checks failed
|
||||
# test result: FAILED. 80 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out
|
||||
doCheck = false;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,83 +0,0 @@
|
||||
diff --git a/.cargo/config b/.cargo/config
|
||||
index 72652ad2f..3c0eca89a 100644
|
||||
--- a/.cargo/config
|
||||
+++ b/.cargo/config
|
||||
@@ -1,3 +1,78 @@
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
# Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
|
||||
rustflags = ["-Ctarget-feature=+crt-static"]
|
||||
+
|
||||
+[source."https://github.com/alexcrichton/mio-named-pipes"]
|
||||
+git = "https://github.com/alexcrichton/mio-named-pipes"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/nikvolf/parity-tokio-ipc"]
|
||||
+git = "https://github.com/nikvolf/parity-tokio-ipc"
|
||||
+rev = "c0f80b40399d7f08ef1e6869569640eb28645f56"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/nikvolf/tokio-named-pipes"]
|
||||
+git = "https://github.com/nikvolf/tokio-named-pipes"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/app-dirs-rs"]
|
||||
+git = "https://github.com/paritytech/app-dirs-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/bn"]
|
||||
+git = "https://github.com/paritytech/bn"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/daemonize"]
|
||||
+git = "https://github.com/paritytech/daemonize"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/hidapi-rs"]
|
||||
+git = "https://github.com/paritytech/hidapi-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/jsonrpc.git"]
|
||||
+git = "https://github.com/paritytech/jsonrpc.git"
|
||||
+branch = "parity-1.11"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/libusb-rs"]
|
||||
+git = "https://github.com/paritytech/libusb-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/libusb-sys"]
|
||||
+git = "https://github.com/paritytech/libusb-sys"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/ring"]
|
||||
+git = "https://github.com/paritytech/ring"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-ctrlc.git"]
|
||||
+git = "https://github.com/paritytech/rust-ctrlc.git"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-secp256k1"]
|
||||
+git = "https://github.com/paritytech/rust-secp256k1"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/trezor-sys"]
|
||||
+git = "https://github.com/paritytech/trezor-sys"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/tomusdrw/ws-rs"]
|
||||
+git = "https://github.com/tomusdrw/ws-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
@ -1,98 +0,0 @@
|
||||
diff --git a/.cargo/config b/.cargo/config
|
||||
index 72652ad2f..3c0eca89a 100644
|
||||
--- a/.cargo/config
|
||||
+++ b/.cargo/config
|
||||
@@ -1,3 +1,93 @@
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
# Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
|
||||
rustflags = ["-Ctarget-feature=+crt-static"]
|
||||
+
|
||||
+[source."https://github.com/alexcrichton/mio-named-pipes"]
|
||||
+git = "https://github.com/alexcrichton/mio-named-pipes"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/nikvolf/parity-tokio-ipc"]
|
||||
+git = "https://github.com/nikvolf/parity-tokio-ipc"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/nikvolf/tokio-named-pipes"]
|
||||
+git = "https://github.com/nikvolf/tokio-named-pipes"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/app-dirs-rs"]
|
||||
+git = "https://github.com/paritytech/app-dirs-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/bn"]
|
||||
+git = "https://github.com/paritytech/bn"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/daemonize"]
|
||||
+git = "https://github.com/paritytech/daemonize"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/hidapi-rs"]
|
||||
+git = "https://github.com/paritytech/hidapi-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/jsonrpc.git"]
|
||||
+git = "https://github.com/paritytech/jsonrpc.git"
|
||||
+branch = "parity-2.2"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/libusb-rs"]
|
||||
+git = "https://github.com/paritytech/libusb-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/libusb-sys"]
|
||||
+git = "https://github.com/paritytech/libusb-sys"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/parity-common"]
|
||||
+git = "https://github.com/paritytech/parity-common"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/ring"]
|
||||
+git = "https://github.com/paritytech/ring"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-ctrlc.git"]
|
||||
+git = "https://github.com/paritytech/rust-ctrlc.git"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-rocksdb"]
|
||||
+git = "https://github.com/paritytech/rust-rocksdb"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-secp256k1"]
|
||||
+git = "https://github.com/paritytech/rust-secp256k1"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/rust-snappy"]
|
||||
+git = "https://github.com/paritytech/rust-snappy"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/paritytech/trezor-sys"]
|
||||
+git = "https://github.com/paritytech/trezor-sys"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
+[source."https://github.com/tomusdrw/ws-rs"]
|
||||
+git = "https://github.com/tomusdrw/ws-rs"
|
||||
+branch = "master"
|
||||
+replace-with = "vendored-sources"
|
30
pkgs/applications/altcoins/polkadot/default.nix
Normal file
30
pkgs/applications/altcoins/polkadot/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, pkgconfig
|
||||
, openssl
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "polkadot-${version}";
|
||||
version = "0.2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "substrate";
|
||||
rev = "19f4f4d4df3bb266086b4e488739f73d3d5e588c";
|
||||
sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj";
|
||||
};
|
||||
|
||||
cargoSha256 = "0wwkaxqj2v5zach5xcqfzf6prc0gxy2v47janglp44xbxbx9xk08";
|
||||
|
||||
buildInputs = [ pkgconfig openssl openssl.dev ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Polkadot Node Implementation";
|
||||
homepage = http://polkadot.network;
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.akru ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drumkv1-${version}";
|
||||
version = "0.9.3";
|
||||
version = "0.9.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
|
||||
sha256 = "0a38vpyyppjdwifidrhgj4bnsx4jjx413657s59j0r4q8rg55jca";
|
||||
sha256 = "02j10khl3wd17z0wfs3crr55wv7h9f0qhhg90xg0kvrxvw83vzy9";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
|
||||
|
@ -4,8 +4,8 @@
|
||||
, gobject-introspection, wrapGAppsHook }:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "lollypop";
|
||||
version = "0.9.611";
|
||||
name = "lollypop-${version}";
|
||||
|
||||
format = "other";
|
||||
doCheck = false;
|
||||
@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
libsoup
|
||||
];
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
beautifulsoup4
|
||||
gst-python
|
||||
pillow
|
||||
@ -56,15 +56,15 @@ python3.pkgs.buildPythonApplication rec {
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
buildPythonPath "$out/libexec/lollypop-sp $pythonPath"
|
||||
buildPythonPath "$out $propagatedBuildInputs"
|
||||
patchPythonScript "$out/libexec/lollypop-sp"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A modern music player for GNOME";
|
||||
homepage = https://wiki.gnome.org/Apps/Lollypop;
|
||||
license = licenses.gpl3Plus;
|
||||
homepage = https://wiki.gnome.org/Apps/Lollypop;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ worldofpeace ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "Mopidy-Iris";
|
||||
version = "3.31.2";
|
||||
version = "3.31.3";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0639ib5nicrabckjd17wdmhl8n3822gc2p1bn0xv8mq70paspar6";
|
||||
sha256 = "060kvwlch2jgiriafly8y03fp8gpbw9xiwhq8ncdij390a03iz8n";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -44,13 +44,13 @@ let
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "pulseeffects-${version}";
|
||||
version = "4.4.0";
|
||||
version = "4.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wwmm";
|
||||
repo = "pulseeffects";
|
||||
rev = "v${version}";
|
||||
sha256 = "0bjzlqyvcp9hxaq07nqr14k9kvan5myaxb7ci30gz0fgayib85lv";
|
||||
sha256 = "0hb575h9hdknhwvhn5lak89ddavn4v5c0nipnv8dsfnmjhfli5qm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deja-dup-${version}";
|
||||
version = "38.0";
|
||||
version = "38.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/deja-dup/${stdenv.lib.versions.major version}/${version}/+download/deja-dup-${version}.tar.xz";
|
||||
sha256 = "1l3sa24v0v6xf312h36jikfi8zyx6z3nmc7pjzgdp7l89gkdm65v";
|
||||
sha256 = "0wm7z72qbsljzsysxg8h5sbpg56ignn9mp8v3xynn12dv3gv6rba";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -18,9 +18,9 @@ let
|
||||
sha256Hash = "05rjwvcph0wx0p0hai5z6n9lnyhk3i5yvbvhr51jc8s3k3b6jyi5";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.4.0.6"; # "Android Studio 3.4 Canary 7"
|
||||
build = "183.5159543";
|
||||
sha256Hash = "0r685qqx4w1hwbd8jgrh7ks8bw9m7823ffhd3x6pl7j4b9hpc858";
|
||||
version = "3.4.0.7"; # "Android Studio 3.4 Canary 8"
|
||||
build = "183.5173923";
|
||||
sha256Hash = "0bf96c9db15rw1k1znz6yxhbrn9q990zy3pkq0nsirnqfpgllvpi";
|
||||
};
|
||||
in rec {
|
||||
# Old alias
|
||||
|
@ -3,14 +3,14 @@
|
||||
let
|
||||
versions = {
|
||||
atom = {
|
||||
version = "1.32.1";
|
||||
sha256 = "1x22jbhvagqw9mvq0v7z4z09qp727vl0rkyvaxn98xnj9gvcfkq9";
|
||||
version = "1.33.0";
|
||||
sha256 = "0f6m6zwgz94m3q11ipyiliap3s5a3zlrg3ldjwkqnxjl6gwlxc2r";
|
||||
};
|
||||
|
||||
atom-beta = {
|
||||
version = "1.33.0";
|
||||
beta = 1;
|
||||
sha256 = "0sf98apmb57msgr5p1xly0mffzn2s808nsfsmbisk4qqmm9fv2m3";
|
||||
version = "1.34.0";
|
||||
beta = 0;
|
||||
sha256 = "1xnrr4z55sj46hqr0il26sfs6s3knv60m340cw3rzzic271b3ifw";
|
||||
};
|
||||
};
|
||||
|
||||
@ -79,7 +79,7 @@ let
|
||||
description = "A hackable text editor for the 21st Century";
|
||||
homepage = https://atom.io/;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ offline nequissimus synthetica ysndr ];
|
||||
maintainers = with maintainers; [ offline nequissimus ysndr ];
|
||||
platforms = platforms.x86_64;
|
||||
};
|
||||
};
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghostwriter";
|
||||
version = "1.7.3";
|
||||
version = "1.7.4";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wereturtle";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1xkxd59rw2dn6xphgcl06zzmfgs1zna2w0pxrk0f49ywffvkvs72";
|
||||
sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig ];
|
||||
|
@ -7,6 +7,7 @@
|
||||
, flatpak
|
||||
, glibcLocales
|
||||
, gnome3
|
||||
, libgit2-glib
|
||||
, gobject-introspection
|
||||
, gspell
|
||||
, gtk-doc
|
||||
@ -61,7 +62,7 @@ in stdenv.mkDerivation {
|
||||
ctags
|
||||
flatpak
|
||||
gnome3.devhelp
|
||||
gnome3.libgit2-glib
|
||||
libgit2-glib
|
||||
gnome3.libpeas
|
||||
gnome3.vte
|
||||
gspell
|
||||
|
@ -4,17 +4,17 @@ with stdenv.lib;
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
pname = "neovim-remote";
|
||||
version = "2.1.0";
|
||||
version = "2.1.1";
|
||||
disabled = !pythonPackages.isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mhinz";
|
||||
repo = "neovim-remote";
|
||||
rev = "v${version}";
|
||||
sha256 = "0gri4d8gg5hvywffvj8r123d06x006qhink7d54yk6lvplw64gyc";
|
||||
sha256 = "1hkzcc141imjin03wpfykw50k0vs7vj1lr09czb2hsyf937gyjqn";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ neovim psutil ];
|
||||
propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
|
||||
|
||||
meta = {
|
||||
description = "A tool that helps controlling nvim processes from a terminal";
|
||||
|
@ -16,7 +16,6 @@ let
|
||||
, withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */
|
||||
, withNodeJs? false
|
||||
, withRuby ? true
|
||||
, withPyGUI ? false
|
||||
, vimAlias ? false
|
||||
, viAlias ? false
|
||||
, configure ? {}
|
||||
@ -43,13 +42,13 @@ let
|
||||
|
||||
pluginPythonPackages = getDeps "pythonDependencies" requiredPlugins;
|
||||
pythonEnv = pythonPackages.python.withPackages(ps:
|
||||
(if withPyGUI then [ ps.neovim_gui ] else [ ps.neovim ])
|
||||
[ ps.pynvim ]
|
||||
++ (extraPythonPackagesFun ps)
|
||||
++ (concatMap (f: f ps) pluginPythonPackages));
|
||||
|
||||
pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
|
||||
python3Env = python3Packages.python.withPackages (ps:
|
||||
[ ps.neovim ]
|
||||
[ ps.pynvim ]
|
||||
++ (extraPython3PackagesFun ps)
|
||||
++ (concatMap (f: f ps) pluginPython3Packages));
|
||||
|
||||
@ -88,10 +87,6 @@ let
|
||||
makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH
|
||||
'' + optionalString withRuby ''
|
||||
ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
|
||||
''
|
||||
+ optionalString withPyGUI ''
|
||||
makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
|
||||
--prefix PATH : "$out/bin"
|
||||
'' + optionalString vimAlias ''
|
||||
ln -s $out/bin/nvim $out/bin/vim
|
||||
'' + optionalString viAlias ''
|
||||
|
@ -9,13 +9,19 @@ stdenv.mkDerivation rec {
|
||||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
name = "sublimetext-2.0.2.tar.bz2";
|
||||
url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2;
|
||||
url = [
|
||||
http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2
|
||||
https://download.sublimetext.com/Sublime%20Text%202.0.2.tar.bz2
|
||||
];
|
||||
sha256 = "026g5mppk28lzzzn9ibykcqkrd5msfmg0sc0z8w8jd7v3h28wcq7";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
name = "sublimetext-2.0.2.tar.bz2";
|
||||
url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2;
|
||||
url = [
|
||||
http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2
|
||||
https://download.sublimetext.com/Sublime%20Text%202.0.2%20x64.tar.bz2
|
||||
];
|
||||
sha256 = "115b71nbv9mv8cz6bkjwpbdf2ywnjc1zy2d3080f6ck4sqqfvfh1";
|
||||
};
|
||||
buildCommand = ''
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchgit
|
||||
{ stdenv, fetchFromGitHub
|
||||
, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -6,20 +6,27 @@ stdenv.mkDerivation rec {
|
||||
name = "tecoc-git-${version}";
|
||||
version = "20150606";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/blakemcbride/TECOC.git";
|
||||
src = fetchFromGitHub {
|
||||
owner = "blakemcbride";
|
||||
repo = "TECOC";
|
||||
rev = "d7dffdeb1dfb812e579d6d3b518545b23e1b50cb";
|
||||
sha256 = "11zfa73dlx71c0hmjz5n3wqcvk6082rpb4sss877nfiayisc0njj";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
configurePhase = ''
|
||||
cp src/makefile.linux src/Makefile
|
||||
'';
|
||||
buildPhase = ''
|
||||
make CC=${stdenv.cc}/bin/cc -C src/
|
||||
'';
|
||||
makefile = if stdenv.hostPlatform.isDarwin
|
||||
then "makefile.osx"
|
||||
else if stdenv.hostPlatform.isFreeBSD
|
||||
then "makefile.bsd"
|
||||
else if stdenv.hostPlatform.isOpenBSD
|
||||
then "makefile.bsd"
|
||||
else if stdenv.hostPlatform.isWindows
|
||||
then "makefile.win"
|
||||
else "makefile.linux"; # I think Linux is a safe default...
|
||||
|
||||
makeFlags = [ "CC=${stdenv.cc}/bin/cc" "-C src/" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/doc/${name} $out/lib/teco/macros
|
||||
cp src/tecoc $out/bin
|
||||
@ -31,26 +38,26 @@ stdenv.mkDerivation rec {
|
||||
ln -s tecoc teco
|
||||
ln -s tecoc Inspect )
|
||||
'';
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A clone of the good old TECO editor";
|
||||
longDescription = ''
|
||||
For those who don't know: TECO is the acronym of Tape Editor and
|
||||
COrrector (because it was a paper tape edition tool in its debut
|
||||
days). Now the acronym follows after Text Editor and Corrector,
|
||||
or Text Editor Character-Oriented.
|
||||
|
||||
TECO is a character-oriented text editor, originally developed
|
||||
bu Dan Murphy at MIT circa 1962. It is also a Turing-complete
|
||||
imperative interpreted programming language for text
|
||||
manipulation, done via user-loaded sets of macros. In fact, Emacs
|
||||
was born as a set of Editor MACroS for TECO.
|
||||
For those who don't know: TECO is the acronym of Tape Editor and COrrector
|
||||
(because it was a paper tape edition tool in its debut days). Now the
|
||||
acronym follows after Text Editor and Corrector, or Text Editor
|
||||
Character-Oriented.
|
||||
|
||||
TECO is a character-oriented text editor, originally developed by Dan
|
||||
Murphy at MIT circa 1962. It is also a Turing-complete imperative
|
||||
interpreted programming language for text manipulation, done via
|
||||
user-loaded sets of macros. In fact, the venerable Emacs was born as a set
|
||||
of Editor MACroS for TECO.
|
||||
|
||||
TECOC is a portable C implementation of TECO-11.
|
||||
'';
|
||||
homepage = https://github.com/blakemcbride/TECOC;
|
||||
license = { url = https://github.com/blakemcbride/TECOC/tree/master/doc/readme-1st.txt; };
|
||||
maintainers = [ maintainers.AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
# TODO: test in other platforms - especially Darwin
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "texstudio";
|
||||
version = "2.12.10";
|
||||
version = "2.12.14";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "${pname}-org";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0mkx7fym41hwd7cdg31ji2hxlv3gxx0sa6bnap51ryxmq8sxdjhq";
|
||||
sha256 = "08vfhkgzhh1227wcvr5wwpnw0072c80nf2crhmxwh3jgjfgi538f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qt5.qmake pkgconfig ];
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "8.1.0535";
|
||||
version = "8.1.0578";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim";
|
||||
repo = "vim";
|
||||
rev = "v${version}";
|
||||
sha256 = "0kgh213ca2qfrwdqfimrnhlxidjbrg26icxw00rivjiv1blii7ck";
|
||||
sha256 = "0sawqxp2737y6mga9da36qya47h0idnnaxblzpsx8clw002piyv2";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -12,9 +12,9 @@ let
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "0r19i3gg6iz8j7plb89c0k8r3wlh9vxbv7mwbssy0yvhid2af3ww";
|
||||
"x86_64-linux" = "1r66mjz4lgv3dk0rjb9p27ha9y7vj7xld9x9gqnjxqx9ify71r9i";
|
||||
"x86_64-darwin" = "0akr8675hnppxwr8xy5lr6rlqz8zg1fj823vks5mx3ssmd3sg189";
|
||||
"i686-linux" = "0bd2jdn67vnbhrsqy54bymz4di3fw3p18ni5j2wikqkl4d9h4jj1";
|
||||
"x86_64-linux" = "1zbnyff0q15xkvkrs14rfgyn6xb9v0xivcnbl8yckl71s45vb2l1";
|
||||
"x86_64-darwin" = "1qgzhpfzcwym1qyzx2v14336l106hzhs7ii84g356vxkm219x7kw";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
@ -31,7 +31,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vscode-${version}";
|
||||
version = "1.29.1";
|
||||
version = "1.30.0";
|
||||
|
||||
src = fetchurl {
|
||||
name = "VSCode_${version}_${plat}.${archive_fmt}";
|
||||
|
@ -6,11 +6,11 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "feh-${version}";
|
||||
version = "3.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://feh.finalrewind.org/${name}.tar.bz2";
|
||||
sha256 = "00fwf8yz7k8vzd30ly5ndlj6ax9w85dkjzjnlk95vd0zdrf4wyxn";
|
||||
sha256 = "1sy8z6rv5sy1bhk3846hgfdy96wdi874yr2fnxfprks46qp29l31";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" "doc" ];
|
||||
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
install -D -m 644 man/*.1 $out/share/man/man1
|
||||
'';
|
||||
|
||||
checkInputs = [ perlPackages.TestCommand perlPackages.TestHarness ];
|
||||
checkInputs = [ perlPackages.TestCommand ];
|
||||
preCheck = ''
|
||||
export PERL5LIB="${perlPackages.TestCommand}/${perlPackages.perl.libPrefix}"
|
||||
'';
|
||||
|
@ -7,19 +7,19 @@ let
|
||||
custom_swig = fetchFromGitHub {
|
||||
owner = "baldurk";
|
||||
repo = "swig";
|
||||
rev = "renderdoc-modified-5";
|
||||
sha256 = "0ihrxbx56p5wn589fbbsns93fp91sypqdzfxdy7l7v9sf69a41mw";
|
||||
rev = "renderdoc-modified-6";
|
||||
sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.1";
|
||||
version = "1.2";
|
||||
name = "renderdoc-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "baldurk";
|
||||
repo = "renderdoc";
|
||||
rev = "v${version}";
|
||||
sha256 = "0kb9m1dm0mnglqyh1srvl0f1bgjghxzbqarn0xfqw49wphqwhmcd";
|
||||
sha256 = "0s1q5d58x18yz3nf94pv5i1qd2hc0a4gdj4qkpcn8s6ms2x05pz4";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
|
||||
index 2e9f1acf4..ecc80afdc 100644
|
||||
index d85c1a79b..8df02710c 100644
|
||||
--- a/src/akonadicontrol/agentmanager.cpp
|
||||
+++ b/src/akonadicontrol/agentmanager.cpp
|
||||
@@ -84,12 +84,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent)
|
||||
@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent)
|
||||
mStorageController = new Akonadi::ProcessControl;
|
||||
mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld
|
||||
connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
|
||||
@ -15,8 +15,8 @@ index 2e9f1acf4..ecc80afdc 100644
|
||||
- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
|
||||
+ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
|
||||
index be1cc4afb..6d0c1d7e5 100644
|
||||
--- a/src/akonadicontrol/agentprocessinstance.cpp
|
||||
@ -31,7 +31,7 @@ index be1cc4afb..6d0c1d7e5 100644
|
||||
}
|
||||
return true;
|
||||
diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
|
||||
index a32e86602..48ea4e52e 100644
|
||||
index 8b057b459..3fa4548ad 100644
|
||||
--- a/src/server/storage/dbconfigmysql.cpp
|
||||
+++ b/src/server/storage/dbconfigmysql.cpp
|
||||
@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &settings)
|
||||
@ -121,7 +121,7 @@ index a32e86602..48ea4e52e 100644
|
||||
const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
|
||||
if (globalConfig.isEmpty()) {
|
||||
diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp
|
||||
index 60e6272f2..ad7cefbfe 100644
|
||||
index 6b50ae50e..f94a8c5eb 100644
|
||||
--- a/src/server/storage/dbconfigpostgresql.cpp
|
||||
+++ b/src/server/storage/dbconfigpostgresql.cpp
|
||||
@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
@ -132,7 +132,7 @@ index 60e6272f2..ad7cefbfe 100644
|
||||
QString defaultInitDbPath;
|
||||
QString defaultPgData;
|
||||
|
||||
@@ -70,34 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
@@ -70,35 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
|
||||
mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool();
|
||||
if (mInternalServer) {
|
||||
@ -144,7 +144,8 @@ index 60e6272f2..ad7cefbfe 100644
|
||||
- postgresSearchPath << QStringLiteral(POSTGRES_PATH);
|
||||
- }
|
||||
-#endif
|
||||
- postgresSearchPath << QStringLiteral("/usr/sbin")
|
||||
- postgresSearchPath << QStringLiteral("/usr/bin")
|
||||
- << QStringLiteral("/usr/sbin")
|
||||
- << QStringLiteral("/usr/local/sbin");
|
||||
- // Locale all versions in /usr/lib/postgresql (i.e. /usr/lib/postgresql/X.Y) in reversed
|
||||
- // sorted order, so we search from the newest one to the oldest.
|
||||
@ -168,7 +169,7 @@ index 60e6272f2..ad7cefbfe 100644
|
||||
defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc")));
|
||||
defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
|
||||
}
|
||||
@@ -117,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
@@ -118,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
mUserName = settings.value(QStringLiteral("User")).toString();
|
||||
mPassword = settings.value(QStringLiteral("Password")).toString();
|
||||
mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
|
||||
@ -180,7 +181,7 @@ index 60e6272f2..ad7cefbfe 100644
|
||||
qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath;
|
||||
mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString();
|
||||
if (mInternalServer && mInitDbPath.isEmpty()) {
|
||||
@@ -141,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
@@ -142,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
||||
settings.setValue(QStringLiteral("Port"), mHostPort);
|
||||
}
|
||||
settings.setValue(QStringLiteral("Options"), mConnectionOptions);
|
||||
|
@ -165,7 +165,6 @@ let
|
||||
pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};
|
||||
print-manager = callPackage ./print-manager.nix {};
|
||||
spectacle = callPackage ./spectacle.nix {};
|
||||
syndication = callPackage ./syndication.nix {};
|
||||
# Okteta was removed from kde applications and will now be released independently
|
||||
# Lets keep an alias for compatibility reasons
|
||||
inherit okteta;
|
||||
|
@ -1 +1 @@
|
||||
WGET_ARGS=( https://download.kde.org/stable/applications/18.08.1/ -A '*.tar.xz' )
|
||||
WGET_ARGS=( https://download.kde.org/stable/applications/18.12.0/ -A '*.tar.xz' )
|
||||
|
@ -5,7 +5,7 @@
|
||||
akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes,
|
||||
kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement,
|
||||
kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig,
|
||||
pimcommon, qtwebengine, libkgapi
|
||||
pimcommon, qtwebengine, libkgapi, qtspeech
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -19,7 +19,7 @@ mkDerivation {
|
||||
akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes
|
||||
kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap
|
||||
kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine
|
||||
pimcommon libkgapi
|
||||
pimcommon libkgapi qtspeech
|
||||
];
|
||||
# Attempts to build some files before dependencies have been generated
|
||||
enableParallelBuilding = false;
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
kmime, qtbase,
|
||||
kmime, qtbase, kcodecs
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -11,6 +11,6 @@ mkDerivation {
|
||||
maintainers = kdepimTeam;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [ kmime qtbase ];
|
||||
buildInputs = [ kmime qtbase kcodecs ];
|
||||
outputs = [ "out" "dev" ];
|
||||
}
|
||||
|
@ -2,7 +2,8 @@
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
grantlee, kcodecs, kconfigwidgets, kemoticons, ki18n, kiconthemes, kio,
|
||||
kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools,
|
||||
kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools,
|
||||
qtspeech
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -14,7 +15,7 @@ mkDerivation {
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [
|
||||
grantlee kcodecs kconfigwidgets kemoticons ki18n kiconthemes kio kdesignerplugin
|
||||
sonnet syntax-highlighting qttools
|
||||
sonnet syntax-highlighting qttools qtspeech
|
||||
];
|
||||
propagatedBuildInputs = [ ktextwidgets ];
|
||||
outputs = [ "out" "dev" ];
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,16 +0,0 @@
|
||||
{
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
kio
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
name = "syndication";
|
||||
meta = {
|
||||
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
|
||||
maintainers = kdepimTeam;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
propagatedBuildInputs = [ kio ];
|
||||
outputs = [ "out" "dev" ];
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
{ stdenv, go, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "acbuild-${version}";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "appc";
|
||||
repo = "acbuild";
|
||||
rev = "v${version}";
|
||||
sha256 = "0s81xlaw75d05b4cidxml978hnxak8parwpnk9clanwqjbj66c7x";
|
||||
};
|
||||
|
||||
buildInputs = [ go ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's|\git describe --dirty|echo "${version}"|' build
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
patchShebangs build
|
||||
./build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv bin $out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A build tool for ACIs";
|
||||
homepage = https://github.com/appc/acbuild;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ dgonyeo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmltermwidget,
|
||||
qtquickcontrols, qtgraphicaleffects, qmake }:
|
||||
{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmltermwidget
|
||||
, qtquickcontrols, qtgraphicaleffects, qmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0.1";
|
||||
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
mv $out/usr/share $out/share
|
||||
mv $out/usr/bin $out/bin
|
||||
rmdir $out/usr
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -37,8 +39,8 @@ stdenv.mkDerivation rec {
|
||||
eye-candy, customizable, and reasonably lightweight.
|
||||
'';
|
||||
homepage = https://github.com/Swordfish90/cool-retro-term;
|
||||
license = with stdenv.lib.licenses; [ gpl2 gpl3 ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||
maintainers = with stdenv.lib.maintainers; [ skeidel ];
|
||||
};
|
||||
}
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "CopyQ-${version}";
|
||||
version = "3.7.0";
|
||||
version = "3.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hluk";
|
||||
repo = "CopyQ";
|
||||
rev = "v${version}";
|
||||
sha256 = "1dm02l1ry7ndn283774nzmg89wy1933f4iyf6n02p152zgx4llyf";
|
||||
sha256 = "0b3lrhrffvq46n9xc0lzbxhhn1lzmq2lrijjdwizc52458d6h90y";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dbeaver-ce-${version}";
|
||||
version = "5.2.5";
|
||||
version = "5.3.0";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dbeaver";
|
||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||
sha256 = "0xjggjq2brhi9x3i4d7hqfi18cd8czs6rzvihvspfxaqilsai0dm";
|
||||
sha256 = "1gn52bffjn2fw9yhi1rv4iy9dfdn5qxc51gv6qri5g0c8pblvh7m";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -7,14 +7,14 @@ let
|
||||
in
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
version = "3.3.1";
|
||||
version = "3.3.2";
|
||||
name = "electron-cash-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz";
|
||||
# Verified using official SHA-1 and signature from
|
||||
# https://github.com/fyookball/keys-n-hashes
|
||||
sha256 = "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b";
|
||||
sha256 = "4538044cfaa4f87a847635849e0733f32b183ac79abbd2797689c86dc3cb0d53";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
|
||||
pysocks
|
||||
qrcode
|
||||
requests
|
||||
tlslite
|
||||
tlslite-ng
|
||||
|
||||
# plugins
|
||||
keepkey
|
||||
|
@ -22,7 +22,7 @@ python2Packages.buildPythonApplication rec {
|
||||
qrcode
|
||||
requests
|
||||
pyaes
|
||||
tlslite
|
||||
tlslite-ng
|
||||
x11_hash
|
||||
mnemonic
|
||||
jsonrpclib
|
||||
|
@ -35,7 +35,7 @@ python3Packages.buildPythonApplication rec {
|
||||
qdarkstyle
|
||||
qrcode
|
||||
requests
|
||||
tlslite
|
||||
tlslite-ng
|
||||
typing
|
||||
|
||||
# plugins
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig
|
||||
, bzip2, curl, expat, fribidi, libunibreak, sqlite, zlib
|
||||
, uiTarget ? if !stdenv.isDarwin then "desktop" else "macosx"
|
||||
, uiType ? if !stdenv.isDarwin then "qt4" else "cocoa"
|
||||
@ -25,7 +25,14 @@ stdenv.mkDerivation {
|
||||
sha256 = "0lzafk02mv0cf2l2a61q5y4743zi913byik4bw1ix0gr1drnsa7y";
|
||||
};
|
||||
|
||||
patches = [ ./typecheck.patch ];
|
||||
patches = [
|
||||
./typecheck.patch
|
||||
(fetchpatch {
|
||||
name = "curl-7_62.diff"; # see https://github.com/geometer/FBReader/pull/311
|
||||
url = "https://github.com/geometer/FBReader/commit/b7c78e965d06f780.diff";
|
||||
sha256 = "1dgnx9wps7hcf8fkidc7037vcf92fr3ccnjx7bgxm9x02j0hngjg";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cat << EOF > makefiles/target.mk
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Gnuradio block for gsm";
|
||||
homepage = https://github.com/ptrkrysik/gr-gsm;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "Gnuradio source and sink blocks for LimeSDR";
|
||||
homepage = https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.markuskowa ];
|
||||
};
|
||||
}
|
||||
|
@ -1,13 +1,14 @@
|
||||
{ stdenv, fetchgit, cmake, pkgconfig, libusb, fftwSinglePrec }:
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libusb, fftwSinglePrec }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hackrf-${version}";
|
||||
version = "2017.02.1";
|
||||
version = "2018.01.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/mossmann/hackrf";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "16hd61icvzaciv7s9jpgm9c8q6m4mwvj97gxrb20sc65p5gjb7hv";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mossmann";
|
||||
repo = "hackrf";
|
||||
rev = "v${version}";
|
||||
sha256 = "0idh983xh6gndk9kdgx5nzz76x3mxb42b02c5xvdqahadsfx3b9w";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ipmicfg-${version}";
|
||||
version = "1.28.0";
|
||||
buildVersion = "180302";
|
||||
version = "1.29.0";
|
||||
buildVersion = "181029";
|
||||
|
||||
src = fetchzip {
|
||||
url = "ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_${version}_build.${buildVersion}.zip";
|
||||
sha256 = "0hw853cwaaxmxy1sa3m7l9gqalwpbbvp4ghk8inr7dzwxjljmr02";
|
||||
sha256 = "18nljs4xg6hffahyd0d5zlg1jhbwl7zr9ym925bkzwcnrkgqs2v3";
|
||||
extraPostFetch = "chmod u+rwX,go-rwx+X $out/";
|
||||
};
|
||||
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "josm-${version}";
|
||||
version = "14382";
|
||||
version = "14460";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||
sha256 = "1a2nx9jr1fvw95gdvl9kj3z0cs6ndafm0k4l0lwfx9p9qn4lgzjg";
|
||||
sha256 = "1j95319dvj4cwi1af94n1p8m1z1191j1jx6x06l4vz8bcjxaaqf5";
|
||||
};
|
||||
|
||||
buildInputs = [ jdk11 makeWrapper ];
|
||||
|
@ -3,12 +3,12 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "latte-dock";
|
||||
version = "0.8.2";
|
||||
version = "0.8.3";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/${pname}/${name}.tar.xz";
|
||||
sha256 = "1acwgxg9swmazi9bg5a0iyyin07h2gvp3mhbn6cfqqhpmndqxfdx";
|
||||
sha256 = "1jgg1ag8sxrkif1bqgz5pizn1xmiljas00rqcskszx10j0595mnk";
|
||||
name = "${name}.tar.xz";
|
||||
};
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||
, pcsclite, talloc, python2
|
||||
, pcsclite, talloc, python2, gnutls
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libosmocore-${version}";
|
||||
version = "0.9.6";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "osmocom";
|
||||
repo = "libosmocore";
|
||||
rev = "3cc757df1822114bf446dc2d5f6a95da92321a25";
|
||||
sha256 = "0dk7065qcy2kjra0p8q2124p73jcyvvzz3cmhid1kx5scyxmr017";
|
||||
rev = version;
|
||||
sha256 = "140c9jii0qs00s50kji1znc2339s22x8sz259x4pj35rrjzyyjgp";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pcsclite python2
|
||||
pcsclite python2 gnutls
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
description = "libosmocore";
|
||||
homepage = https://github.com/osmocom/libosmocore;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
, desktop-file-utils, libSM, imagemagick }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "18.08.1";
|
||||
version = "18.12";
|
||||
name = "mediainfo-gui-${version}";
|
||||
src = fetchurl {
|
||||
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
|
||||
sha256 = "0rq2dczjq26g5i0ac8px7xmxjvqq4h0rzd97fy5824yb2c5ksxs9";
|
||||
sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig
|
||||
, libuuid, cppunit, protobuf3_1, zlib, avahi, libmicrohttpd
|
||||
, perl, python3, python3Packages
|
||||
, perl, python36 # Replace by python3 after the next update
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook bison flex pkgconfig perl ];
|
||||
buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python3 ];
|
||||
buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python36 ];
|
||||
propagatedBuildInputs = [
|
||||
(python3Packages.protobuf.override { protobuf = protobuf3_1; })
|
||||
python3Packages.numpy
|
||||
(python36.pkgs.protobuf.override { protobuf = protobuf3_1; })
|
||||
python36.pkgs.numpy
|
||||
];
|
||||
|
||||
configureFlags = [ "--enable-python-libs" ];
|
||||
|
@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
|
||||
"INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
|
||||
];
|
||||
|
||||
# Make plank's application launcher hidden in Pantheon
|
||||
patches = [ ./hide-in-pantheon.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./configure \
|
||||
--replace "/usr/bin/file" "${file}/bin/file"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user