Merge staging-next into staging
This commit is contained in:
commit
bae32a9f5c
|
@ -2754,9 +2754,9 @@ addEnvHooks "$hostOffset" myBashFunction
|
|||
<listitem>
|
||||
<para>
|
||||
Overrides the configure, build, and install phases. This will run the
|
||||
"waf" script used by many projects. If waf doesn’t exist, it will copy
|
||||
the version of waf available in Nixpkgs wafFlags can be used to pass
|
||||
flags to the waf script.
|
||||
"waf" script used by many projects. If wafPath (default ./waf) doesn’t
|
||||
exist, it will copy the version of waf available in Nixpkgs. wafFlags can
|
||||
be used to pass flags to the waf script.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
|
|
@ -633,8 +633,7 @@ rec {
|
|||
else
|
||||
let
|
||||
x = head list;
|
||||
xs = unique (drop 1 list);
|
||||
in [x] ++ remove x xs;
|
||||
in [x] ++ unique (remove x list);
|
||||
|
||||
/* Intersects list 'e' and another list. O(nm) complexity.
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ rec {
|
|||
# Bring in a path as a source, filtering out all Subversion and CVS
|
||||
# directories, as well as backup files (*~).
|
||||
cleanSourceFilter = name: type: let baseName = baseNameOf (toString name); in ! (
|
||||
# Filter out Subversion and CVS directories.
|
||||
(type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
|
||||
# Filter out version control software files/directories
|
||||
(baseName == ".git" || type == "directory" && (baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
|
||||
# Filter out editor backup / swap files.
|
||||
lib.hasSuffix "~" baseName ||
|
||||
builtins.match "^\\.sw[a-z]$" baseName != null ||
|
||||
|
|
|
@ -2905,6 +2905,11 @@
|
|||
email = "markus@wotringer.de";
|
||||
name = "Markus Wotringer";
|
||||
};
|
||||
marius851000 = {
|
||||
email = "mariusdavid@laposte.net";
|
||||
name = "Marius David";
|
||||
github = "marius851000";
|
||||
};
|
||||
marsam = {
|
||||
email = "marsam@users.noreply.github.com";
|
||||
github = "marsam";
|
||||
|
|
|
@ -175,6 +175,12 @@
|
|||
<literal>git tag -s -a -m "Release 15.09" 15.09</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Update "Chapter 4. Upgrading NixOS" section of the manual to match
|
||||
new stable release version.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Update http://nixos.org/nixos/download.html and
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
<para>
|
||||
<emphasis>Stable channels</emphasis>, such as
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-17.03">nixos-17.03</literal>.
|
||||
xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03</literal>.
|
||||
These only get conservative bug fixes and package upgrades. For instance,
|
||||
a channel update may cause the Linux kernel on your system to be upgraded
|
||||
from 4.9.16 to 4.9.17 (a minor bug fix), but not from
|
||||
4.9.<replaceable>x</replaceable> to 4.11.<replaceable>x</replaceable> (a
|
||||
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
|
||||
4.19.<replaceable>x</replaceable> to 4.20.<replaceable>x</replaceable> (a
|
||||
major change that has the potential to break things). Stable channels are
|
||||
generally maintained until the next stable branch is created.
|
||||
</para>
|
||||
|
@ -38,7 +38,7 @@
|
|||
<para>
|
||||
<emphasis>Small channels</emphasis>, such as
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-17.03-small">nixos-17.03-small</literal>
|
||||
xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small</literal>
|
||||
or
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
|
||||
|
@ -63,8 +63,8 @@
|
|||
<para>
|
||||
When you first install NixOS, you’re automatically subscribed to the NixOS
|
||||
channel that corresponds to your installation source. For instance, if you
|
||||
installed from a 17.03 ISO, you will be subscribed to the
|
||||
<literal>nixos-17.03</literal> channel. To see which NixOS channel you’re
|
||||
installed from a 19.03 ISO, you will be subscribed to the
|
||||
<literal>nixos-19.03</literal> channel. To see which NixOS channel you’re
|
||||
subscribed to, run the following as root:
|
||||
<screen>
|
||||
# nix-channel --list | grep nixos
|
||||
|
@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
|
|||
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
|
||||
</screen>
|
||||
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
|
||||
instance, to use the NixOS 17.03 stable channel:
|
||||
instance, to use the NixOS 19.03 stable channel:
|
||||
<screen>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-17.03 nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
|
||||
</screen>
|
||||
If you have a server, you may want to use the “small” channel instead:
|
||||
<screen>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-17.03-small nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos
|
||||
</screen>
|
||||
And if you want to live on the bleeding edge:
|
||||
<screen>
|
||||
|
@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
|
|||
current channel. (To see when the service runs, see <command>systemctl
|
||||
list-timers</command>.) You can also specify a channel explicitly, e.g.
|
||||
<programlisting>
|
||||
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-17.03;
|
||||
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.03;
|
||||
</programlisting>
|
||||
</para>
|
||||
</section>
|
||||
|
|
|
@ -24,8 +24,14 @@
|
|||
|
||||
<arg>
|
||||
<option>--help</option>
|
||||
</arg>
|
||||
|
||||
</arg>
|
||||
|
||||
<arg>
|
||||
<option>--option</option>
|
||||
<replaceable>name</replaceable>
|
||||
<replaceable>value</replaceable>
|
||||
</arg>
|
||||
|
||||
<arg choice="plain">
|
||||
<replaceable>network.nix</replaceable>
|
||||
</arg>
|
||||
|
@ -115,6 +121,18 @@
|
|||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>Set the Nix configuration option
|
||||
<replaceable>name</replaceable> to <replaceable>value</replaceable>.
|
||||
This overrides settings in the Nix configuration file (see
|
||||
<citerefentry><refentrytitle>nix.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsection>
|
||||
</refentry>
|
||||
|
|
|
@ -35,21 +35,6 @@
|
|||
The following new services were added since the last release:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Besides the existing <option>services.prometheus</option> module which
|
||||
targets Prometheus-1 a new <option>services.prometheus2</option> module
|
||||
has been added which targets Prometheus-2.
|
||||
</para>
|
||||
<para>
|
||||
Both modules can be enabled at the same time. In fact
|
||||
<link xlink:href="https://prometheus.io/docs/prometheus/latest/migration/#storage">
|
||||
this is needed for upgrading existing Prometheus-1 data to Prometheus-2
|
||||
</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
|
@ -82,25 +67,6 @@
|
|||
accordingly.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The directory where Prometheus will store its metric data is now
|
||||
managed by systemd's StateDirectory mechanism. It still defaults
|
||||
to <literal>/var/lib/prometheus</literal>.
|
||||
</para>
|
||||
<para>
|
||||
Its location can be specified by the new
|
||||
<option>services.prometheus.stateDir</option> option which
|
||||
defaults to <literal>prometheus</literal>. Note that this should
|
||||
be a directory relative to <literal>/var/lib/</literal>.
|
||||
</para>
|
||||
<para>
|
||||
The option <option>services.prometheus.dataDir</option> has been
|
||||
deprecated. You can still set it but it's now required to have
|
||||
<literal>/var/lib/</literal> as a prefix and you can't set
|
||||
<option>services.prometheus.stateDir</option> at the same time.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The options <option>services.prometheus.alertmanager.user</option> and
|
||||
|
@ -154,6 +120,21 @@
|
|||
Accelerated Video Playback</link> for better transcoding performance.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The following changes apply if the <literal>stateVersion</literal> is
|
||||
changed to 19.09 or higher. For <literal>stateVersion = "19.03"</literal>
|
||||
or lower the old behavior is preserved.
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>solr.package</literal> defaults to
|
||||
<literal>pkgs.solr_8</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
x86_64-linux = "/nix/store/pid1yakjasch4pwl63nzbj22z9zf0q26-nix-2.2";
|
||||
i686-linux = "/nix/store/qpkl0cxy0xh4h432lv2qsjrmhvx5x2vy-nix-2.2";
|
||||
aarch64-linux = "/nix/store/0jg7h94x986d8cskg6gcfza9x67spdbp-nix-2.2";
|
||||
x86_64-darwin = "/nix/store/a48whqkmxnsfhwbk6nay74iyc1cf0lr2-nix-2.2";
|
||||
x86_64-linux = "/nix/store/hbhdjn5ik3byg642d1m11k3k3s0kn3py-nix-2.2.2";
|
||||
i686-linux = "/nix/store/fz5cikwvj3n0a6zl44h6l2z3cin64mda-nix-2.2.2";
|
||||
aarch64-linux = "/nix/store/2gba4cyl4wvxzfbhmli90jy4n5aj0kjj-nix-2.2.2";
|
||||
x86_64-darwin = "/nix/store/87i4fp46jfw9yl8c7i9gx75m5yph7irl-nix-2.2.2";
|
||||
}
|
||||
|
|
|
@ -9,49 +9,44 @@ showUsage() {
|
|||
|
||||
# Parse valid argument options
|
||||
|
||||
PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"`
|
||||
nixBuildArgs=()
|
||||
networkExpr=
|
||||
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
showUsage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval set -- "$PARAMS"
|
||||
|
||||
# Evaluate valid options
|
||||
|
||||
while [ "$1" != "--" ]
|
||||
do
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--no-out-link)
|
||||
noOutLinkArg="--no-out-link"
|
||||
;;
|
||||
--show-trace)
|
||||
showTraceArg="--show-trace"
|
||||
;;
|
||||
-h|--help)
|
||||
showUsage
|
||||
exit 0
|
||||
;;
|
||||
--no-out-link)
|
||||
nixBuildArgs+=("--no-out-link")
|
||||
;;
|
||||
--show-trace)
|
||||
nixBuildArgs+=("--show-trace")
|
||||
;;
|
||||
-h|--help)
|
||||
showUsage
|
||||
exit 0
|
||||
;;
|
||||
--option)
|
||||
shift
|
||||
nixBuildArgs+=("--option" "$1" "$2"); shift
|
||||
;;
|
||||
*)
|
||||
if [ ! -z "$networkExpr" ]; then
|
||||
echo "Network expression already set!"
|
||||
showUsage
|
||||
exit 1
|
||||
fi
|
||||
networkExpr="$(readlink -f $1)"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
shift
|
||||
|
||||
# Validate the given options
|
||||
|
||||
if [ "$1" = "" ]
|
||||
if [ -z "$networkExpr" ]
|
||||
then
|
||||
echo "ERROR: A network expression must be specified!" >&2
|
||||
exit 1
|
||||
else
|
||||
networkExpr=$(readlink -f $1)
|
||||
fi
|
||||
|
||||
# Build a network of VMs
|
||||
|
||||
nix-build '<nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix>' \
|
||||
--argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg
|
||||
--argstr networkExpr $networkExpr "${nixBuildArgs[@]}"
|
||||
|
|
|
@ -255,6 +255,8 @@
|
|||
./services/databases/virtuoso.nix
|
||||
./services/desktops/accountsservice.nix
|
||||
./services/desktops/bamf.nix
|
||||
./services/desktops/deepin/dde-daemon.nix
|
||||
./services/desktops/deepin/deepin-menu.nix
|
||||
./services/desktops/dleyna-renderer.nix
|
||||
./services/desktops/dleyna-server.nix
|
||||
./services/desktops/pantheon/contractor.nix
|
||||
|
@ -268,6 +270,7 @@
|
|||
./services/desktops/gnome3/evince.nix
|
||||
./services/desktops/gnome3/evolution-data-server.nix
|
||||
./services/desktops/gnome3/file-roller.nix
|
||||
./services/desktops/gnome3/glib-networking.nix
|
||||
./services/desktops/gnome3/gnome-disks.nix
|
||||
./services/desktops/gnome3/gnome-documents.nix
|
||||
./services/desktops/gnome3/gnome-keyring.nix
|
||||
|
@ -488,6 +491,7 @@
|
|||
./services/monitoring/prometheus/default.nix
|
||||
./services/monitoring/prometheus/alertmanager.nix
|
||||
./services/monitoring/prometheus/exporters.nix
|
||||
./services/monitoring/prometheus/pushgateway.nix
|
||||
./services/monitoring/riemann.nix
|
||||
./services/monitoring/riemann-dash.nix
|
||||
./services/monitoring/riemann-tools.nix
|
||||
|
@ -672,6 +676,7 @@
|
|||
./services/networking/tinydns.nix
|
||||
./services/networking/tftpd.nix
|
||||
./services/networking/tox-bootstrapd.nix
|
||||
./services/networking/tox-node.nix
|
||||
./services/networking/toxvpn.nix
|
||||
./services/networking/tvheadend.nix
|
||||
./services/networking/unbound.nix
|
||||
|
@ -749,6 +754,7 @@
|
|||
./services/web-apps/icingaweb2/icingaweb2.nix
|
||||
./services/web-apps/icingaweb2/module-monitoring.nix
|
||||
./services/web-apps/mattermost.nix
|
||||
./services/web-apps/miniflux.nix
|
||||
./services/web-apps/nextcloud.nix
|
||||
./services/web-apps/nexus.nix
|
||||
./services/web-apps/pgpkeyserver-lite.nix
|
||||
|
|
|
@ -410,6 +410,8 @@ let
|
|||
"password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
|
||||
${optionalString config.services.samba.syncPasswordsByPam
|
||||
"password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass"}
|
||||
${optionalString cfg.enableGnomeKeyring
|
||||
"password optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"}
|
||||
|
||||
# Session management.
|
||||
${optionalString cfg.setEnvironment ''
|
||||
|
|
|
@ -15,7 +15,7 @@ in {
|
|||
enable = mkEnableOption "ympd, the MPD Web GUI";
|
||||
|
||||
webPort = mkOption {
|
||||
type = types.string;
|
||||
type = types.either types.str types.port; # string for backwards compat
|
||||
default = "8080";
|
||||
description = "The port where ympd's web interface will be available.";
|
||||
example = "ssl://8080:/path/to/ssl-private-key.pem";
|
||||
|
@ -49,7 +49,7 @@ in {
|
|||
systemd.services.ympd = {
|
||||
description = "Standalone MPD Web GUI written in C";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${cfg.webPort} --user nobody";
|
||||
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${toString cfg.webPort} --user nobody";
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
# dde-daemon
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.dde-daemon = {
|
||||
|
||||
enable = lib.mkEnableOption
|
||||
"A daemon for handling Deepin Desktop Environment session settings";
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf config.services.deepin.dde-daemon.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
services.dbus.packages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
systemd.packages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
users.groups.dde-daemon = { };
|
||||
|
||||
users.users.dde-daemon = {
|
||||
description = "Deepin daemon user";
|
||||
group = "dde-daemon";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
# deepin-menu
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.deepin-menu = {
|
||||
|
||||
enable = lib.mkEnableOption
|
||||
"DBus service for unified menus in Deepin Desktop Environment";
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf config.services.deepin.deepin-menu.enable {
|
||||
|
||||
services.dbus.packages = [ pkgs.deepin.deepin-menu ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
# GLib Networking
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.gnome3.glib-networking = {
|
||||
|
||||
enable = mkEnableOption "network extensions for GLib";
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.gnome3.glib-networking.enable {
|
||||
|
||||
services.dbus.packages = [ pkgs.gnome3.glib-networking ];
|
||||
|
||||
systemd.packages = [ pkgs.gnome3.glib-networking ];
|
||||
|
||||
environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -35,6 +35,8 @@ with lib;
|
|||
|
||||
services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gcr ];
|
||||
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ let
|
|||
rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [
|
||||
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
|
||||
]);
|
||||
scrape_configs = cfg.scrapeConfigs;
|
||||
scrape_configs = filterEmpty cfg.scrapeConfigs;
|
||||
};
|
||||
|
||||
generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
|
||||
|
@ -81,7 +81,7 @@ let
|
|||
rule_files = map (prom2toolCheck "check rules" "rules") (cfg2.ruleFiles ++ [
|
||||
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg2.rules))
|
||||
]);
|
||||
scrape_configs = cfg2.scrapeConfigs;
|
||||
scrape_configs = filterEmpty cfg2.scrapeConfigs;
|
||||
alerting = optionalAttrs (cfg2.alertmanagerURL != []) {
|
||||
alertmanagers = [{
|
||||
static_configs = [{
|
||||
|
@ -108,6 +108,21 @@ let
|
|||
] ++
|
||||
optional (cfg2.webExternalUrl != null) "--web.external-url=${cfg2.webExternalUrl}";
|
||||
|
||||
filterEmpty = filterAttrsListRecursive (_n: v: !(v == null || v == [] || v == {}));
|
||||
filterAttrsListRecursive = pred: x:
|
||||
if isAttrs x then
|
||||
listToAttrs (
|
||||
concatMap (name:
|
||||
let v = x.${name}; in
|
||||
if pred name v then [
|
||||
(nameValuePair name (filterAttrsListRecursive pred v))
|
||||
] else []
|
||||
) (attrNames x)
|
||||
)
|
||||
else if isList x then
|
||||
map (filterAttrsListRecursive pred) x
|
||||
else x;
|
||||
|
||||
promTypes.globalConfig = types.submodule {
|
||||
options = {
|
||||
scrape_interval = mkOption {
|
||||
|
@ -237,6 +252,14 @@ let
|
|||
Optional http login credentials for metrics scraping.
|
||||
'';
|
||||
};
|
||||
tls_config = mkOption {
|
||||
type = types.nullOr promTypes.tls_config;
|
||||
default = null;
|
||||
apply = x: mapNullable _filter x;
|
||||
description = ''
|
||||
Configures the scrape request's TLS settings.
|
||||
'';
|
||||
};
|
||||
dns_sd_configs = mkOption {
|
||||
type = types.listOf promTypes.dns_sd_config;
|
||||
default = [];
|
||||
|
@ -269,6 +292,14 @@ let
|
|||
List of labeled target groups for this job.
|
||||
'';
|
||||
};
|
||||
ec2_sd_configs = mkOption {
|
||||
type = types.listOf promTypes.ec2_sd_config;
|
||||
default = [];
|
||||
apply = x: map _filter x;
|
||||
description = ''
|
||||
List of EC2 service discovery configurations.
|
||||
'';
|
||||
};
|
||||
relabel_configs = mkOption {
|
||||
type = types.listOf promTypes.relabel_config;
|
||||
default = [];
|
||||
|
@ -298,6 +329,96 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
promTypes.ec2_sd_config = types.submodule {
|
||||
options = {
|
||||
region = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The AWS Region.
|
||||
'';
|
||||
};
|
||||
endpoint = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Custom endpoint to be used.
|
||||
'';
|
||||
};
|
||||
access_key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The AWS API key id. If blank, the environment variable
|
||||
<literal>AWS_ACCESS_KEY_ID</literal> is used.
|
||||
'';
|
||||
};
|
||||
secret_key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The AWS API key secret. If blank, the environment variable
|
||||
<literal>AWS_SECRET_ACCESS_KEY</literal> is used.
|
||||
'';
|
||||
};
|
||||
profile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Named AWS profile used to connect to the API.
|
||||
'';
|
||||
};
|
||||
role_arn = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
AWS Role ARN, an alternative to using AWS API keys.
|
||||
'';
|
||||
};
|
||||
refresh_interval = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 80;
|
||||
description = ''
|
||||
The port to scrape metrics from. If using the public IP
|
||||
address, this must instead be specified in the relabeling
|
||||
rule.
|
||||
'';
|
||||
};
|
||||
filters = mkOption {
|
||||
type = types.nullOr (types.listOf promTypes.filter);
|
||||
default = null;
|
||||
description = ''
|
||||
Filters can be used optionally to filter the instance list by other criteria.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
promTypes.filter = types.submodule {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
See <link xlink:href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">this list</link>
|
||||
for the available filters.
|
||||
'';
|
||||
};
|
||||
value = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
Value of the filter.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
promTypes.dns_sd_config = types.submodule {
|
||||
options = {
|
||||
names = mkOption {
|
||||
|
@ -431,6 +552,47 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
promTypes.tls_config = types.submodule {
|
||||
options = {
|
||||
ca_file = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
CA certificate to validate API server certificate with.
|
||||
'';
|
||||
};
|
||||
cert_file = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Certificate file for client cert authentication to the server.
|
||||
'';
|
||||
};
|
||||
key_file = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Key file for client cert authentication to the server.
|
||||
'';
|
||||
};
|
||||
server_name = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
ServerName extension to indicate the name of the server.
|
||||
http://tools.ietf.org/html/rfc4366#section-3.1
|
||||
'';
|
||||
};
|
||||
insecure_skip_verify = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Disable validation of the server certificate.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
options = {
|
||||
services.prometheus = {
|
||||
|
|
|
@ -0,0 +1,166 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.pushgateway;
|
||||
|
||||
cmdlineArgs =
|
||||
opt "web.listen-address" cfg.web.listen-address
|
||||
++ opt "web.telemetry-path" cfg.web.telemetry-path
|
||||
++ opt "web.external-url" cfg.web.external-url
|
||||
++ opt "web.route-prefix" cfg.web.route-prefix
|
||||
++ optional cfg.persistMetrics ''--persistence.file="/var/lib/${cfg.stateDir}/metrics"''
|
||||
++ opt "persistence.interval" cfg.persistence.interval
|
||||
++ opt "log.level" cfg.log.level
|
||||
++ opt "log.format" cfg.log.format
|
||||
++ cfg.extraFlags;
|
||||
|
||||
opt = k : v : optional (v != null) ''--${k}="${v}"'';
|
||||
|
||||
in {
|
||||
options = {
|
||||
services.prometheus.pushgateway = {
|
||||
enable = mkEnableOption "Prometheus Pushgateway";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.prometheus-pushgateway;
|
||||
defaultText = "pkgs.prometheus-pushgateway";
|
||||
description = ''
|
||||
Package that should be used for the prometheus pushgateway.
|
||||
'';
|
||||
};
|
||||
|
||||
web.listen-address = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Address to listen on for the web interface, API and telemetry.
|
||||
|
||||
<literal>null</literal> will default to <literal>:9091</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
web.telemetry-path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Path under which to expose metrics.
|
||||
|
||||
<literal>null</literal> will default to <literal>/metrics</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
web.external-url = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The URL under which Pushgateway is externally reachable.
|
||||
'';
|
||||
};
|
||||
|
||||
web.route-prefix = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Prefix for the internal routes of web endpoints.
|
||||
|
||||
Defaults to the path of
|
||||
<option>services.prometheus.pushgateway.web.external-url</option>.
|
||||
'';
|
||||
};
|
||||
|
||||
persistence.interval = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "10m";
|
||||
description = ''
|
||||
The minimum interval at which to write out the persistence file.
|
||||
|
||||
<literal>null</literal> will default to <literal>5m</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
log.level = mkOption {
|
||||
type = types.nullOr (types.enum ["debug" "info" "warn" "error" "fatal"]);
|
||||
default = null;
|
||||
description = ''
|
||||
Only log messages with the given severity or above.
|
||||
|
||||
<literal>null</literal> will default to <literal>info</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
log.format = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "logger:syslog?appname=bob&local=7";
|
||||
description = ''
|
||||
Set the log target and format.
|
||||
|
||||
<literal>null</literal> will default to <literal>logger:stderr</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
extraFlags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
Extra commandline options when launching the Pushgateway.
|
||||
'';
|
||||
};
|
||||
|
||||
persistMetrics = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to persist metrics to a file.
|
||||
|
||||
When enabled metrics will be saved to a file called
|
||||
<literal>metrics</literal> in the directory
|
||||
<literal>/var/lib/pushgateway</literal>. The directory below
|
||||
<literal>/var/lib</literal> can be set using
|
||||
<option>services.prometheus.pushgateway.stateDir</option>.
|
||||
'';
|
||||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
type = types.str;
|
||||
default = "pushgateway";
|
||||
description = ''
|
||||
Directory below <literal>/var/lib</literal> to store metrics.
|
||||
|
||||
This directory will be created automatically using systemd's
|
||||
StateDirectory mechanism when
|
||||
<option>services.prometheus.pushgateway.persistMetrics</option>
|
||||
is enabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !hasPrefix "/" cfg.stateDir;
|
||||
message =
|
||||
"The option services.prometheus.pushgateway.stateDir" +
|
||||
" shouldn't be an absolute directory." +
|
||||
" It should be a directory relative to /var/lib.";
|
||||
}
|
||||
];
|
||||
systemd.services.pushgateway = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${cfg.package}/bin/pushgateway" +
|
||||
optionalString (length cmdlineArgs != 0) (" \\\n " +
|
||||
concatStringsSep " \\\n " cmdlineArgs);
|
||||
StateDirectory = if cfg.persistMetrics then cfg.stateDir else null;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -26,4 +26,6 @@
|
|||
}];
|
||||
};
|
||||
|
||||
meta.maintainers = [ lib.maintainers.yarny ];
|
||||
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{
|
||||
|
||||
ModemGroup = [ ''"any:.*"'' ];
|
||||
ModemGroup = [ ''"any:0:.*"'' ];
|
||||
ServerTracing = "0x78701";
|
||||
SessionTracing = "0x78701";
|
||||
UUCPLockDir = "/var/lock";
|
||||
|
|
|
@ -54,7 +54,7 @@ in
|
|||
enable = mkEnableOption "strongSwan";
|
||||
|
||||
secrets = mkOption {
|
||||
type = types.listOf types.path;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/run/keys/ipsec-foo.secret" ];
|
||||
description = ''
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
pkg = pkgs.tox-node;
|
||||
cfg = config.services.tox-node;
|
||||
homeDir = "/var/lib/tox-node";
|
||||
|
||||
configFile = let
|
||||
# fetchurl should be switched to getting this file from tox-node.src once
|
||||
# the dpkg directory is in a release
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/tox-rs/tox-node/master/dpkg/config.yml";
|
||||
sha256 = "1431wzpzm786mcvyzk1rp7ar418n45dr75hdggxvlm7pkpam31xa";
|
||||
};
|
||||
confJSON = pkgs.writeText "config.json" (
|
||||
builtins.toJSON {
|
||||
log-type = cfg.logType;
|
||||
keys-file = cfg.keysFile;
|
||||
udp-address = cfg.udpAddress;
|
||||
tcp-addresses = cfg.tcpAddresses;
|
||||
tcp-connections-limit = cfg.tcpConnectionLimit;
|
||||
lan-discovery = cfg.lanDiscovery;
|
||||
threads = cfg.threads;
|
||||
motd = cfg.motd;
|
||||
}
|
||||
);
|
||||
in with pkgs; runCommand "config.yml" {} ''
|
||||
${remarshal}/bin/remarshal -if yaml -of json ${src} -o src.json
|
||||
${jq}/bin/jq -s '(.[0] | with_entries( select(.key == "bootstrap-nodes"))) * .[1]' src.json ${confJSON} > $out
|
||||
'';
|
||||
|
||||
in {
|
||||
options.services.tox-node = {
|
||||
enable = mkEnableOption "Tox Node service";
|
||||
|
||||
logType = mkOption {
|
||||
type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ];
|
||||
default = "Stderr";
|
||||
description = "Logging implementation.";
|
||||
};
|
||||
keysFile = mkOption {
|
||||
type = types.str;
|
||||
default = "${homeDir}/keys";
|
||||
description = "Path to the file where DHT keys are stored.";
|
||||
};
|
||||
udpAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "0.0.0.0:33445";
|
||||
description = "UDP address to run DHT node.";
|
||||
};
|
||||
tcpAddresses = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "0.0.0.0:33445" ];
|
||||
description = "TCP addresses to run TCP relay.";
|
||||
};
|
||||
tcpConnectionLimit = mkOption {
|
||||
type = types.int;
|
||||
default = 8192;
|
||||
description = "Maximum number of active TCP connections relay can hold";
|
||||
};
|
||||
lanDiscovery = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Enable local network discovery.";
|
||||
};
|
||||
threads = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
description = "Number of threads for execution";
|
||||
};
|
||||
motd = mkOption {
|
||||
type = types.str;
|
||||
default = "Hi from tox-rs! I'm up {{uptime}}. TCP: incoming {{tcp_packets_in}}, outgoing {{tcp_packets_out}}, UDP: incoming {{udp_packets_in}}, outgoing {{udp_packets_out}}";
|
||||
description = "Message of the day";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.tox-node = {
|
||||
description = "Tox Node";
|
||||
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkg}/bin/tox-node config ${configFile}";
|
||||
StateDirectory = "tox-node";
|
||||
DynamicUser = true;
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -151,7 +151,7 @@ in
|
|||
'';
|
||||
description = ''
|
||||
Configuration for ZNC, see
|
||||
<literal>https://wiki.znc.in/Configuration</literal> for details. The
|
||||
<link xlink:href="https://wiki.znc.in/Configuration"/> for details. The
|
||||
Nix value declared here will be translated directly to the xml-like
|
||||
format ZNC expects. This is much more flexible than the legacy options
|
||||
under <option>services.znc.confOptions.*</option>, but also can't do
|
||||
|
|
|
@ -5,6 +5,9 @@ with lib;
|
|||
let
|
||||
cfg = config.services.kibana;
|
||||
|
||||
ge7 = builtins.compareVersions cfg.package.version "7" >= 0;
|
||||
lt6_6 = builtins.compareVersions cfg.package.version "6.6" < 0;
|
||||
|
||||
cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON (
|
||||
(filterAttrsRecursive (n: v: v != null) ({
|
||||
server.host = cfg.listenAddress;
|
||||
|
@ -16,6 +19,7 @@ let
|
|||
kibana.defaultAppId = cfg.defaultAppId;
|
||||
|
||||
elasticsearch.url = cfg.elasticsearch.url;
|
||||
elasticsearch.hosts = cfg.elasticsearch.hosts;
|
||||
elasticsearch.username = cfg.elasticsearch.username;
|
||||
elasticsearch.password = cfg.elasticsearch.password;
|
||||
|
||||
|
@ -67,9 +71,30 @@ in {
|
|||
|
||||
elasticsearch = {
|
||||
url = mkOption {
|
||||
description = "Elasticsearch url";
|
||||
default = "http://localhost:9200";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Elasticsearch url.
|
||||
|
||||
Defaults to <literal>"http://localhost:9200"</literal>.
|
||||
|
||||
Don't set this when using Kibana >= 7.0.0 because it will result in a
|
||||
configuration error. Use <option>services.kibana.elasticsearch.hosts</option>
|
||||
instead.
|
||||
'';
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
};
|
||||
|
||||
hosts = mkOption {
|
||||
description = ''
|
||||
The URLs of the Elasticsearch instances to use for all your queries.
|
||||
All nodes listed here must be on the same cluster.
|
||||
|
||||
Defaults to <literal>[ "http://localhost:9200" ]</literal>.
|
||||
|
||||
This option is only valid when using kibana >= 6.6.
|
||||
'';
|
||||
default = null;
|
||||
type = types.nullOr (types.listOf types.str);
|
||||
};
|
||||
|
||||
username = mkOption {
|
||||
|
@ -143,6 +168,19 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf (cfg.enable) {
|
||||
assertions = [
|
||||
{
|
||||
assertion = ge7 -> cfg.elasticsearch.url == null;
|
||||
message =
|
||||
"The option services.kibana.elasticsearch.url has been removed when using kibana >= 7.0.0. " +
|
||||
"Please use option services.kibana.elasticsearch.hosts instead.";
|
||||
}
|
||||
{
|
||||
assertion = lt6_6 -> cfg.elasticsearch.hosts == null;
|
||||
message =
|
||||
"The option services.kibana.elasticsearch.hosts is only valid for kibana >= 6.6.";
|
||||
}
|
||||
];
|
||||
systemd.services.kibana = {
|
||||
description = "Kibana Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
|
|
@ -13,11 +13,19 @@ in
|
|||
services.solr = {
|
||||
enable = mkEnableOption "Enables the solr service.";
|
||||
|
||||
# default to the 8.x series not forcing major version upgrade of those on the 7.x series
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.solr;
|
||||
default = if versionAtLeast config.system.stateVersion "19.09"
|
||||
then pkgs.solr_8
|
||||
else pkgs.solr_7
|
||||
;
|
||||
defaultText = "pkgs.solr";
|
||||
description = "Which Solr package to use.";
|
||||
description = ''
|
||||
Which Solr package to use. This defaults to version 7.x if
|
||||
<literal>system.stateVersion < 19.09</literal> and version 8.x
|
||||
otherwise.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.miniflux;
|
||||
|
||||
dbUser = "miniflux";
|
||||
dbPassword = "miniflux";
|
||||
dbHost = "localhost";
|
||||
dbName = "miniflux";
|
||||
|
||||
defaultCredentials = pkgs.writeText "miniflux-admin-credentials" ''
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=password
|
||||
'';
|
||||
|
||||
pgsu = "${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser}";
|
||||
pgbin = "${config.services.postgresql.package}/bin";
|
||||
preStart = pkgs.writeScript "miniflux-pre-start" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
db_exists() {
|
||||
[ "$(${pgsu} ${pgbin}/psql -Atc "select 1 from pg_database where datname='$1'")" == "1" ]
|
||||
}
|
||||
if ! db_exists "${dbName}"; then
|
||||
${pgsu} ${pgbin}/psql postgres -c "CREATE ROLE ${dbUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${dbPassword}'"
|
||||
${pgsu} ${pgbin}/createdb --owner "${dbUser}" "${dbName}"
|
||||
${pgsu} ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
|
||||
fi
|
||||
'';
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
services.miniflux = {
|
||||
enable = mkEnableOption "miniflux";
|
||||
|
||||
config = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
example = literalExample ''
|
||||
{
|
||||
CLEANUP_FREQUENCY = "48";
|
||||
LISTEN_ADDR = "localhost:8080";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration for Miniflux, refer to
|
||||
<link xlink:href="http://docs.miniflux.app/en/latest/configuration.html"/>
|
||||
for documentation on the supported values.
|
||||
'';
|
||||
};
|
||||
|
||||
adminCredentialsFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
File containing the ADMIN_USERNAME, default is "admin", and
|
||||
ADMIN_PASSWORD (length >= 6), default is "password"; in the format of
|
||||
an EnvironmentFile=, as described by systemd.exec(5).
|
||||
'';
|
||||
example = "/etc/nixos/miniflux-admin-credentials";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.miniflux.config = {
|
||||
LISTEN_ADDR = mkDefault "localhost:8080";
|
||||
DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable";
|
||||
RUN_MIGRATIONS = "1";
|
||||
CREATE_ADMIN = "1";
|
||||
};
|
||||
|
||||
services.postgresql.enable = true;
|
||||
|
||||
systemd.services.miniflux = {
|
||||
description = "Miniflux service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "postgresql.service" ];
|
||||
after = [ "network.target" "postgresql.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.miniflux}/bin/miniflux";
|
||||
ExecStartPre = "+${preStart}";
|
||||
DynamicUser = true;
|
||||
RuntimeDirectory = "miniflux";
|
||||
RuntimeDirectoryMode = "0700";
|
||||
EnvironmentFile = if isNull cfg.adminCredentialsFile
|
||||
then defaultCredentials
|
||||
else cfg.adminCredentialsFile;
|
||||
};
|
||||
|
||||
environment = cfg.config;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.miniflux ];
|
||||
};
|
||||
}
|
|
@ -129,6 +129,7 @@ in {
|
|||
services.gnome3.evince.enable = mkDefault true;
|
||||
services.gnome3.evolution-data-server.enable = true;
|
||||
services.gnome3.file-roller.enable = mkDefault true;
|
||||
services.gnome3.glib-networking.enable = true;
|
||||
services.gnome3.gnome-disks.enable = mkDefault true;
|
||||
services.gnome3.gnome-documents.enable = mkDefault true;
|
||||
services.gnome3.gnome-keyring.enable = true;
|
||||
|
@ -205,7 +206,6 @@ in {
|
|||
services.xserver.updateDbusEnvironment = true;
|
||||
|
||||
environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
|
||||
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
|
||||
"${pkgs.gnome3.gvfs}/lib/gio/modules" ];
|
||||
environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath
|
||||
++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [
|
||||
|
|
|
@ -126,6 +126,7 @@ in
|
|||
services.gnome3.evolution-data-server.enable = true;
|
||||
services.gnome3.file-roller.enable = mkDefault true;
|
||||
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
|
||||
services.gnome3.glib-networking.enable = true;
|
||||
services.gnome3.gnome-keyring.enable = true;
|
||||
services.gnome3.gnome-settings-daemon.enable = true;
|
||||
services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
|
||||
|
@ -153,7 +154,6 @@ in
|
|||
|
||||
environment.variables.GIO_EXTRA_MODULES = [
|
||||
"${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
|
||||
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
|
||||
"${pkgs.gnome3.gvfs}/lib/gio/modules"
|
||||
];
|
||||
|
||||
|
|
|
@ -208,76 +208,25 @@ in
|
|||
session optional pam_permit.so
|
||||
'';
|
||||
|
||||
gdm.text = ''
|
||||
auth requisite pam_nologin.so
|
||||
auth required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
|
||||
auth required pam_succeed_if.so uid >= 1000 quiet
|
||||
auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
|
||||
|
||||
${optionalString (! config.security.pam.enableEcryptfs)
|
||||
"auth required pam_deny.so"}
|
||||
|
||||
account sufficient pam_unix.so
|
||||
|
||||
password requisite pam_unix.so nullok sha512
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
|
||||
session required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
session required pam_unix.so
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
session required pam_loginuid.so
|
||||
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
|
||||
session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
|
||||
'';
|
||||
|
||||
gdm-password.text = ''
|
||||
auth requisite pam_nologin.so
|
||||
auth required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
|
||||
auth required pam_succeed_if.so uid >= 1000 quiet
|
||||
auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
|
||||
${optionalString (! config.security.pam.enableEcryptfs)
|
||||
"auth required pam_deny.so"}
|
||||
|
||||
account sufficient pam_unix.so
|
||||
|
||||
password requisite pam_unix.so nullok sha512
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
|
||||
session required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
session required pam_unix.so
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
session required pam_loginuid.so
|
||||
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
|
||||
session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
|
||||
auth substack login
|
||||
account include login
|
||||
password substack login
|
||||
session include login
|
||||
'';
|
||||
|
||||
gdm-autologin.text = ''
|
||||
auth requisite pam_nologin.so
|
||||
auth requisite pam_nologin.so
|
||||
|
||||
auth required pam_succeed_if.so uid >= 1000 quiet
|
||||
auth required pam_permit.so
|
||||
auth required pam_succeed_if.so uid >= 1000 quiet
|
||||
auth required pam_permit.so
|
||||
|
||||
account sufficient pam_unix.so
|
||||
account sufficient pam_unix.so
|
||||
|
||||
password requisite pam_unix.so nullok sha512
|
||||
password requisite pam_unix.so nullok sha512
|
||||
|
||||
session optional pam_keyinit.so revoke
|
||||
session required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
session required pam_unix.so
|
||||
session required pam_loginuid.so
|
||||
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
|
||||
session optional pam_keyinit.so revoke
|
||||
session include login
|
||||
'';
|
||||
|
||||
};
|
||||
|
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
udev = config.systemd.package;
|
||||
|
||||
modulesTree = config.system.modulesTree;
|
||||
kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
|
||||
|
||||
modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
|
||||
firmware = config.hardware.firmware;
|
||||
|
||||
|
||||
|
@ -290,6 +292,7 @@ let
|
|||
# The closure of the init script of boot stage 1 is what we put in
|
||||
# the initial RAM disk.
|
||||
initialRamdisk = pkgs.makeInitrd {
|
||||
name = "initrd-${kernel-name}";
|
||||
inherit (config.boot.initrd) compressor prepend;
|
||||
|
||||
contents =
|
||||
|
|
|
@ -138,6 +138,7 @@ in
|
|||
matrix-synapse = handleTest ./matrix-synapse.nix {};
|
||||
memcached = handleTest ./memcached.nix {};
|
||||
mesos = handleTest ./mesos.nix {};
|
||||
miniflux = handleTest ./miniflux.nix {};
|
||||
minio = handleTest ./minio.nix {};
|
||||
misc = handleTest ./misc.nix {};
|
||||
mongodb = handleTest ./mongodb.nix {};
|
||||
|
|
|
@ -12,7 +12,9 @@ with pkgs.lib;
|
|||
let
|
||||
esUrl = "http://localhost:9200";
|
||||
|
||||
mkElkTest = name : elk : makeTest {
|
||||
mkElkTest = name : elk :
|
||||
let elasticsearchGe7 = builtins.compareVersions elk.elasticsearch.version "7" >= 0;
|
||||
in makeTest {
|
||||
inherit name;
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ eelco offline basvandijk ];
|
||||
|
@ -69,11 +71,11 @@ let
|
|||
kibana = {
|
||||
enable = true;
|
||||
package = elk.kibana;
|
||||
elasticsearch.url = esUrl;
|
||||
};
|
||||
|
||||
elasticsearch-curator = {
|
||||
enable = true;
|
||||
# The current version of curator (5.6) doesn't support elasticsearch >= 7.0.0.
|
||||
enable = !elasticsearchGe7;
|
||||
actionYAML = ''
|
||||
---
|
||||
actions:
|
||||
|
@ -126,7 +128,7 @@ let
|
|||
# See if logstash messages arive in elasticsearch.
|
||||
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
|
||||
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
|
||||
|
||||
'' + optionalString (!elasticsearchGe7) ''
|
||||
# Test elasticsearch-curator.
|
||||
$one->systemctl("stop logstash");
|
||||
$one->systemctl("start elasticsearch-curator");
|
||||
|
@ -151,4 +153,16 @@ in mapAttrs mkElkTest {
|
|||
logstash = pkgs.logstash6-oss;
|
||||
kibana = pkgs.kibana6-oss;
|
||||
};
|
||||
"ELK-7" =
|
||||
if enableUnfree
|
||||
then {
|
||||
elasticsearch = pkgs.elasticsearch7;
|
||||
logstash = pkgs.logstash7;
|
||||
kibana = pkgs.kibana7;
|
||||
}
|
||||
else {
|
||||
elasticsearch = pkgs.elasticsearch7-oss;
|
||||
logstash = pkgs.logstash7-oss;
|
||||
kibana = pkgs.kibana7-oss;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
import ./make-test.nix ({ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
port = 3142;
|
||||
username = "alice";
|
||||
password = "correcthorsebatterystaple";
|
||||
defaultPort = 8080;
|
||||
defaultUsername = "admin";
|
||||
defaultPassword = "password";
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
name = "miniflux";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bricewge ];
|
||||
|
||||
nodes = {
|
||||
default =
|
||||
{ ... }:
|
||||
{
|
||||
services.miniflux.enable = true;
|
||||
};
|
||||
|
||||
customized =
|
||||
{ ... }:
|
||||
{
|
||||
services.miniflux = {
|
||||
enable = true;
|
||||
config = {
|
||||
CLEANUP_FREQUENCY = "48";
|
||||
LISTEN_ADDR = "localhost:${toString port}";
|
||||
};
|
||||
adminCredentialsFile = pkgs.writeText "admin-credentials" ''
|
||||
ADMIN_USERNAME=${username}
|
||||
ADMIN_PASSWORD=${password}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$default->waitForUnit('miniflux.service');
|
||||
$default->waitForOpenPort(${toString defaultPort});
|
||||
$default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK");
|
||||
$default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
|
||||
|
||||
$customized->waitForUnit('miniflux.service');
|
||||
$customized->waitForOpenPort(${toString port});
|
||||
$customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK");
|
||||
$customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
|
||||
'';
|
||||
})
|
|
@ -3,15 +3,29 @@ import ./make-test.nix {
|
|||
|
||||
nodes = {
|
||||
one = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
services.prometheus2 = {
|
||||
enable = true;
|
||||
scrapeConfigs = [{
|
||||
job_name = "prometheus";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:9090" ];
|
||||
labels = { instance = "localhost"; };
|
||||
}];
|
||||
}];
|
||||
scrapeConfigs = [
|
||||
{
|
||||
job_name = "prometheus";
|
||||
static_configs = [
|
||||
{
|
||||
targets = [ "127.0.0.1:9090" ];
|
||||
labels = { instance = "localhost"; };
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "pushgateway";
|
||||
scrape_interval = "1s";
|
||||
static_configs = [
|
||||
{
|
||||
targets = [ "127.0.0.1:9091" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
rules = [
|
||||
''
|
||||
groups:
|
||||
|
@ -22,6 +36,12 @@ import ./make-test.nix {
|
|||
''
|
||||
];
|
||||
};
|
||||
services.prometheus.pushgateway = {
|
||||
enable = true;
|
||||
persistMetrics = true;
|
||||
persistence.interval = "1s";
|
||||
stateDir = "prometheus-pushgateway";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -30,5 +50,18 @@ import ./make-test.nix {
|
|||
$one->waitForUnit("prometheus2.service");
|
||||
$one->waitForOpenPort(9090);
|
||||
$one->succeed("curl -s http://127.0.0.1:9090/metrics");
|
||||
|
||||
# Let's test if pushing a metric to the pushgateway succeeds
|
||||
# and whether that metric gets ingested by prometheus.
|
||||
$one->waitForUnit("pushgateway.service");
|
||||
$one->succeed(
|
||||
"echo 'some_metric 3.14' | " .
|
||||
"curl --data-binary \@- http://127.0.0.1:9091/metrics/job/some_job");
|
||||
$one->waitUntilSucceeds(
|
||||
"curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' " .
|
||||
"| jq '.data.result[0].value[1]' | grep '\"3.14\"'");
|
||||
|
||||
# Let's test if the pushgateway persists metrics to the configured location.
|
||||
$one->waitUntilSucceeds("test -e /var/lib/prometheus-pushgateway/metrics");
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,47 +1,65 @@
|
|||
import ./make-test.nix ({ pkgs, lib, ... }:
|
||||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../lib/testing.nix { inherit system pkgs; };
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
solrTest = package: makeTest {
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
|
||||
#
|
||||
# OpenJDK 64-Bit Server VM warning:
|
||||
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
|
||||
# failed; error='Cannot allocate memory' (errno=12)
|
||||
#
|
||||
# There is insufficient memory for the Java Runtime Environment to continue.
|
||||
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
|
||||
virtualisation.memorySize = 2000;
|
||||
|
||||
services.solr.enable = true;
|
||||
services.solr.package = package;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$machine->waitForUnit('solr.service');
|
||||
$machine->waitForOpenPort('8983');
|
||||
$machine->succeed('curl --fail http://localhost:8983/solr/');
|
||||
|
||||
# adapted from pkgs.solr/examples/films/README.txt
|
||||
$machine->succeed('sudo -u solr solr create -c films');
|
||||
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
|
||||
"add-field" : {
|
||||
"name":"name",
|
||||
"type":"text_general",
|
||||
"multiValued":false,
|
||||
"stored":true
|
||||
},
|
||||
"add-field" : {
|
||||
"name":"initial_release_date",
|
||||
"type":"pdate",
|
||||
"stored":true
|
||||
}
|
||||
}')) =~ /"status":0/ or die;
|
||||
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
|
||||
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "solr";
|
||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
||||
solr_7 = solrTest pkgs.solr_7 // {
|
||||
name = "solr_7";
|
||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
||||
};
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
|
||||
#
|
||||
# OpenJDK 64-Bit Server VM warning:
|
||||
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
|
||||
# failed; error='Cannot allocate memory' (errno=12)
|
||||
#
|
||||
# There is insufficient memory for the Java Runtime Environment to continue.
|
||||
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
|
||||
virtualisation.memorySize = 2000;
|
||||
|
||||
services.solr.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$machine->waitForUnit('solr.service');
|
||||
$machine->waitForOpenPort('8983');
|
||||
$machine->succeed('curl --fail http://localhost:8983/solr/');
|
||||
|
||||
# adapted from pkgs.solr/examples/films/README.txt
|
||||
$machine->succeed('sudo -u solr solr create -c films');
|
||||
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
|
||||
"add-field" : {
|
||||
"name":"name",
|
||||
"type":"text_general",
|
||||
"multiValued":false,
|
||||
"stored":true
|
||||
},
|
||||
"add-field" : {
|
||||
"name":"initial_release_date",
|
||||
"type":"pdate",
|
||||
"stored":true
|
||||
}
|
||||
}')) =~ /"status":0/ or die;
|
||||
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
|
||||
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
|
||||
'';
|
||||
})
|
||||
solr_8 = solrTest pkgs.solr_8 // {
|
||||
name = "solr_8";
|
||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "0.12.8.0";
|
||||
version = "0.12.9.0";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "aeon-${version}";
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
|||
repo = "aeon";
|
||||
rev = "v${version}-aeon";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1qmlz820mjs0b60d7i90lxcwwxmsdy6swq67v6n8mbb79zmcx8ii";
|
||||
sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ callPackage, boost155, boost165, openssl_1_1, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3, buildGo110Package }:
|
||||
{ callPackage, boost155, boost165, openssl_1_1, haskellPackages, darwin, libsForQt5, libsForQt59, miniupnpc_2, python3, buildGo110Package }:
|
||||
|
||||
rec {
|
||||
|
||||
|
@ -75,6 +75,9 @@ rec {
|
|||
namecoin = callPackage ./namecoin.nix { withGui = true; };
|
||||
namecoind = callPackage ./namecoin.nix { withGui = false; };
|
||||
|
||||
pivx = libsForQt59.callPackage ./pivx.nix { withGui = true; };
|
||||
pivxd = callPackage ./pivx.nix { withGui = false; };
|
||||
|
||||
ethabi = callPackage ./ethabi.nix { };
|
||||
|
||||
stellar-core = callPackage ./stellar-core.nix { };
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
|
||||
, openssl, db48, boost, zlib, miniupnpc, gmp
|
||||
, qrencode, glib, protobuf, yasm, libevent
|
||||
, utillinux, qtbase ? null, qttools ? null
|
||||
, enableUpnp ? false
|
||||
, disableWallet ? false
|
||||
, disableDaemon ? false
|
||||
, withGui ? false }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pivx-${version}";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PIVX-Project";
|
||||
repo= "PIVX";
|
||||
rev = "v${version}";
|
||||
sha256 = "1sym6254vhq8qqpxq9qhy10m5167v7x93kqaj1gixc1vwwbxyazy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ optional enableUpnp "--enable-upnp-default"
|
||||
++ optional disableWallet "--disable-wallet"
|
||||
++ optional disableDaemon "--disable-daemon"
|
||||
++ optionals withGui [ "--with-gui=yes"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doChecks = true;
|
||||
postBuild = ''
|
||||
mkdir -p $out/share/applications $out/share/icons
|
||||
cp contrib/debian/pivx-qt.desktop $out/share/applications/
|
||||
cp share/pixmaps/*128.png $out/share/icons/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An open source crypto-currency focused on fast private transactions";
|
||||
longDescription = ''
|
||||
PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
|
||||
ultra fast transactions, low fees, high network decentralization, and
|
||||
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
homepage = https://www.dash.org;
|
||||
maintainers = with maintainers; [ wucke13 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
|||
patchShebangs ./tools/
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
wafConfigureFlags = [
|
||||
"--optimize"
|
||||
"--docs"
|
||||
"--with-backends=jack,alsa,dummy"
|
||||
|
|
|
@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
|
|||
production, performance and DJing, with a focus on flexible
|
||||
editing tools and a super-fast workflow.
|
||||
'';
|
||||
homepage = http://www.bitwig.com/;
|
||||
homepage = https://www.bitwig.com/;
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ michalrus mrVanDalo ];
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
{ config, stdenv, fetchurl, intltool, pkgconfig, jansson
|
||||
{ config, stdenv, fetchFromGitHub
|
||||
, autoconf
|
||||
, automake
|
||||
, libtool
|
||||
, intltool
|
||||
, pkgconfig
|
||||
, jansson
|
||||
# deadbeef can use either gtk2 or gtk3
|
||||
, gtk2Support ? false, gtk2 ? null
|
||||
, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
|
||||
|
@ -9,7 +15,7 @@
|
|||
, wavSupport ? true, libsndfile ? null
|
||||
, cdaSupport ? true, libcdio ? null, libcddb ? null
|
||||
, aacSupport ? true, faad2 ? null
|
||||
, midiSupport ? false, wildmidi ? null
|
||||
, opusSupport ? true, opusfile ? null
|
||||
, wavpackSupport ? false, wavpack ? null
|
||||
, ffmpegSupport ? false, ffmpeg ? null
|
||||
, apeSupport ? true, yasm ? null
|
||||
|
@ -37,6 +43,7 @@ assert flacSupport -> flac != null;
|
|||
assert wavSupport -> libsndfile != null;
|
||||
assert cdaSupport -> (libcdio != null && libcddb != null);
|
||||
assert aacSupport -> faad2 != null;
|
||||
assert opusSupport -> opusfile != null;
|
||||
assert zipSupport -> libzip != null;
|
||||
assert ffmpegSupport -> ffmpeg != null;
|
||||
assert apeSupport -> yasm != null;
|
||||
|
@ -47,19 +54,27 @@ assert alsaSupport -> alsaLib != null;
|
|||
assert pulseSupport -> libpulseaudio != null;
|
||||
assert resamplerSupport -> libsamplerate != null;
|
||||
assert overloadSupport -> zlib != null;
|
||||
assert midiSupport -> wildmidi != null;
|
||||
assert wavpackSupport -> wavpack != null;
|
||||
assert remoteSupport -> curl != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deadbeef-${version}";
|
||||
version = "0.7.2";
|
||||
pname = "deadbeef";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/deadbeef/${name}.tar.bz2";
|
||||
sha256 = "1168hgr1nf27pf24n1rlfh1kx1wiscwhpbhqw0rprwy203gsnqwa";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeaDBeeF-Player";
|
||||
repo = "deadbeef";
|
||||
rev = version;
|
||||
sha256 = "126i5qlkpv7pvi1mmc9y0jhqs6jjspsj7j615n2ddvsb2jsps81c";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix broken symbol name
|
||||
# https://github.com/NixOS/nixpkgs/pull/59187#issuecomment-480977993
|
||||
# will be fixed in deadbeef 1.8.1
|
||||
./fix-wildmidi.patch
|
||||
];
|
||||
|
||||
buildInputs = with stdenv.lib; [ jansson ]
|
||||
++ optional gtk2Support gtk2
|
||||
++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ]
|
||||
|
@ -69,6 +84,7 @@ stdenv.mkDerivation rec {
|
|||
++ optional wavSupport libsndfile
|
||||
++ optionals cdaSupport [ libcdio libcddb ]
|
||||
++ optional aacSupport faad2
|
||||
++ optional opusSupport opusfile
|
||||
++ optional zipSupport libzip
|
||||
++ optional ffmpegSupport ffmpeg
|
||||
++ optional apeSupport yasm
|
||||
|
@ -79,16 +95,24 @@ stdenv.mkDerivation rec {
|
|||
++ optional pulseSupport libpulseaudio
|
||||
++ optional resamplerSupport libsamplerate
|
||||
++ optional overloadSupport zlib
|
||||
++ optional midiSupport wildmidi
|
||||
++ optional wavpackSupport wavpack
|
||||
++ optional remoteSupport curl
|
||||
;
|
||||
|
||||
nativeBuildInputs = with stdenv.lib; [ intltool pkgconfig ]
|
||||
++ optional gtk3Support wrapGAppsHook;
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
intltool
|
||||
libtool
|
||||
pkgconfig
|
||||
] ++ stdenv.lib.optional gtk3Support wrapGAppsHook;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Ultimate Music Player for GNU/Linux";
|
||||
homepage = http://deadbeef.sourceforge.net/;
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
--- a/plugins/wildmidi/src/wildmidi_lib.c
|
||||
+++ b/plugins/wildmidi/src/wildmidi_lib.c
|
||||
@@ -394,11 +394,11 @@ free_gauss (void) {
|
||||
}
|
||||
}
|
||||
|
||||
-unsigned long int delay_size[4][2];
|
||||
-signed long int a[5][2];
|
||||
-signed long int b[5][2];
|
||||
-signed long int gain_in[4];
|
||||
-signed long int gain_out[4];
|
||||
+static unsigned long int delay_size[4][2];
|
||||
+static signed long int a[5][2];
|
||||
+static signed long int b[5][2];
|
||||
+static signed long int gain_in[4];
|
||||
+static signed long int gain_out[4];
|
||||
|
||||
void init_lowpass (void) {
|
||||
float c = 0;
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deadbeef-mpris2-plugin-${version}";
|
||||
version = "1.11";
|
||||
version = "1.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${name}.tar.xz";
|
||||
sha256 = "1j631z34rwxf6wdjpsf8c2f1saq6qas1qmkgsg63m6zzpwqyizw0";
|
||||
sha256 = "0s3y4ka4qf38cypc0xspy79q0g5y1kqx6ldad7yr6a45nw6j95jh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
{ stdenv, fetchFromBitbucket, opusfile, libopus, libogg, openssl, deadbeef }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deadbeef-opus-plugin-${version}";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "Lithopsian";
|
||||
repo = "deadbeef-opus";
|
||||
rev = "v${version}";
|
||||
sha256 = "057rgsw4563gs63k05s7zsdc0n4djxwlbyqabf7c88f23z35ryyi";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${opusfile}/include/opus"
|
||||
];
|
||||
|
||||
buildInputs = [ deadbeef opusfile libopus libogg openssl ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Ogg Opus decoder plugin for the DeaDBeeF music player";
|
||||
homepage = https://bitbucket.org/Lithopsian/deadbeef-opus;
|
||||
license = licenses.gpl2; # There are three files, each licensed under different license: zlib, gpl2Plus and lgpl2
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -5,16 +5,20 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "gpodder";
|
||||
version = "3.10.7";
|
||||
version = "3.10.8";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j";
|
||||
sha256 = "0sx5z9qjl76fi0m8vmars0yasfaq6znq434d8zjwla22k5wflmwm";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-autoupdate.patch
|
||||
];
|
||||
|
||||
postPatch = with stdenv.lib; ''
|
||||
sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder
|
||||
'';
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
--- a/share/gpodder/ui/gtk/menus.ui
|
||||
+++ b/share/gpodder/ui/gtk/menus.ui
|
||||
@@ -13,10 +13,6 @@
|
||||
<attribute name="action">app.gotoMygpo</attribute>
|
||||
<attribute name="label" translatable="yes">Go to gpodder.net</attribute>
|
||||
</item>
|
||||
- <item>
|
||||
- <attribute name="action">app.checkForUpdates</attribute>
|
||||
- <attribute name="label" translatable="yes">Software updates</attribute>
|
||||
- </item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
@@ -201,4 +197,4 @@
|
||||
</submenu>
|
||||
</menu>
|
||||
</interface>
|
||||
-<!-- :noTabs=true:tabSize=2:indentSize=2: -->
|
||||
\ No newline at end of file
|
||||
+<!-- :noTabs=true:tabSize=2:indentSize=2: -->
|
||||
--- a/src/gpodder/config.py
|
||||
+++ b/src/gpodder/config.py
|
||||
@@ -91,13 +91,6 @@
|
||||
'retries': 3, # number of retries when downloads time out
|
||||
},
|
||||
|
||||
- # Software updates from gpodder.org
|
||||
- 'software_update': {
|
||||
- 'check_on_startup': True, # check for updates on start
|
||||
- 'last_check': 0, # unix timestamp of last update check
|
||||
- 'interval': 5, # interval (in days) to check for updates
|
||||
- },
|
||||
-
|
||||
'ui': {
|
||||
# Settings for the Command-Line Interface
|
||||
'cli': {
|
||||
--- a/src/gpodder/gtkui/main.py
|
||||
+++ b/src/gpodder/gtkui/main.py
|
||||
@@ -224,7 +224,7 @@
|
||||
util.idle_add(self.subscribe_to_url, self.options.subscribe)
|
||||
elif not self.channels:
|
||||
self.on_itemUpdate_activate()
|
||||
- elif self.config.software_update.check_on_startup:
|
||||
+ elif False and self.config.software_update.check_on_startup:
|
||||
# Check for software updates from gpodder.org
|
||||
diff = time.time() - self.config.software_update.last_check
|
||||
if diff > (60 * 60 * 24) * self.config.software_update.interval:
|
||||
@@ -3288,6 +3288,7 @@
|
||||
If silent=False, a message will be shown even if no updates are
|
||||
available (set silent=False when the check is manually triggered).
|
||||
"""
|
||||
+ return
|
||||
try:
|
||||
up_to_date, version, released, days = util.get_update_info()
|
||||
except Exception as e:
|
|
@ -12,11 +12,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "guitarix-${version}";
|
||||
version = "0.37.3";
|
||||
version = "0.38.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
|
||||
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
|
||||
sha256 = "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];
|
||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
zita-resampler curl
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
wafConfigureFlags = [
|
||||
"--shared-lib"
|
||||
"--no-desktop-update"
|
||||
"--enable-nls"
|
||||
|
|
|
@ -152,7 +152,7 @@ stdenv.mkDerivation rec {
|
|||
- Delay Compensator Stereo - Verzögerungsausgleicher Stereo
|
||||
- Delay Compensator x2 Stereo - Verzögerungsausgleicher x2 Stereo
|
||||
'';
|
||||
homepage = http://lsp-plug.in;
|
||||
homepage = https://lsp-plug.in;
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ncmpc-${version}";
|
||||
version = "0.33";
|
||||
version = "0.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MusicPlayerDaemon";
|
||||
repo = "ncmpc";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ymnxb85v2pc0qpk0yz5gdxayc0ialk82ba521lgdw66li7fr4as";
|
||||
sha256 = "0ffby37qdg251c1w0vl6rmd13akbydnf12468z4vrl0ybwfd7fc4";
|
||||
};
|
||||
|
||||
buildInputs = [ glib ncurses mpd_clientlib boost ];
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
, patchelf
|
||||
, fdk_aac
|
||||
, libtool
|
||||
, ldacbt
|
||||
, cmake
|
||||
, bluez
|
||||
, dbus
|
||||
|
@ -23,14 +24,13 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "pulseaudio-modules-bt-${version}";
|
||||
version = "unstable-2019-03-15";
|
||||
version = "1.1.99";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EHfive";
|
||||
repo = "pulseaudio-modules-bt";
|
||||
rev = "0b397c26eb4fd5dc611bd3e2baa79776de646856";
|
||||
sha256 = "09q0xh9iz0crik6xpln9lijirf62aljxa1jrds1i1zgflyfidd0z";
|
||||
fetchSubmodules = true;
|
||||
rev = "v${version}";
|
||||
sha256 = "0x670xbd62r3fs9a8pa5p4ppvxn6m64hvlrqa702gvikcvyrmwcg";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -48,6 +48,7 @@ in stdenv.mkDerivation rec {
|
|||
ffmpeg_4
|
||||
fdk_aac
|
||||
libtool
|
||||
ldacbt
|
||||
bluez
|
||||
dbus
|
||||
sbc
|
||||
|
@ -67,7 +68,7 @@ in stdenv.mkDerivation rec {
|
|||
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
|
||||
orig_rpath=$(patchelf --print-rpath "$so")
|
||||
patchelf \
|
||||
--set-rpath "${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
|
||||
--set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
|
||||
"$so"
|
||||
done
|
||||
'';
|
||||
|
|
|
@ -47,13 +47,13 @@ let
|
|||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "pulseeffects";
|
||||
version = "4.5.5";
|
||||
version = "4.5.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wwmm";
|
||||
repo = "pulseeffects";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ll85c9xll2i42r1bdgbnxi5mc5jq2vxgp179jj2iq7wczq5psj1";
|
||||
sha256 = "19pqi9wix359hdrslzmi9sz0dzz03pdwqvdyzw3i5rdny01skdfw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qsynth-${version}";
|
||||
version = "0.5.5";
|
||||
version = "0.5.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
|
||||
sha256 = "08x7znvbwi9miavcarymi7dsv8njmxzwzma20dbmz8j2aswm53w5";
|
||||
sha256 = "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf pkgconfig ];
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qtractor";
|
||||
version = "0.9.5";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1zsikhqj5xzhw2x3b6pqlmcwz3hxx07lbbif8v3m3j41snzjic22";
|
||||
sha256 = "06sa4wl8zr0k8dnjiil0gjwnhrkq95h50xv56ih1y8jgyzxchaxp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "samplv1-${version}";
|
||||
version = "0.9.5";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
|
||||
sha256 = "0402rdr46za21w34m7ajzbwiiqcd1h0da3b0ldsr2z5g2mrkzxv8";
|
||||
sha256 = "16a5xix9pn0gl3fr6bv6zl1l9vrzgvy1q7xd8yxzfr3vi5s8x4z9";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "synthv1-${version}";
|
||||
version = "0.9.5";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
|
||||
sha256 = "1b9w4cml3cmcg09kh852cahas6l9ks8wl3gzp1az8rzxz4229yg1";
|
||||
sha256 = "1hcngk7mxfrqf8v3r759x3wd0p02nc3q83j8m3k58p408y3mx7nr";
|
||||
};
|
||||
|
||||
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "0.18.0";
|
||||
version = "0.18.1";
|
||||
|
||||
in mkDerivation rec {
|
||||
name = "sddm-${version}";
|
||||
|
@ -13,7 +13,7 @@ in mkDerivation rec {
|
|||
owner = "sddm";
|
||||
repo = "sddm";
|
||||
rev = "v${version}";
|
||||
sha256 = "16xnm02iqgy4hydzd6my0widq981glbazbhxnihhclgsaczh8mfq";
|
||||
sha256 = "0an1zafz0yhxd9jgd3gzdwmaw5f9vs4c924q56lp2yxxddbmzjcq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -41,11 +41,11 @@ in mkDerivation rec {
|
|||
# not supported anyway.
|
||||
"-DUID_MIN=1000"
|
||||
"-DUID_MAX=29999"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export cmakeFlags="$cmakeFlags -DQT_IMPORTS_DIR=$out/$qtQmlPrefix -DCMAKE_INSTALL_SYSCONFDIR=$out/etc -DSYSTEMD_SYSTEM_UNIT_DIR=$out/lib/systemd/system"
|
||||
'';
|
||||
"-DQT_IMPORTS_DIR=${placeholder "out"}/${qtbase.qtQmlPrefix}"
|
||||
"-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
|
||||
"-DSYSTEMD_SYSTEM_UNIT_DIR=${placeholder "out"}/lib/systemd/system"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# remove empty scripts
|
||||
|
|
|
@ -18,21 +18,11 @@ let
|
|||
sha256Hash = "1v4apc73jdhavhzj8j46mzh15rw08w1hd9y9ykarj3b5q7i2vyq1";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.5.0.9"; # "Android Studio 3.5 Canary 10"
|
||||
build = "191.5416148";
|
||||
sha256Hash = "03d2x6bqasw417dxc7b8y65rral73xm2ci512gprmsvwy42k3mqi";
|
||||
version = "3.5.0.10"; # "Android Studio 3.5 Canary 11"
|
||||
build = "191.5455988";
|
||||
sha256Hash = "1g24a8fwnrfzdf093wdmqly3mzjddk5ndgi51qj98amn7kclsdpf";
|
||||
};
|
||||
in rec {
|
||||
# Old alias (TODO @primeos: Remove after 19.03 is branched off):
|
||||
preview = throw ''
|
||||
The attributes "android-studio-preview" and "androidStudioPackages.preview"
|
||||
are now deprecated and will be removed soon, please use
|
||||
"androidStudioPackages.beta" instead. This attribute corresponds to the
|
||||
beta channel, if you want the latest release you can use
|
||||
"androidStudioPackages.dev" or "androidStudioPackages.canary" instead
|
||||
(currently, there is no difference between both channels).
|
||||
'';
|
||||
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
||||
stable = mkStudio (stableVersion // {
|
||||
|
|
|
@ -19,10 +19,10 @@
|
|||
elpaBuild {
|
||||
pname = "ack";
|
||||
ename = "ack";
|
||||
version = "1.5";
|
||||
version = "1.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ack-1.5.tar";
|
||||
sha256 = "0sljshiy44z27idy0rxjs2fx4smlm4v607wic7md1vihp6qp4l9r";
|
||||
url = "https://elpa.gnu.org/packages/ack-1.8.tar";
|
||||
sha256 = "1d4218km7j1bx1fsna29j3gi3k2ak2fzbk1gyki327pnnlma6bav";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -39,10 +39,10 @@
|
|||
elpaBuild {
|
||||
pname = "ada-mode";
|
||||
ename = "ada-mode";
|
||||
version = "6.0.1";
|
||||
version = "6.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-6.0.1.tar";
|
||||
sha256 = "12ryblyqnhqibaffibs7qq3xq9rf5d4y9dishq82pbbh9y8s17hj";
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-6.1.0.tar";
|
||||
sha256 = "1qa4kjv5xxlj50fghg5516cxn8ckv8vlyarcab2isxjnnxnb6g7s";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs wisi ];
|
||||
meta = {
|
||||
|
@ -54,10 +54,10 @@
|
|||
elpaBuild {
|
||||
pname = "ada-ref-man";
|
||||
ename = "ada-ref-man";
|
||||
version = "2012.3";
|
||||
version = "2012.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ada-ref-man-2012.3.tar";
|
||||
sha256 = "0w88xw51jb85nmqbi3i9kj9kx2fa6zlazk3x7afll7njc6g4105z";
|
||||
url = "https://elpa.gnu.org/packages/ada-ref-man-2012.5.tar";
|
||||
sha256 = "0n7izqc44i3l6fxbzkq9gwwlcf04rr9g1whrk8biz84jhbyh23x8";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -204,16 +204,16 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
auctex = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
auctex = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "auctex";
|
||||
ename = "auctex";
|
||||
version = "12.1.1";
|
||||
version = "12.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/auctex-12.1.1.tar";
|
||||
sha256 = "10l96569dy9pfp8bm64pndhk1skg65kqhsyllwfa0zvb7mjkm70l";
|
||||
url = "https://elpa.gnu.org/packages/auctex-12.1.2.tar";
|
||||
sha256 = "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n";
|
||||
};
|
||||
packageRequires = [];
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/auctex.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -324,6 +324,25 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
buffer-expose = callPackage ({ cl-lib ? null
|
||||
, elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib }:
|
||||
elpaBuild {
|
||||
pname = "buffer-expose";
|
||||
ename = "buffer-expose";
|
||||
version = "0.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/buffer-expose-0.4.1.el";
|
||||
sha256 = "05b1mhcv3860g93a7myqqrhmb9gpp19b4bcxhmdbmf4m0f7p9fw4";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/buffer-expose.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
bug-hunter = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, seq }:
|
||||
elpaBuild {
|
||||
pname = "bug-hunter";
|
||||
|
@ -429,6 +448,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
clipboard-collector = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "clipboard-collector";
|
||||
ename = "clipboard-collector";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/clipboard-collector-0.2.el";
|
||||
sha256 = "19scspkxgm3b1jkv10jy6nw9gv1q6sfjys09l37mvsva3djxa1dl";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/clipboard-collector.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
cobol-mode = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "cobol-mode";
|
||||
|
@ -621,10 +655,10 @@
|
|||
elpaBuild {
|
||||
pname = "darkroom";
|
||||
ename = "darkroom";
|
||||
version = "0.1";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/darkroom-0.1.el";
|
||||
sha256 = "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak";
|
||||
url = "https://elpa.gnu.org/packages/darkroom-0.2.el";
|
||||
sha256 = "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0";
|
||||
};
|
||||
packageRequires = [ cl-lib ];
|
||||
meta = {
|
||||
|
@ -664,18 +698,19 @@
|
|||
}) {};
|
||||
debbugs = callPackage ({ cl-lib ? null
|
||||
, elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib
|
||||
, soap-client }:
|
||||
elpaBuild {
|
||||
pname = "debbugs";
|
||||
ename = "debbugs";
|
||||
version = "0.16";
|
||||
version = "0.17";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.16.tar";
|
||||
sha256 = "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p";
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.17.tar";
|
||||
sha256 = "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb";
|
||||
};
|
||||
packageRequires = [ cl-lib soap-client ];
|
||||
packageRequires = [ cl-lib emacs soap-client ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/debbugs.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -715,10 +750,10 @@
|
|||
elpaBuild {
|
||||
pname = "diff-hl";
|
||||
ename = "diff-hl";
|
||||
version = "1.8.5";
|
||||
version = "1.8.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/diff-hl-1.8.5.tar";
|
||||
sha256 = "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d";
|
||||
url = "https://elpa.gnu.org/packages/diff-hl-1.8.6.tar";
|
||||
sha256 = "02hvi5jxv2anf62lw878bdz6xk7xjhjd5q85pqihmadbpj6i6pfq";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -745,10 +780,10 @@
|
|||
elpaBuild {
|
||||
pname = "dired-du";
|
||||
ename = "dired-du";
|
||||
version = "0.5.1";
|
||||
version = "0.5.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/dired-du-0.5.1.tar";
|
||||
sha256 = "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766";
|
||||
url = "https://elpa.gnu.org/packages/dired-du-0.5.2.tar";
|
||||
sha256 = "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -756,6 +791,36 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
dired-git-info = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "dired-git-info";
|
||||
ename = "dired-git-info";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/dired-git-info-0.2.el";
|
||||
sha256 = "1pxn6kmgnynil13gp3m0y8hhkvciy3dcd55psj70pkrj50555dqx";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/dired-git-info.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
disk-usage = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "disk-usage";
|
||||
ename = "disk-usage";
|
||||
version = "1.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/disk-usage-1.3.1.el";
|
||||
sha256 = "1jkwlg7w4090a7byfjh30mjz1libls8n71pphmn3973hqwaclnr7";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/disk-usage.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "dismal";
|
||||
|
@ -835,10 +900,10 @@
|
|||
elpaBuild {
|
||||
pname = "ebdb";
|
||||
ename = "ebdb";
|
||||
version = "0.6.2";
|
||||
version = "0.6.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ebdb-0.6.2.tar";
|
||||
sha256 = "1b37962mvm80vk5sdk9kfvvxsxn83z5z6zvm20m9997ggl5dv4dz";
|
||||
url = "https://elpa.gnu.org/packages/ebdb-0.6.6.tar";
|
||||
sha256 = "1jgx099z9xg47v698qjbk5q70bakfw7zxaj25z4jz1mq64fvk6b5";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs seq ];
|
||||
meta = {
|
||||
|
@ -900,10 +965,10 @@
|
|||
elpaBuild {
|
||||
pname = "eglot";
|
||||
ename = "eglot";
|
||||
version = "1.3";
|
||||
version = "1.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/eglot-1.3.tar";
|
||||
sha256 = "0hndqabxvrq4ak5kx2xlds5pkayi2bfd1f1xk8aidzk5i70f7yry";
|
||||
url = "https://elpa.gnu.org/packages/eglot-1.4.tar";
|
||||
sha256 = "1f2p08ly17jcjyh8bif5zhmzhx3z5y9z20v6z24z939bqk8c1pdq";
|
||||
};
|
||||
packageRequires = [ emacs flymake jsonrpc ];
|
||||
meta = {
|
||||
|
@ -920,10 +985,10 @@
|
|||
elpaBuild {
|
||||
pname = "el-search";
|
||||
ename = "el-search";
|
||||
version = "1.8.8";
|
||||
version = "1.11.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/el-search-1.8.8.tar";
|
||||
sha256 = "1yv91vzpxn29rr8rkrihcbf26pafnxj25j7g38rss9qigswjkpnk";
|
||||
url = "https://elpa.gnu.org/packages/el-search-1.11.4.tar";
|
||||
sha256 = "152kx9s72h94n6nsrn84cmfb264cdw61ny5fn0n3fa581ipy34nm";
|
||||
};
|
||||
packageRequires = [ cl-print emacs stream ];
|
||||
meta = {
|
||||
|
@ -1037,10 +1102,10 @@
|
|||
elpaBuild {
|
||||
pname = "exwm";
|
||||
ename = "exwm";
|
||||
version = "0.21";
|
||||
version = "0.22.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/exwm-0.21.tar";
|
||||
sha256 = "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj";
|
||||
url = "https://elpa.gnu.org/packages/exwm-0.22.1.tar";
|
||||
sha256 = "1ggb8vgxxml8c5bvamv9jgz80gs6h9xirjgphq8gwkywwd5xyiq4";
|
||||
};
|
||||
packageRequires = [ xelb ];
|
||||
meta = {
|
||||
|
@ -1097,10 +1162,10 @@
|
|||
elpaBuild {
|
||||
pname = "flymake";
|
||||
ename = "flymake";
|
||||
version = "1.0.3";
|
||||
version = "1.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/flymake-1.0.3.el";
|
||||
sha256 = "1algny2zhcl4vc7kp5czcqvxzpgqfjnz2rnkv26r0ylxig3s98v7";
|
||||
url = "https://elpa.gnu.org/packages/flymake-1.0.5.el";
|
||||
sha256 = "1zxzad84gcbdfh3pp606sspy8zkgxvngbzbimc2cam4pjcmwfx1y";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1112,10 +1177,10 @@
|
|||
elpaBuild {
|
||||
pname = "fountain-mode";
|
||||
ename = "fountain-mode";
|
||||
version = "2.6.1";
|
||||
version = "2.6.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/fountain-mode-2.6.1.el";
|
||||
sha256 = "0p0h28cmryhsgrp2ghk28i1xkfz4gvdwaa38galn4jksn9dh0dyb";
|
||||
url = "https://elpa.gnu.org/packages/fountain-mode-2.6.2.el";
|
||||
sha256 = "0ysxk9ap919scg2zz0psw8hk1dj35ys9p0havswsjzm46k43xd6z";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1138,6 +1203,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
frog-menu = callPackage ({ avy, elpaBuild, emacs, fetchurl, lib, posframe }:
|
||||
elpaBuild {
|
||||
pname = "frog-menu";
|
||||
ename = "frog-menu";
|
||||
version = "0.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/frog-menu-0.2.2.el";
|
||||
sha256 = "0kv31p42gmi01xalbvwksk10l28ascdr214bmv1z22dipv0zm30i";
|
||||
};
|
||||
packageRequires = [ avy emacs posframe ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/frog-menu.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
fsm = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "fsm";
|
||||
|
@ -1278,6 +1358,41 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
greader = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "greader";
|
||||
ename = "greader";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/greader-0.1.tar";
|
||||
sha256 = "0mwhmidzv9vnmx6xls8pq4ra4m0f4yg677xgv34ivv34vsgg1mhb";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/greader.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
guess-language = callPackage ({ advice
|
||||
, cl-lib ? null
|
||||
, elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib }:
|
||||
elpaBuild {
|
||||
pname = "guess-language";
|
||||
ename = "guess-language";
|
||||
version = "0.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/guess-language-0.0.1.el";
|
||||
sha256 = "11a6m2337j4ncppaf59yr2vavvvsph2qh51d12zmq58g9wh3d7wz";
|
||||
};
|
||||
packageRequires = [ advice cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/guess-language.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
heap = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "heap";
|
||||
|
@ -1430,14 +1545,29 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ivy-explorer = callPackage ({ elpaBuild, emacs, fetchurl, ivy, lib }:
|
||||
elpaBuild {
|
||||
pname = "ivy-explorer";
|
||||
ename = "ivy-explorer";
|
||||
version = "0.3.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ivy-explorer-0.3.2.el";
|
||||
sha256 = "0q9gy9w22hnq30bfmnpqknk0qc1rcbjcybpjgb8hnlldvcci95l7";
|
||||
};
|
||||
packageRequires = [ emacs ivy ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/ivy-explorer.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
javaimp = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "javaimp";
|
||||
ename = "javaimp";
|
||||
version = "0.6";
|
||||
version = "0.6.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/javaimp-0.6.tar";
|
||||
sha256 = "015kchx6brsjk7q6lz9y44a18n5imapd95czx50hqdscjczmj2ff";
|
||||
url = "https://elpa.gnu.org/packages/javaimp-0.6.1.tar";
|
||||
sha256 = "1piaj3sgw6a05g9dhkbrn5n490w01z1rxa7axh3vg1xqbs6rv7lw";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -1464,10 +1594,10 @@
|
|||
elpaBuild {
|
||||
pname = "js2-mode";
|
||||
ename = "js2-mode";
|
||||
version = "20180301";
|
||||
version = "20190219";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/js2-mode-20180301.tar";
|
||||
sha256 = "0kcs70iygbpaxs094q6agsjs56sz03jy4fwk178f9hr93x95pynx";
|
||||
url = "https://elpa.gnu.org/packages/js2-mode-20190219.tar";
|
||||
sha256 = "0jgqs7cwykw5ihdq9wp5qc05y6br9gsyfiylqhjq43z59673chcc";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -1655,6 +1785,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
map = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "map";
|
||||
ename = "map";
|
||||
version = "2.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/map-2.0.el";
|
||||
sha256 = "1djygpvk1qgldg9my0lh8n2z1n6acz3y5ws7sv2w08hvxdlxz857";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/map.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
markchars = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "markchars";
|
||||
|
@ -1908,10 +2053,10 @@
|
|||
elpaBuild {
|
||||
pname = "nlinum";
|
||||
ename = "nlinum";
|
||||
version = "1.8.1";
|
||||
version = "1.9";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/nlinum-1.8.1.el";
|
||||
sha256 = "0fx560yfjy6nqgs1d3fiv0h46i8q3r592clsia7nihkriah7rlwf";
|
||||
url = "https://elpa.gnu.org/packages/nlinum-1.9.el";
|
||||
sha256 = "03zqlz58fvh4cpfl43h7py2fpnc7m37f1ys8zhrc511ccq9cwkdn";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -1979,6 +2124,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
objed = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "objed";
|
||||
ename = "objed";
|
||||
version = "0.8.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/objed-0.8.1.tar";
|
||||
sha256 = "06jfvz7avh28p1ghyd1aik5lz8k9fnv1fcxh9npm1iyvh810y5zj";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/objed.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
omn-mode = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "omn-mode";
|
||||
|
@ -2013,10 +2173,10 @@
|
|||
elpaBuild {
|
||||
pname = "org";
|
||||
ename = "org";
|
||||
version = "9.2";
|
||||
version = "9.2.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-9.2.tar";
|
||||
sha256 = "14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9";
|
||||
url = "https://elpa.gnu.org/packages/org-9.2.3.tar";
|
||||
sha256 = "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -2028,10 +2188,10 @@
|
|||
elpaBuild {
|
||||
pname = "org-edna";
|
||||
ename = "org-edna";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-edna-1.0.1.tar";
|
||||
sha256 = "0xzyzx3pq1q6d66qcqx38pgxzn160y9yrzpy0ka8ap5xsm7ngn7m";
|
||||
url = "https://elpa.gnu.org/packages/org-edna-1.0.2.tar";
|
||||
sha256 = "005pmnqr41s2w72gahq9bf4l5kw601i19ypiqfnb8aq0f4acjr3d";
|
||||
};
|
||||
packageRequires = [ emacs org seq ];
|
||||
meta = {
|
||||
|
@ -2129,6 +2289,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
peg = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "peg";
|
||||
ename = "peg";
|
||||
version = "1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/peg-1.0.tar";
|
||||
sha256 = "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/peg.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
pinentry = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "pinentry";
|
||||
|
@ -2163,10 +2338,10 @@
|
|||
elpaBuild {
|
||||
pname = "posframe";
|
||||
ename = "posframe";
|
||||
version = "0.4.2";
|
||||
version = "0.4.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/posframe-0.4.2.el";
|
||||
sha256 = "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds";
|
||||
url = "https://elpa.gnu.org/packages/posframe-0.4.3.el";
|
||||
sha256 = "06q0p4qim6lha2xr9fxaspbzw01xn01ik9gxlld6hdhh19b65cmi";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2337,6 +2512,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
relint = callPackage ({ elpaBuild, fetchurl, lib, xr }:
|
||||
elpaBuild {
|
||||
pname = "relint";
|
||||
ename = "relint";
|
||||
version = "1.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/relint-1.6.el";
|
||||
sha256 = "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk";
|
||||
};
|
||||
packageRequires = [ xr ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/relint.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "rich-minority";
|
||||
|
@ -2508,16 +2698,16 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
sokoban = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
sokoban = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "sokoban";
|
||||
ename = "sokoban";
|
||||
version = "1.4.6";
|
||||
version = "1.4.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/sokoban-1.4.6.tar";
|
||||
sha256 = "112cl1l36zn5q9cw81rxi96zflf7ddp3by1h7fsz48yjfidpfbzn";
|
||||
url = "https://elpa.gnu.org/packages/sokoban-1.4.8.tar";
|
||||
sha256 = "1w3vrkg239x1saqka21zbl380fxqmbz3lr7820spxd8p5w9v55pn";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/sokoban.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -2877,6 +3067,24 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
visual-filename-abbrev = callPackage ({ elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib }:
|
||||
elpaBuild {
|
||||
pname = "visual-filename-abbrev";
|
||||
ename = "visual-filename-abbrev";
|
||||
version = "1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.0.el";
|
||||
sha256 = "086cmyv08jd3qadjrd14b7c932i8msxjdvxxa36pyac18d3i50kj";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/visual-filename-abbrev.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
visual-fill = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "visual-fill";
|
||||
|
@ -2967,6 +3175,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
webfeeder = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "webfeeder";
|
||||
ename = "webfeeder";
|
||||
version = "1.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/webfeeder-1.0.0.tar";
|
||||
sha256 = "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/webfeeder.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
websocket = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "websocket";
|
||||
|
@ -3016,10 +3239,10 @@
|
|||
elpaBuild {
|
||||
pname = "wisi";
|
||||
ename = "wisi";
|
||||
version = "2.0.1";
|
||||
version = "2.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/wisi-2.0.1.tar";
|
||||
sha256 = "1h0g6y33jrafcabgyi7j700hpv4p56v84c2mlqb334k1g9rq3709";
|
||||
url = "https://elpa.gnu.org/packages/wisi-2.1.0.tar";
|
||||
sha256 = "143xfdr7agyc52wz9zsx67rvvnjs4rlj7j3cbdhvs6wyl7whyg38";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs seq ];
|
||||
meta = {
|
||||
|
@ -3046,10 +3269,10 @@
|
|||
elpaBuild {
|
||||
pname = "xclip";
|
||||
ename = "xclip";
|
||||
version = "1.7";
|
||||
version = "1.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/xclip-1.7.el";
|
||||
sha256 = "0jpy3zzbyb16vqa9l6m45crzlypwvscvs76h8lci7kvp91kq954r";
|
||||
url = "https://elpa.gnu.org/packages/xclip-1.8.el";
|
||||
sha256 = "1ymc9dhpwbh92ad7w64p8xlrjdws5c9h90h47ckh6479h8r697xg";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -3061,10 +3284,10 @@
|
|||
elpaBuild {
|
||||
pname = "xelb";
|
||||
ename = "xelb";
|
||||
version = "0.16";
|
||||
version = "0.17";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/xelb-0.16.tar";
|
||||
sha256 = "03wsr1jr7f7zfd80h864rd4makwh4widdnj1kjv2xyjwdgap9rl8";
|
||||
url = "https://elpa.gnu.org/packages/xelb-0.17.tar";
|
||||
sha256 = "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml";
|
||||
};
|
||||
packageRequires = [ cl-generic emacs ];
|
||||
meta = {
|
||||
|
@ -3087,6 +3310,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
xr = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "xr";
|
||||
ename = "xr";
|
||||
version = "1.10";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/xr-1.10.tar";
|
||||
sha256 = "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/xr.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "yasnippet";
|
||||
|
@ -3124,10 +3362,10 @@
|
|||
elpaBuild {
|
||||
pname = "zones";
|
||||
ename = "zones";
|
||||
version = "2018.11.21";
|
||||
version = "2018.12.28";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/zones-2018.11.21.el";
|
||||
sha256 = "0s68mnynjd08gyga7xdnb0zy3irsxl1jryidpcrkzg821vfrk11i";
|
||||
url = "https://elpa.gnu.org/packages/zones-2018.12.28.el";
|
||||
sha256 = "1jd7wy5w96xppdlcl4dzq4wqhr2x6f4hzjps9f4kz256l4ia6hm0";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
|
|
@ -45,6 +45,7 @@ self:
|
|||
stream = markBroken super.stream; # requires emacs-25
|
||||
cl-lib = null; # builtin
|
||||
tle = null; # builtin
|
||||
advice = null; # builtin
|
||||
};
|
||||
|
||||
elpaPackages = super // overrides;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -133,11 +133,7 @@ self:
|
|||
maxframe = markBroken super.maxframe;
|
||||
|
||||
magit =
|
||||
(super.magit.override {
|
||||
# version of magit-popup needs to match magit
|
||||
# https://github.com/magit/magit/issues/3286
|
||||
inherit (self.melpaPackages) magit-popup;
|
||||
}).overrideAttrs (attrs: {
|
||||
super.magit.overrideAttrs (attrs: {
|
||||
# searches for Git at build time
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,15 @@
|
|||
Dump temacs in an empty environment to prevent -dev paths from ending
|
||||
up in the dumped image.
|
||||
|
||||
diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in
|
||||
--- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200
|
||||
+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200
|
||||
@@ -532,7 +532,7 @@
|
||||
ifeq ($(CANNOT_DUMP),yes)
|
||||
ln -f temacs$(EXEEXT) $@
|
||||
else
|
||||
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
|
||||
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
|
||||
ifneq ($(PAXCTL_dumped),)
|
||||
$(PAXCTL_dumped) $@
|
||||
endif
|
|
@ -1,13 +1,13 @@
|
|||
Dump temacs in an empty environment to prevent -dev paths from ending
|
||||
up in the dumped image.
|
||||
|
||||
diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in
|
||||
--- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200
|
||||
+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200
|
||||
@@ -532,7 +532,7 @@
|
||||
ifeq ($(CANNOT_DUMP),yes)
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes)
|
||||
ln -f temacs$(EXEEXT) $@
|
||||
else
|
||||
unset EMACS_HEAP_EXEC; \
|
||||
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
|
||||
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
|
||||
ifneq ($(PAXCTL_dumped),)
|
||||
|
|
|
@ -31,12 +31,12 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-${version}${versionModifier}";
|
||||
version = "26.1";
|
||||
version = "26.2";
|
||||
versionModifier = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/emacs/${name}.tar.xz";
|
||||
sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w";
|
||||
sha256 = "13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -44,13 +44,6 @@ stdenv.mkDerivation rec {
|
|||
patches = [
|
||||
./clean-env.patch
|
||||
./tramp-detect-wrapped-gvfsd.patch
|
||||
|
||||
# should drop this at next package update
|
||||
(fetchpatch {
|
||||
name = "support-hunspell-1.7.0-in-ispell.el.patch";
|
||||
url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=2925ce5a7ec1424cfaea9f2f86bd3cab27832584";
|
||||
sha256 = "0w7cgw6zgr7phbivb98innps1rlqf5q2lhwkrwdmai8sbca5bd11";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = lib.optionalString srcRepo ''
|
||||
|
|
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0f2wzdw2a3ac581322b2y79rlj3c9f33ddrq9allj97r1si6v5xk";
|
||||
};
|
||||
|
||||
patches = [ ./clean-env.patch ];
|
||||
patches = [ ./clean-env-macport.patch ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
|
|
@ -4,14 +4,14 @@ with stdenv.lib;
|
|||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "neovim-remote";
|
||||
version = "2.1.5";
|
||||
version = "2.1.7";
|
||||
disabled = !pythonPackages.isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mhinz";
|
||||
repo = "neovim-remote";
|
||||
rev = "v${version}";
|
||||
sha256 = "1h05b68ka1ka217f6svq8yxvnscwf9sl5cx46c0b6ygcbz1vr3ba";
|
||||
sha256 = "014c8xvb7shy00vjx0b1k8zr7iknxskqab1aqvz9md3bn5rwkxm5";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "okteta-${version}";
|
||||
version = "0.26.0";
|
||||
version = "0.26.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
|
||||
sha256 = "0rxvbllisz4zl687zgpb9jj2nbxgfhhf2bj8bnsfaab5jb6jpi2y";
|
||||
sha256 = "1bqq3ax47xym3ikwn6xsshs1b5gpfg5djrnkzszqnp127f1fxi54";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
|
||||
|
|
|
@ -18,16 +18,16 @@ let
|
|||
}.${system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "0yfnsmixw3kh7lhb8npqhyihy146a31c1k90smn4kqvmlvm06jir";
|
||||
"x86_64-linux" = "002bbwj4hxr58lbhjc05s3l9aw37ak06kp98hs8fpmznjsa5x14y";
|
||||
"x86_64-darwin" = "1f9hkydlyjh2z5d99pwpsqg9yf05pgi5y0mbprgbxacayqcrq2nr";
|
||||
"i686-linux" = "0n2k134yx0zirddi5xig4zihn73s8xiga11pwk90f01wp1i0hygg";
|
||||
"x86_64-linux" = "0ljijcqfyrfck5imldis3hx9d9iacnspgnm58kvlziam8y0imwzv";
|
||||
"x86_64-darwin" = "00fg106rggsbng90k1jjp1c6nmnwni5s0fgmbz6k45shfa3iqamc";
|
||||
}.${system};
|
||||
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vscode-${version}";
|
||||
version = "1.33.0";
|
||||
version = "1.33.1";
|
||||
|
||||
src = fetchurl {
|
||||
name = "VSCode_${version}_${plat}.${archive_fmt}";
|
||||
|
|
|
@ -10,12 +10,12 @@ let
|
|||
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
|
||||
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "3.4.5";
|
||||
version = "3.4.6";
|
||||
name = "qgis-unwrapped-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
|
||||
sha256 = "0myw1jgz8v8wncmrjsszn9ixylx84hafn0281c4hqhz623n3lxgx";
|
||||
sha256 = "1skdimcbcv41hi4ii7iq8ka29k2zizzqv04fwidzfbxqclz7300h";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.6.1";
|
||||
version = "2.6.2";
|
||||
name = "darktable-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
||||
sha256 = "09ihbj0602spgc5lfbskf9am38n03gam2r8v3kj4dyfgxqr37ib3";
|
||||
sha256 = "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
|
||||
|
|
|
@ -1,48 +1,89 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, cmake
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qtmultimedia
|
||||
, qttools
|
||||
, kdnssd
|
||||
, karchive
|
||||
, libsodium
|
||||
, libmicrohttpd
|
||||
, giflib
|
||||
, miniupnpc
|
||||
, extra-cmake-modules
|
||||
|
||||
# common deps
|
||||
, karchive
|
||||
|
||||
# client deps
|
||||
, qtbase
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qttools
|
||||
|
||||
# optional client deps
|
||||
, giflib
|
||||
, kdnssd
|
||||
, libvpx
|
||||
, miniupnpc
|
||||
, qtx11extras # kis
|
||||
|
||||
# optional server deps
|
||||
, libmicrohttpd
|
||||
, libsodium
|
||||
|
||||
# options
|
||||
, buildClient ? true
|
||||
, buildServer ? true
|
||||
, buildServerGui ? true # if false builds a headless server
|
||||
, buildExtraTools ? false
|
||||
, enableKisTablet ? false # enable improved graphics tablet support
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drawpile-${version}";
|
||||
version = "2.1.6";
|
||||
src = fetchurl {
|
||||
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
|
||||
sha256 = "0vwsdvphigrq1daiazi411qflahlvgx8x8ssp581bng2lbq1vrbd";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
];
|
||||
buildInputs = [
|
||||
# common deps:
|
||||
cmake
|
||||
qtbase qtsvg qtmultimedia qttools
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
commonDeps = [
|
||||
karchive
|
||||
# optional deps:
|
||||
# server-specific:
|
||||
libsodium # ext-auth support
|
||||
libmicrohttpd # HTTP admin api
|
||||
# client-specific:
|
||||
];
|
||||
clientDeps = [
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qttools
|
||||
# optional:
|
||||
giflib # gif animation export support
|
||||
miniupnpc # automatic port forwarding
|
||||
kdnssd # local server discovery with Zeroconf
|
||||
libvpx # WebM video export
|
||||
miniupnpc # automatic port forwarding
|
||||
];
|
||||
serverDeps = [
|
||||
# optional:
|
||||
libmicrohttpd # HTTP admin api
|
||||
libsodium # ext-auth support
|
||||
];
|
||||
kisDeps = [
|
||||
qtx11extras
|
||||
];
|
||||
configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out .";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "drawpile-${version}";
|
||||
version = "2.1.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
|
||||
sha256 = "1nk1rb1syrlkxq7qs101ifaf012mq42nmq1dbkssnx6niydi3bbd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
];
|
||||
buildInputs =
|
||||
commonDeps ++
|
||||
optionals buildClient clientDeps ++
|
||||
optionals buildServer serverDeps ++
|
||||
optionals enableKisTablet kisDeps ;
|
||||
|
||||
cmakeFlags =
|
||||
optional (!buildClient ) "-DCLIENT=off" ++
|
||||
optional (!buildServer ) "-DSERVER=off" ++
|
||||
optional (!buildServerGui ) "-DSERVERGUI=off" ++
|
||||
optional ( buildExtraTools) "-DTOOLS=on" ++
|
||||
optional ( enableKisTablet) "-DKIS_TABLET=on";
|
||||
|
||||
meta = {
|
||||
description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
|
||||
homepage = https://drawpile.net/;
|
||||
downloadPage = https://drawpile.net/download/;
|
||||
|
|
|
@ -34,7 +34,7 @@ in pythonPackages.buildPythonApplication rec {
|
|||
propagatedBuildInputs = with pythonPackages; [ pillow lxml pyGtkGlade pyexiv2 fbida ];
|
||||
|
||||
meta = {
|
||||
homepage = http://manatlan.com/jbrout/;
|
||||
homepage = https://manatlan.com/jbrout/;
|
||||
description = "Photo manager";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Optimize JPEG files";
|
||||
homepage = http://www.kokkonen.net/tjko/projects.html ;
|
||||
homepage = https://www.kokkonen.net/tjko/projects.html ;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.aristid ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{ stdenv, fetchurl, python3Packages
|
||||
, file, intltool, gobject-introspection, libgudev
|
||||
, udisks, glib, gnome3, gst_all_1, libnotify
|
||||
, exiv2, exiftool, qt5, gdk_pixbuf
|
||||
, udisks, gexiv2, gst_all_1, libnotify
|
||||
, exiftool, gdk_pixbuf, libmediainfo
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "rapid-photo-downloader";
|
||||
version = "0.9.13";
|
||||
version = "0.9.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
|
||||
sha256 = "1517w18sxil1gwd78jjbbixcd1b0sp05imnnd5h5lr8wl3f0szj0";
|
||||
sha256 = "1nywkkyxlpzq3s9anza9k67j5689pfclfha218frih36qdb0j258";
|
||||
};
|
||||
|
||||
# Disable version check and fix install tests
|
||||
|
@ -19,24 +19,34 @@ python3Packages.buildPythonApplication rec {
|
|||
--replace "disable_version_check = False" "disable_version_check = True"
|
||||
substituteInPlace raphodo/rescan.py \
|
||||
--replace "from preferences" "from raphodo.preferences"
|
||||
substituteInPlace raphodo/copyfiles.py \
|
||||
--replace "import problemnotification" "import raphodo.problemnotification"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ file intltool gobject-introspection ];
|
||||
nativeBuildInputs = [
|
||||
file
|
||||
intltool
|
||||
];
|
||||
|
||||
# Package has no generally usable unit tests.
|
||||
# The included doctests expect specific, hardcoded hardware to be present.
|
||||
doCheck = false;
|
||||
|
||||
# NOTE: Without gobject-introspection in buildInputs, launching fails with
|
||||
# "Namespace [Notify / GExiv2 / GUdev] not available"
|
||||
buildInputs = [
|
||||
libgudev
|
||||
udisks
|
||||
glib
|
||||
gnome3.gexiv2
|
||||
gst_all_1.gstreamer
|
||||
libnotify
|
||||
exiv2
|
||||
exiftool
|
||||
qt5.qtimageformats
|
||||
gdk_pixbuf
|
||||
] ++ (with python3Packages; [
|
||||
gexiv2
|
||||
gobject-introspection
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gstreamer.dev
|
||||
libgudev
|
||||
libnotify
|
||||
udisks
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyqt5
|
||||
pygobject3
|
||||
gphoto2
|
||||
|
@ -54,11 +64,14 @@ python3Packages.buildPythonApplication rec {
|
|||
requests
|
||||
colorlog
|
||||
pyprind
|
||||
]);
|
||||
];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
|
||||
"--set PYTHONPATH \"$PYTHONPATH\""
|
||||
"--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool ]}"
|
||||
"--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
|
||||
"--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -21,7 +21,7 @@ in stdenv.mkDerivation {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Enjoy the mysteries of the sea from the safety of your own terminal!";
|
||||
homepage = https://robobunny.com/projects/asciiquarium/html;
|
||||
homepage = https://robobunny.com/projects/asciiquarium/html/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.utdemir ];
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, perl
|
||||
, fribidi
|
||||
, kbd
|
||||
, xkbutils
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bicon";
|
||||
version = "unstable-2018-09-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "behdad";
|
||||
repo = pname;
|
||||
rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c";
|
||||
sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq";
|
||||
};
|
||||
|
||||
buildInputs = [ fribidi kbd xkbutils perl ];
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A bidirectional console";
|
||||
homepage = https://github.com/behdad/bicon;
|
||||
license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ];
|
||||
maintainers = [ maintainers.linarcx ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "CopyQ-${version}";
|
||||
version = "3.7.3";
|
||||
version = "3.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hluk";
|
||||
repo = "CopyQ";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nxxxq0lfs4r673i70dh2xwdn3chcjl913bkz14kyna29i6n1nwm";
|
||||
sha256 = "0kbhgg0j6iqfrpixvwl1mk3m0bz5s8bd6npk5xqcgzp1giywdc4i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
||||
, fontconfig, freetype, glib, gtk2
|
||||
, fontconfig, freetype, glib, gtk3
|
||||
, jdk, libX11, libXrender, libXtst, zlib }:
|
||||
|
||||
# The build process is almost like eclipse's.
|
||||
|
@ -7,7 +7,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dbeaver-ce-${version}";
|
||||
version = "6.0.0";
|
||||
version = "6.0.2";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dbeaver";
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [
|
||||
fontconfig freetype glib gtk2
|
||||
fontconfig freetype glib gtk3
|
||||
jdk libX11 libXrender libXtst zlib
|
||||
];
|
||||
|
||||
|
@ -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 = "1v7zvvphkyw7x5ziysk4gs2rpgc4dr108fn4ja80kijs1jmj5dxr";
|
||||
sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
|
||||
--prefix PATH : ${jdk}/bin \
|
||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ])} \
|
||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
|
||||
# Create desktop item.
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper
|
||||
, pkgconfig, which, perl, libXrandr
|
||||
, cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver
|
||||
, libXinerama, libnotify, libxdg_basedir, pango, xorgproto, librsvg, dunstify ? false
|
||||
, libXinerama, libnotify, pango, xorgproto, librsvg, dunstify ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dunst-${version}";
|
||||
version = "1.3.2";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunst-project";
|
||||
repo = "dunst";
|
||||
rev = "v${version}";
|
||||
sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514";
|
||||
sha256 = "1rwbylygd88r61yrxc7ckg9svgq8b1i2falr0mk9sabqxzn9050s";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig which systemd makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
cairo dbus gdk_pixbuf glib libX11 libXScrnSaver
|
||||
libXinerama libnotify libxdg_basedir pango xorgproto librsvg libXrandr
|
||||
libXinerama libnotify pango xorgproto librsvg libXrandr
|
||||
];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
|
|
@ -3,11 +3,11 @@ librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib, ghostscript, makeWra
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eaglemode-${version}";
|
||||
version = "0.94.0";
|
||||
version = "0.94.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
|
||||
sha256 = "1sr3bd9y9j2svqvdwhrak29yy9cxf92w9vq2cim7a8hzwi9qfy9k";
|
||||
sha256 = "0mpnk0fzy02jxbafipkdkj48m6k38h42j599gw4sdnag7ymlms89";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
name = "hugo-${version}";
|
||||
version = "0.54.0";
|
||||
version = "0.55.0";
|
||||
|
||||
goPackagePath = "github.com/gohugoio/hugo";
|
||||
|
||||
|
@ -10,10 +10,10 @@ buildGoModule rec {
|
|||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
rev = "v${version}";
|
||||
sha256 = "01grfbr3kpd4qf5cbcmzc6yfq34cm0nkak4pqzgrn46r254y0ymv";
|
||||
sha256 = "063z79m9rganzjzqvy7bg6b29m877asm5haxp0d5cb5ac7cx55rj";
|
||||
};
|
||||
|
||||
modSha256 = "01gni3ksw9whf388c6cj0vcbpsyhdrwfl8cyw85kjx8r56dv88y5";
|
||||
modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23";
|
||||
|
||||
buildFlags = "-tags extended";
|
||||
|
||||
|
|
|
@ -1,17 +1,10 @@
|
|||
{ lib, bundlerEnv, ruby
|
||||
{ lib, bundlerApp, ruby
|
||||
, withOptionalDependencies ? false
|
||||
}:
|
||||
|
||||
# Bundix:
|
||||
# nix-shell -p bundix zlib
|
||||
bundlerEnv rec {
|
||||
name = pname + "-" + version;
|
||||
bundlerApp rec {
|
||||
pname = "jekyll";
|
||||
version = (import
|
||||
(if withOptionalDependencies
|
||||
then ./full/gemset.nix
|
||||
else ./basic/gemset.nix))
|
||||
.jekyll.version;
|
||||
exes = [ "jekyll" ];
|
||||
|
||||
inherit ruby;
|
||||
gemdir = if withOptionalDependencies
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "josm-${version}";
|
||||
version = "14760";
|
||||
version = "14945";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||
sha256 = "1ya05z3i37ynpaqrm99cirkbap03q7wgbbps2y95l7r2k9l4sxsi";
|
||||
sha256 = "0kdfdn0i7gjfkkllb93598ywf0qlllzsia5q14szc5b5assl8qpb";
|
||||
};
|
||||
|
||||
buildInputs = [ jdk11 makeWrapper ];
|
||||
|
|
|
@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "An offline reader for Web content";
|
||||
homepage = http://kiwix.org;
|
||||
homepage = https://kiwix.org;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ robbinch ];
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "latte-dock";
|
||||
version = "0.8.6";
|
||||
version = "0.8.8";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/${pname}/${name}.tar.xz";
|
||||
sha256 = "1qzf9fkfkbv8vnc9p6lm7ya9hzydwk2f7671by9ij26f77lmxfb3";
|
||||
sha256 = "137s7rx35a5qrfww3q8bllj4zyjfa7l709snvdfj34y7jbq7p6cd";
|
||||
name = "${name}.tar.xz";
|
||||
};
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mlterm-${version}";
|
||||
version = "3.8.7";
|
||||
version = "3.8.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz";
|
||||
sha256 = "10j7q7rk6ck86xl1898maxhgkp1h7vy7nliv9sk5bqgs7rdwn4kl";
|
||||
sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoconf ];
|
||||
|
|
|
@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.navit-project.org;
|
||||
homepage = https://www.navit-project.org;
|
||||
description = "Car navigation system with routing engine using OSM maps";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.genesis ];
|
||||
|
|
|
@ -102,5 +102,6 @@ in stdenv.mkDerivation {
|
|||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.a1russell ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,13 +25,14 @@ assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
|
|||
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "polybar-${version}";
|
||||
version = "3.3.0";
|
||||
pname = "polybar";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jaagr";
|
||||
repo = "polybar";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "18hrsbq62na2i4rlwbs2ih7v9shnayg76nw14i6az28wpf8kx4rr";
|
||||
sha256 = "0qwi6q3qkrz2ip1jd4pxlnsrs2a9ywxyf8rgvbzyilr334rsiywh";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||
export SWORD_HOME=${sword};
|
||||
'';
|
||||
|
||||
configureFlags= [ "--enable-webkit2" ];
|
||||
wafConfigureFlags = [ "--enable-webkit2" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A GTK Bible study tool";
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,10 +17,10 @@ rec {
|
|||
|
||||
firefox = common rec {
|
||||
pname = "firefox";
|
||||
ffversion = "66.0.2";
|
||||
ffversion = "66.0.3";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||
sha512 = "1dzqzigrwb7q75zlyd74ncic3b39yvziccpgbzh7881lzshj7x6f2r6ssj8ssdkh8lm2ckhjzbn6pf44vlh8ciql9bxb8g8sjpg6ii2";
|
||||
sha512 = "31pfzgys4dv4fskaasz47fviksjj9xp60r875q0i7z1n6kx25fzkpsg18a98fkqm3g8qmljccy93w68ysywnh1zzrv8djsaza7l0mz8";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.18";
|
||||
version = "2.19";
|
||||
name = "links2-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/download/links-${version}.tar.bz2";
|
||||
sha256 = "0mwhh61klicn2vwk39nc7y4cw4mygzdi2nljn4r0gjbw6jmw3337";
|
||||
sha256 = "02ls11c02p7xvsdjyb43rrzr850i1yly003r812z0w5vv5yqqxbh";
|
||||
};
|
||||
|
||||
buildInputs = with stdenv.lib;
|
||||
|
|
|
@ -117,7 +117,7 @@ in stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.opera.com;
|
||||
homepage = https://www.opera.com;
|
||||
description = "Web browser";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, cmake, fetchFromGitHub
|
||||
, qtbase, qtmultimedia, qtwebengine
|
||||
, qtbase, qtmultimedia, qtwebengine, qtxmlpatterns
|
||||
, version ? "1.0.01"
|
||||
, sourceSha ? "1jw8bj3lcqngr0mqwvz1gf47qjxbwiyda7x4sm96a6ckga7pcwyb"
|
||||
}:
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
|||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ qtbase qtmultimedia qtwebengine ];
|
||||
buildInputs = [ qtbase qtmultimedia qtwebengine qtxmlpatterns ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://otter-browser.org;
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
stdenv.mkDerivation rec {
|
||||
name = "${product}-${version}";
|
||||
product = "vivaldi";
|
||||
version = "2.4.1488.36-1";
|
||||
version = "2.4.1488.40-1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
|
||||
sha256 = "1m78kk1g3h6jsn3kk37ywx6w4x72690jwx4mgh1pzy37vfxwdqfh";
|
||||
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p libarchive curl common-updater-scripts
|
||||
|
||||
set -eu -o pipefail
|
||||
set -xeu -o pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
root=../../../../..
|
||||
|
@ -15,7 +15,7 @@ vivaldi_version_old=$(version vivaldi)
|
|||
vivaldi_version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-[0-9]+)_amd64\.deb.*/\1/p')
|
||||
|
||||
if [[ "$vivaldi_version" = "$vivaldi_version_old" ]]; then
|
||||
echo "nothing to do, vivaldi $vivaldi_version is current"
|
||||
echo "vivaldi is already up-to-date"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
@ -25,15 +25,22 @@ mapfile -t prefetch < <(nix-prefetch-url --print-path "$url")
|
|||
hash=${prefetch[0]}
|
||||
path=${prefetch[1]}
|
||||
|
||||
echo "vivaldi: $vivaldi_version_old -> $vivaldi_version"
|
||||
echo "$path"
|
||||
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||
default_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix"
|
||||
ffmpeg_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix"
|
||||
|
||||
(cd "$root" && update-source-version vivaldi "$vivaldi_version" "$hash")
|
||||
|
||||
git add "${default_nix}"
|
||||
git commit -m "vivaldi: ${vivaldi_version_old} -> ${vivaldi_version}"
|
||||
|
||||
# Check vivaldi-ffmpeg-codecs version.
|
||||
chromium_version_old=$(version vivaldi-ffmpeg-codecs)
|
||||
chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep '^[0-9]\{2,\}\.[0-9]\+\.[0-9]\{4,\}\+\.[0-9]\+$')
|
||||
|
||||
if [[ "$chromium_version" != "$chromium_version_old" ]]; then
|
||||
echo "vivaldi-ffmpeg-codecs: $chromium_version_old -> $chromium_version"
|
||||
(cd "$root" && update-source-version vivaldi-ffmpeg-codecs "$chromium_version")
|
||||
|
||||
git add "${ffmpeg_nix}"
|
||||
git commit -m "vivaldi-ffmepg-codecs: $chromium_version_old -> $chromium_version"
|
||||
fi
|
||||
|
|
|
@ -57,8 +57,8 @@ let
|
|||
|
||||
in rec {
|
||||
charles4 = (generic {
|
||||
version = "4.2.7";
|
||||
sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd";
|
||||
version = "4.2.8";
|
||||
sha256 = "1jzjdhzxgrq7pdfryfkg0hsjpyni14ma4x8jbdk1rqll78ccr080";
|
||||
});
|
||||
charles3 = (generic {
|
||||
version = "3.12.3";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue