Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f75c11cfdfff
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: be8514864dd7
Choose a head ref

Commits on Mar 22, 2020

  1. qxmledit: init at 0.9.15

    s9gf4ult committed Mar 22, 2020
    Copy the full SHA
    a01e8b7 View commit details

Commits on Mar 30, 2020

  1. matomo: 3.13.3 -> 3.13.4

    Updated both matomo and matomo-beta to the latest version
    Kiwi committed Mar 30, 2020
    Copy the full SHA
    761b391 View commit details
  2. Copy the full SHA
    b5855b9 View commit details

Commits on Mar 31, 2020

  1. Copy the full SHA
    ad65f60 View commit details
  2. Copy the full SHA
    1e9982c View commit details

Commits on Apr 1, 2020

  1. Copy the full SHA
    6b7528c View commit details
  2. moosefs: 3.0.110 -> 3.0.112

    r-ryantm committed Apr 1, 2020
    Copy the full SHA
    c6fa98f View commit details
  3. Update pkgs/applications/editors/qxmledit/default.nix

    Co-Authored-By: Thomas Tuegel <ttuegel@mailbox.org>
    s9gf4ult and ttuegel authored Apr 1, 2020
    Copy the full SHA
    354508b View commit details
  4. borgbackup: Moved documentation to NixOS manual and added examples for

    * creating a local backup
    * creating a borgbackup server
    * backing up to a borgbackup server
    * hints about the Vorta graphical desktop application
    * Added documentation about Vorta desktop client
    
    Tested the examples locally and with my borgbase.com account.
    ngiger committed Apr 1, 2020
    Copy the full SHA
    c027937 View commit details
  5. tpm2-pkcs11: 1.1.0 -> 1.2.0

    r-ryantm committed Apr 1, 2020
    Copy the full SHA
    1f63687 View commit details
  6. Copy the full SHA
    af38a72 View commit details

Commits on Apr 2, 2020

  1. Copy the full SHA
    60a1732 View commit details
  2. Merge pull request #84085 from NixOS/revert-84037-remove-none.nix

    Revert "nixos/none: remove"
    worldofpeace authored Apr 2, 2020
    Copy the full SHA
    7f73808 View commit details
  3. squashfs-tools-ng: 0.8 -> 0.9

    Like all supported formats (I think), LZO is optional.  I don't see
    any reason to bother with options for now, so I've just enabled it.  Plus,
    there's a bug in this release that makes compilation fail if LZO is
    disabled due to a missing include.  I've sent a fix[1] for that
    upstream.
    
    [1]: AgentD/squashfs-tools-ng#41
    alyssais committed Apr 2, 2020
    Copy the full SHA
    5c0f1eb View commit details
  4. yggdrasil: 0.3.13 -> 0.3.14

    ehmry committed Apr 2, 2020
    Copy the full SHA
    b31d676 View commit details
  5. Merge pull request #83583 from colemickens/nixpkgs-ha-pkgs-alarmdecoder

    pythonPackages.alarmdecoder: init at v1.13.9
    Mic92 authored Apr 2, 2020
    Copy the full SHA
    cd3d229 View commit details
  6. Copy the full SHA
    3a4f0fa View commit details
  7. wp-cli: 2.2.0 -> 2.4.0

    peterhoeg authored and alyssais committed Apr 2, 2020
    Copy the full SHA
    0cef049 View commit details
  8. git-town: 7.2.0 -> 7.3.0

    Jonathan Ringer authored and alyssais committed Apr 2, 2020
    Copy the full SHA
    931f3a7 View commit details
  9. Merge pull request #84089 from ehmry/yggdrasil

    yggdrasil: 0.3.13 -> 0.3.14
    Mic92 authored Apr 2, 2020
    Copy the full SHA
    66a3426 View commit details
  10. calibre: fix build of desktop items

    Broken by NixOS/nixpkgs#75729 since the desktop
    items are only valid after post-processing. There's probably multiple
    better ways to do this, but I'm not a calibre maintainer and I just want
    to get this unbroken as quickly as possible.
    timokau committed Apr 2, 2020
    Copy the full SHA
    3f76ce2 View commit details
  11. Merge pull request #83993 from r-ryantm/auto-update/moosefs

    moosefs: 3.0.110 -> 3.0.112
    markuskowa authored Apr 2, 2020
    Copy the full SHA
    4445af5 View commit details
  12. Merge pull request #83956 from primeos/chromium

    chromium: 80.0.3987.149 -> 80.0.3987.162
    primeos authored Apr 2, 2020
    Copy the full SHA
    7116a88 View commit details
  13. Merge pull request #83152 from s9gf4ult/master

    qxmledit: init at 0.9.15
    ttuegel authored Apr 2, 2020
    Copy the full SHA
    20937a2 View commit details
  14. chromiumDev: Remove a patch that is already applied

    This fixes the patch phase.
    I missed this problem in #83956.
    primeos committed Apr 2, 2020
    Copy the full SHA
    36c7123 View commit details
  15. Merge pull request #84033 from utsl42/fpc-upgrade

    fpc: 3.0.0 -> 3.0.4; lazarus: 1.8.4 -> 2.0.6
    7c6f434c authored Apr 2, 2020
    Copy the full SHA
    c743242 View commit details
  16. Merge pull request #83760 from Kiwi/matomo-3.13.4

    matomo: 3.13.3 -> 3.13.4
    aanderse authored Apr 2, 2020
    Copy the full SHA
    f71c9e8 View commit details
  17. Merge pull request #83529 from ngiger/83525

    borgbackup: Improve documentation
    Mic92 authored Apr 2, 2020
    Copy the full SHA
    61e6520 View commit details
  18. Merge pull request #84095 from timokau/calibre-unbreak-desktop

    calibre: fix build of desktop items
    timokau authored Apr 2, 2020
    Copy the full SHA
    addac63 View commit details
  19. Copy the full SHA
    35359bb View commit details
  20. rgp: init at 1.7.0.29 (#79343)

    Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
    Flakebi and Mic92 authored Apr 2, 2020
    Copy the full SHA
    d343d70 View commit details
  21. Merge pull request #84030 from r-ryantm/auto-update/tpm2-pkcs11

    tpm2-pkcs11: 1.1.0 -> 1.2.0
    marsam authored Apr 2, 2020
    Copy the full SHA
    be85148 View commit details
Showing with 505 additions and 143 deletions.
  1. +1 −0 nixos/modules/module-list.nix
  2. +27 −1 nixos/modules/services/backup/borgbackup.nix
  3. +227 −0 nixos/modules/services/backup/borgbackup.xml
  4. +1 −1 nixos/modules/services/x11/desktop-managers/default.nix
  5. +7 −0 nixos/modules/services/x11/desktop-managers/none.nix
  6. +1 −1 nixos/modules/services/x11/window-managers/default.nix
  7. +12 −0 nixos/modules/services/x11/window-managers/none.nix
  8. +28 −0 pkgs/applications/editors/qxmledit/default.nix
  9. +6 −0 pkgs/applications/editors/qxmledit/qxmledit.json
  10. +3 −0 pkgs/applications/misc/calibre/default.nix
  11. +3 −2 pkgs/applications/networking/browsers/chromium/common.nix
  12. +0 −61 pkgs/applications/networking/browsers/chromium/patches/webrtc-pulse.patch
  13. +9 −9 pkgs/applications/networking/browsers/chromium/upstream-info.nix
  14. +5 −5 pkgs/development/compilers/fpc/binary.nix
  15. +4 −2 pkgs/development/compilers/fpc/default.nix
  16. +2 −2 pkgs/development/compilers/fpc/lazarus.nix
  17. +1 −0 pkgs/development/libraries/qt-5/5.12/default.nix
  18. +7 −0 pkgs/development/libraries/qt-5/modules/qtscxml.nix
  19. +28 −0 pkgs/development/python-modules/alarmdecoder/default.nix
  20. +10 −12 pkgs/development/python-modules/pyftdi/default.nix
  21. +71 −0 pkgs/development/tools/rgp/default.nix
  22. +9 −10 pkgs/development/tools/wp-cli/default.nix
  23. +2 −2 pkgs/misc/tpm2-pkcs11/default.nix
  24. +1 −1 pkgs/servers/home-assistant/component-packages.nix
  25. +1 −1 pkgs/servers/home-assistant/default.nix
  26. +4 −4 pkgs/servers/web-apps/matomo/default.nix
  27. +3 −3 pkgs/tools/filesystems/moosefs/default.nix
  28. +4 −4 pkgs/tools/filesystems/squashfs-tools-ng/default.nix
  29. +19 −19 pkgs/tools/misc/git-town/default.nix
  30. +3 −3 pkgs/tools/networking/yggdrasil/default.nix
  31. +4 −0 pkgs/top-level/all-packages.nix
  32. +2 −0 pkgs/top-level/python-packages.nix
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -907,6 +907,7 @@
./services/x11/window-managers/icewm.nix
./services/x11/window-managers/bspwm.nix
./services/x11/window-managers/metacity.nix
./services/x11/window-managers/none.nix
./services/x11/window-managers/twm.nix
./services/x11/window-managers/windowlab.nix
./services/x11/window-managers/wmii.nix
28 changes: 27 additions & 1 deletion nixos/modules/services/backup/borgbackup.nix
Original file line number Diff line number Diff line change
@@ -189,6 +189,7 @@ let

in {
meta.maintainers = with maintainers; [ dotlambda ];
meta.doc = ./borgbackup.xml;

###### interface

@@ -197,10 +198,11 @@ in {
Deduplicating backups using BorgBackup.
Adding a job will cause a borg-job-NAME wrapper to be added
to your system path, so that you can perform maintenance easily.
See also the chapter about BorgBackup in the NixOS manual.
'';
default = { };
example = literalExample ''
{
{ # for a local backup
rootBackup = {
paths = "/";
exclude = [ "/nix" ];
@@ -213,6 +215,23 @@ in {
startAt = "weekly";
};
}
{ # Root backing each day up to a remote backup server. We assume that you have
# * created a password less key: ssh-keygen -N "" -t ed25519 -f /path/to/ssh_key
# best practices are: use -t ed25519, /path/to = /run/keys
# * the passphrase is in the file /run/keys/borgbackup_passphrase
# * you have initialized the repository manually
paths = [ "/etc" "/home" ];
exclude = [ "/nix" "'**/.cache'" ];
doInit = false;
repo = "user3@arep.repo.borgbase.com:repo";
encryption = {
mode = "repokey-blake2";
passCommand = "cat /path/to/passphrase";
};
environment = { BORG_RSH = "ssh -i /path/to/ssh_key"; };
compression = "auto,lzma";
startAt = "daily";
};
'';
type = types.attrsOf (types.submodule (let globalConfig = config; in
{ name, config, ... }: {
@@ -268,6 +287,8 @@ in {
<manvolnum>7</manvolnum></citerefentry>.
If you do not want the backup to start
automatically, use <literal>[ ]</literal>.
It will generate a systemd service borgbackup-job-NAME.
You may trigger it manually via systemctl restart borgbackup-job-NAME.
'';
};

@@ -303,6 +324,10 @@ in {
you to specify a <option>passCommand</option>
or a <option>passphrase</option>.
'';
example = ''
encryption.mode = "repokey-blake2" ;
encryption.passphrase = "mySecretPassphrase" ;
'';
};

encryption.passCommand = mkOption {
@@ -538,6 +563,7 @@ in {
description = ''
Serve BorgBackup repositories to given public SSH keys,
restricting their access to the repository only.
See also the chapter about BorgBackup in the NixOS manual.
Also, clients do not need to specify the absolute path when accessing the repository,
i.e. <literal>user@machine:.</literal> is enough. (Note colon and dot.)
'';
227 changes: 227 additions & 0 deletions nixos/modules/services/backup/borgbackup.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-borgbase">
<title>BorgBackup</title>
<para>
<emphasis>Source:</emphasis>
<filename>modules/services/backup/borgbackup.nix</filename>
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://borgbackup.readthedocs.io/"/>
</para>
<para>
<link xlink:href="https://www.borgbackup.org/">BorgBackup</link> (short: Borg)
is a deduplicating backup program. Optionally, it supports compression and
authenticated encryption.
</para>
<para>
The main goal of Borg is to provide an efficient and secure way to backup
data. The data deduplication technique used makes Borg suitable for daily
backups since only changes are stored. The authenticated encryption technique
makes it suitable for backups to not fully trusted targets.
</para>
<section xml:id="module-services-backup-borgbackup-configuring">
<title>Configuring</title>
<para>
A complete list of options for the Borgbase module may be found
<link linkend="opt-services.borgbackup.jobs">here</link>.
</para>
</section>
<section xml:id="opt-services-backup-borgbackup-local-directory">
<title>Basic usage for a local backup</title>

<para>
A very basic configuration for backing up to a locally accessible directory
is:
<programlisting>
{
opt.services.borgbackup.jobs = {
{ rootBackup = {
paths = "/";
exclude = [ "/nix" "/path/to/local/repo" ];
repo = "/path/to/local/repo";
doInit = true;
encryption = {
mode = "repokey";
passphrase = "secret";
};
compression = "auto,lzma";
startAt = "weekly";
};
}
};
}</programlisting>
</para>
<warning>
<para>
If you do not want the passphrase to be stored in the world-readable
Nix store, use passCommand. You find an example below.
</para>
</warning>
</section>
<section xml:id="opt-services-backup-create-server">
<title>Create a borg backup server</title>
<para>You should use a different SSH key for each repository you write to,
because the specified keys are restricted to running borg serve and can only
access this single repository. You need the output of the generate pub file.
</para>
<para>
<programlisting>
# sudo ssh-keygen -N '' -t ed25519 -f /run/keys/id_ed25519_my_borg_repo
# cat /run/keys/id_ed25519_my_borg_repo
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos</programlisting>
</para>
<para>
Add the following snippet to your NixOS configuration:
<programlisting>
{
services.borgbackup.repos = {
my_borg_repo = {
authorizedKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos"
] ;
path = "/var/lib/my_borg_repo" ;
};
};
}</programlisting>
</para>
</section>

<section xml:id="opt-services-backup-borgbackup-remote-server">
<title>Backup to the borg repository server</title>
<para>The following NixOS snippet creates an hourly backup to the service
(on the host nixos) as created in the section above. We assume
that you have stored a secret passphrasse in the file
<code>/run/keys/borgbackup_passphrase</code>, which should be only
accessible by root
</para>
<para>
<programlisting>
{
services.borgbackup.jobs = {
backupToLocalServer = {
paths = [ "/etc/nixos" ];
doInit = true;
repo = "borg@nixos:." ;
encryption = {
mode = "repokey-blake2";
passCommand = "cat /run/keys/borgbackup_passphrase";
};
environment = { BORG_RSH = "ssh -i /run/keys/id_ed25519_my_borg_repo"; };
compression = "auto,lzma";
startAt = "hourly";
};
};
};</programlisting>
</para>
<para>The following few commands (run as root) let you test your backup.
<programlisting>
> nixos-rebuild switch
...restarting the following units: polkit.service
> systemctl restart borgbackup-job-backupToLocalServer
> sleep 10
> systemctl restart borgbackup-job-backupToLocalServer
> export BORG_PASSPHRASE=topSecrect
> borg list --rsh='ssh -i /run/keys/id_ed25519_my_borg_repo' borg@nixos:.
nixos-backupToLocalServer-2020-03-30T21:46:17 Mon, 2020-03-30 21:46:19 [84feb97710954931ca384182f5f3cb90665f35cef214760abd7350fb064786ac]
nixos-backupToLocalServer-2020-03-30T21:46:30 Mon, 2020-03-30 21:46:32 [e77321694ecd160ca2228611747c6ad1be177d6e0d894538898de7a2621b6e68]</programlisting>
</para>
</section>

<section xml:id="opt-services-backup-borgbackup-borgbase">
<title>Backup to a hosting service</title>

<para>
Several companies offer <link
xlink:href="https://www.borgbackup.org/support/commercial.html">(paid)
hosting services</link> for Borg repositories.
</para>
<para>
To backup your home directory to borgbase you have to:
</para>
<itemizedlist>
<listitem>
<para>
Generate a SSH key without a password, to access the remote server. E.g.
</para>
<para>
<programlisting>sudo ssh-keygen -N '' -t ed25519 -f /run/keys/id_ed25519_borgbase</programlisting>
</para>
</listitem>
<listitem>
<para>
Create the repository on the server by following the instructions for your
hosting server.
</para>
</listitem>
<listitem>
<para>
Initialize the repository on the server. Eg.
<programlisting>
sudo borg init --encryption=repokey-blake2 \
-rsh "ssh -i /run/keys/id_ed25519_borgbase" \
zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo</programlisting>
</para>
</listitem>
<listitem>
<para>Add it to your NixOS configuration, e.g.
<programlisting>
{
services.borgbackup.jobs = {
my_Remote_Backup = {
paths = [ "/" ];
exclude = [ "/nix" "'**/.cache'" ];
repo = "zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo";
encryption = {
mode = "repokey-blake2";
passCommand = "cat /run/keys/borgbackup_passphrase";
};
BORG_RSH = "ssh -i /run/keys/id_ed25519_borgbase";
compression = "auto,lzma";
startAt = "daily";
};
};
}}</programlisting>
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="opt-services-backup-borgbackup-vorta">
<title>Vorta backup client for the desktop</title>
<para>
Vorta is a backup client for macOS and Linux desktops. It integrates the
mighty BorgBackup with your desktop environment to protect your data from
disk failure, ransomware and theft.
</para>
<para>
It is available as a flatpak package. To enable it you must set the
following two configuration items.
</para>
<para>
<programlisting>
services.flatpak.enable = true ;
# next line is needed to avoid the Error
# Error deploying: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:
services.accounts-daemon.enable = true;
</programlisting>
</para>
<para>As a normal user you must first install, then run vorta using the
following commands:
<programlisting>
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.borgbase.Vorta
flatpak run --branch=stable --arch=x86_64 --command=vorta com.borgbase.Vorta
</programlisting>
After running <code>flatpak install</code> you can start Vorta also via
the KDE application menu.
</para>
<para>
Details about using Vorta can be found under <link
xlink:href="https://vorta.borgbase.com/usage">https://vorta.borgbase.com
</link>.
</para>
</section>
</chapter>
2 changes: 1 addition & 1 deletion nixos/modules/services/x11/desktop-managers/default.nix
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ in
# determines the default: later modules (if enabled) are preferred.
# E.g., if Plasma 5 is enabled, it supersedes xterm.
imports = [
./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
];
7 changes: 7 additions & 0 deletions nixos/modules/services/x11/desktop-managers/none.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
services.xserver.desktopManager.session =
[ { name = "none";
start = "";
}
];
}
2 changes: 1 addition & 1 deletion nixos/modules/services/x11/window-managers/default.nix
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@ in
./wmii.nix
./xmonad.nix
./qtile.nix
];
./none.nix ];

options = {

12 changes: 12 additions & 0 deletions nixos/modules/services/x11/window-managers/none.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
services = {
xserver = {
windowManager = {
session = [{
name = "none";
start = "";
}];
};
};
};
}
28 changes: 28 additions & 0 deletions pkgs/applications/editors/qxmledit/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub,
qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml, qtquick1, libGLU }:

stdenv.mkDerivation rec {
name = "qxmledit-${version}" ;
version = "0.9.15" ;
src = fetchFromGitHub ( stdenv.lib.importJSON ./qxmledit.json ) ;
nativeBuildInputs = [ qmake ] ;
buildInputs = [ qtbase qtxmlpatterns qtsvg qtscxml qtquick1 libGLU ] ;
qmakeFlags = [ "CONFIG+=release" ] ;
outputs = [ "out" "doc" ] ;

preConfigure = ''
export QXMLEDIT_INST_DATA_DIR="$out/share/data"
export QXMLEDIT_INST_TRANSLATIONS_DIR="$out/share/i18n"
export QXMLEDIT_INST_INCLUDE_DIR="$out/include"
export QXMLEDIT_INST_DIR="$out/bin"
export QXMLEDIT_INST_LIB_DIR="$out/lib"
export QXMLEDIT_INST_DOC_DIR="$doc"
'';

meta = with stdenv.lib; {
description = "Simple XML editor based on qt libraries" ;
homepage = https://sourceforge.net/projects/qxmledit;
license = licenses.lgpl2;
platforms = platforms.all;
} ;
}
6 changes: 6 additions & 0 deletions pkgs/applications/editors/qxmledit/qxmledit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"owner": "lbellonda",
"repo": "qxmledit",
"rev": "6136dca50ceb3b4447c91a7a18dcf84785ea11d1",
"sha256": "1wcnphalwf0a5gz9r44jgk8wcv1w2qipbwjkbzkra2kxanxns834"
}
Loading