Merge branch 'staging-next'

This round is without the systemd CVE,
as we don't have binaries for that yet.
BTW, I just ignore darwin binaries these days,
as I'd have to wait for weeks for them.
wip/yesman
Vladimír Čunát 5 years ago
commit 32767d139f
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
  1. 5
      lib/licenses.nix
  2. 5
      maintainers/maintainer-list.nix
  3. 32
      nixos/doc/manual/release-notes/rl-1903.xml
  4. 3
      nixos/modules/module-list.nix
  5. 39
      nixos/modules/services/desktops/pantheon/contractor.nix
  6. 36
      nixos/modules/services/desktops/pantheon/files.nix
  7. 50
      nixos/modules/services/desktops/tumbler.nix
  8. 2
      nixos/modules/services/x11/desktop-managers/default.nix
  9. 195
      nixos/modules/services/x11/desktop-managers/pantheon.nix
  10. 47
      nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
  11. 1
      nixos/modules/services/x11/display-managers/lightdm.nix
  12. 1
      nixos/release-combined.nix
  13. 1
      nixos/tests/all-tests.nix
  14. 55
      nixos/tests/pantheon.nix
  15. 4
      pkgs/applications/audio/fluidsynth/default.nix
  16. 8
      pkgs/applications/audio/vocal/default.nix
  17. 12
      pkgs/applications/editors/quilter/default.nix
  18. 2
      pkgs/applications/editors/standardnotes/default.nix
  19. 2
      pkgs/applications/editors/sublime/3/common.nix
  20. 2
      pkgs/applications/graphics/alchemy/default.nix
  21. 4
      pkgs/applications/graphics/inkscape/default.nix
  22. 2
      pkgs/applications/graphics/swingsane/default.nix
  23. 2
      pkgs/applications/graphics/wings/default.nix
  24. 2
      pkgs/applications/graphics/zgrviewer/default.nix
  25. 2
      pkgs/applications/kde/fetch.sh
  26. 1720
      pkgs/applications/kde/srcs.nix
  27. 2
      pkgs/applications/misc/curabydagoma/default.nix
  28. 2
      pkgs/applications/misc/freemind/default.nix
  29. 2
      pkgs/applications/misc/hello-unfree/default.nix
  30. 2
      pkgs/applications/misc/jbidwatcher/default.nix
  31. 6
      pkgs/applications/misc/multibootusb/default.nix
  32. 10
      pkgs/applications/misc/notejot/default.nix
  33. 4
      pkgs/applications/misc/openjump/default.nix
  34. 18
      pkgs/applications/misc/regextester/default.nix
  35. 8
      pkgs/applications/misc/sequeler/default.nix
  36. 2
      pkgs/applications/misc/thinking-rock/default.nix
  37. 9
      pkgs/applications/misc/tootle/default.nix
  38. 6
      pkgs/applications/networking/ftp/taxi/default.nix
  39. 2
      pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
  40. 2
      pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
  41. 20
      pkgs/applications/networking/transporter/default.nix
  42. 2
      pkgs/applications/networking/weather/meteo/default.nix
  43. 8
      pkgs/applications/office/aesop/default.nix
  44. 12
      pkgs/applications/office/bookworm/default.nix
  45. 17
      pkgs/applications/office/spice-up/default.nix
  46. 2
      pkgs/applications/science/logic/hol_light/default.nix
  47. 2
      pkgs/applications/science/logic/iprover/default.nix
  48. 14
      pkgs/applications/science/math/nasc/default.nix
  49. 6
      pkgs/applications/version-management/smartgithg/default.nix
  50. 2
      pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh
  51. 6
      pkgs/applications/virtualization/xen/generic.nix
  52. 14
      pkgs/build-support/cc-wrapper/default.nix
  53. 13
      pkgs/build-support/docker/default.nix
  54. 9
      pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
  55. 28
      pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
  56. 2
      pkgs/build-support/vm/default.nix
  57. 38
      pkgs/data/icons/elementary-icon-theme/default.nix
  58. 4
      pkgs/data/icons/faba-icon-theme/default.nix
  59. 2
      pkgs/data/misc/geolite-legacy/builder.sh
  60. 4
      pkgs/desktops/deepin/deepin-wm/default.nix
  61. 5
      pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
  62. 36
      pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch
  63. 4
      pkgs/desktops/gnustep/base/default.nix
  64. 58
      pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
  65. 66
      pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
  66. 64
      pkgs/desktops/pantheon/apps/elementary-camera/default.nix
  67. 80
      pkgs/desktops/pantheon/apps/elementary-code/default.nix
  68. 76
      pkgs/desktops/pantheon/apps/elementary-files/default.nix
  69. 22
      pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch
  70. 78
      pkgs/desktops/pantheon/apps/elementary-music/default.nix
  71. 81
      pkgs/desktops/pantheon/apps/elementary-photos/default.nix
  72. 67
      pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
  73. 28
      pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix
  74. 66
      pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
  75. 63
      pkgs/desktops/pantheon/apps/elementary-videos/default.nix
  76. 29
      pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
  77. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
  78. 54
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
  79. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch
  80. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch
  81. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
  82. 47
      pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
  83. 12
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch
  84. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
  85. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch
  86. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
  87. 57
      pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
  88. 22
      pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch
  89. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
  90. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
  91. 43
      pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
  92. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
  93. 56
      pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
  94. 26
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch
  95. 63
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
  96. 23
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
  97. 64
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
  98. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch
  99. 20
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
  100. 47
      pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -451,6 +451,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "libpng License";
};
libpng2 = {
fullName = "libpng License v2"; # 1.6.36+
url = "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt";
};
libtiff = spdx {
spdxId = "libtiff";
fullName = "libtiff License";

@ -1579,6 +1579,11 @@
github = "flokli";
name = "Florian Klink";
};
FlorianFranzen = {
email = "Florian.Franzen@gmail.com";
github = "FlorianFranzen";
name = "Florian Franzen";
};
florianjacob = {
email = "projects+nixos@florianjacob.de";
github = "florianjacob";

@ -23,6 +23,38 @@
The default Python 3 interpreter is now CPython 3.7 instead of CPython 3.6.
</para>
</listitem>
<listitem>
<para>
Added the Pantheon desktop environment.
It can be enabled through <varname>services.xserver.desktopManager.pantheon.enable</varname>.
</para>
<note>
<para>
<varname>services.xserver.desktopManager.pantheon</varname> default enables lightdm
as a display manager and using Pantheon's greeter.
</para>
<para>
This is because of limitations with the screenlocking implementation, whereas the
screenlocker would be non-functional without it.
</para>
<para>
Because of that it is recommended to retain this precaution, however if you'd like to change this set:
</para>
<itemizedlist>
<listitem>
<para>
<option>services.xserver.displayManager.lightdm.enable</option>
</para>
</listitem>
<listitem>
<para>
<option>services.xserver.displayManager.lightdm.greeters.pantheon.enable</option>
</para>
</listitem>
</itemizedlist>
<para>to <literal>false</literal> and enable your preferred display manager.</para>
</note>
</listitem>
</itemizedlist>
</section>

@ -243,6 +243,8 @@
./services/desktops/bamf.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/pantheon/contractor.nix
./services/desktops/pantheon/files.nix
./services/desktops/flatpak.nix
./services/desktops/geoclue2.nix
./services/desktops/gsignond.nix
@ -268,6 +270,7 @@
./services/desktops/gnome3/tracker-miners.nix
./services/desktops/profile-sync-daemon.nix
./services/desktops/telepathy.nix
./services/desktops/tumbler.nix
./services/desktops/zeitgeist.nix
./services/development/bloop.nix
./services/development/hoogle.nix

@ -0,0 +1,39 @@
# Contractor
{ config, pkgs, lib, ... }:
with lib;
{
###### interface
options = {
services.pantheon.contractor = {
enable = mkEnableOption "contractor, a desktop-wide extension service used by pantheon";
};
};
###### implementation
config = mkIf config.services.pantheon.contractor.enable {
environment.systemPackages = with pkgs.pantheon; [
contractor
extra-elementary-contracts
];
services.dbus.packages = [ pkgs.pantheon.contractor ];
environment.pathsToLink = [
"/share/contractor"
];
};
}

@ -0,0 +1,36 @@
# pantheon files daemon.
{ config, pkgs, lib, ... }:
with lib;
{
###### interface
options = {
services.pantheon.files = {
enable = mkEnableOption "pantheon files daemon";
};
};
###### implementation
config = mkIf config.services.pantheon.files.enable {
environment.systemPackages = [
pkgs.pantheon.elementary-files
];
services.dbus.packages = [
pkgs.pantheon.elementary-files
];
};
}

@ -0,0 +1,50 @@
# Tumbler
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.tumbler;
tumbler = cfg.package;
in
{
###### interface
options = {
services.tumbler = {
enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
package = mkOption {
type = types.package;
default = pkgs.xfce4-13.tumbler;
description = "Which tumbler package to use";
example = pkgs.xfce4-12.tumbler;
};
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [
tumbler
];
services.dbus.packages = [
tumbler
];
};
}

@ -20,7 +20,7 @@ in
imports = [
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix
./mate.nix ./pantheon.nix
];
options = {

@ -0,0 +1,195 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.desktopManager.pantheon;
nixos-gsettings-desktop-schemas = pkgs.pantheon.elementary-gsettings-schemas.override {
extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
extraGSettingsOverrides = cfg.extraGSettingsOverrides;
};
in
{
options = {
services.xserver.desktopManager.pantheon = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the pantheon desktop manager";
};
sessionPath = mkOption {
default = [];
example = literalExample "[ pkgs.gnome3.gpaste ]";
description = ''
Additional list of packages to be added to the session search path.
Useful for GSettings-conditional autostart.
Note that this should be a last resort; patching the package is preferred (see GPaste).
'';
apply = list: list ++
[
pkgs.pantheon.pantheon-agent-geoclue2
];
};
extraGSettingsOverrides = mkOption {
default = "";
type = types.lines;
description = "Additional gsettings overrides.";
};
extraGSettingsOverridePackages = mkOption {
default = [];
type = types.listOf types.path;
description = "List of packages for which gsettings are overridden.";
};
debug = mkEnableOption "gnome-session debug messages";
};
environment.pantheon.excludePackages = mkOption {
default = [];
example = literalExample "[ pkgs.pantheon.elementary-camera ]";
type = types.listOf types.package;
description = "Which packages pantheon should exclude from the default environment";
};
};
config = mkIf cfg.enable {
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ];
# Ensure lightdm is used when Pantheon is enabled
# Without it screen locking will be nonfunctional because of the use of lightlocker
services.xserver.displayManager.lightdm.enable = mkDefault true;
services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
# If not set manually Pantheon session cannot be started
# Known issue of https://github.com/NixOS/nixpkgs/pull/43992
services.xserver.desktopManager.default = mkForce "pantheon";
services.xserver.displayManager.sessionCommands = ''
if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
${concatMapStrings (p: ''
if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
fi
if [ -d "${p}/lib/girepository-1.0" ]; then
export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
fi
'') cfg.sessionPath}
# Makes qt applications look less alien
export QT_QPA_PLATFORMTHEME=gtk3
export QT_STYLE_OVERRIDE=adwaita
fi
'';
hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
security.polkit.enable = true;
services.accounts-daemon.enable = true;
services.bamf.enable = true;
services.colord.enable = mkDefault true;
services.pantheon.files.enable = mkDefault true;
services.tumbler.enable = mkDefault true;
services.dbus.packages = mkMerge [
([ pkgs.pantheon.switchboard-plug-power ])
(mkIf config.services.printing.enable ([pkgs.system-config-printer]) )
];
services.pantheon.contractor.enable = true;
services.geoclue2.enable = mkDefault true;
# pantheon has pantheon-agent-geoclue2
services.geoclue2.enableDemoAgent = false;
services.gnome3.at-spi2-core.enable = true;
services.gnome3.evolution-data-server.enable = true;
services.gnome3.file-roller.enable = true;
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
services.gnome3.gnome-keyring.enable = true;
services.gnome3.gvfs.enable = true;
services.gnome3.rygel.enable = true;
services.gsignond.enable = true;
services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ];
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
services.xserver.libinput.enable = mkDefault true;
services.xserver.updateDbusEnvironment = true;
services.zeitgeist.enable = true;
networking.networkmanager.enable = mkDefault true;
networking.networkmanager.basePackages =
{ inherit (pkgs) networkmanager modemmanager wpa_supplicant;
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
networkmanager-openconnect networkmanager-fortisslvpn
networkmanager-iodine networkmanager-l2tp; };
# Override GSettings schemas
environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
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.pathsToLink = [
# FIXME: modules should link subdirs of `/share` rather than relying on this
"/share"
];
environment.systemPackages = pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath
++ (pkgs.gnome3.removePackagesByName pkgs.pantheon.apps config.environment.pantheon.excludePackages)
++ (with pkgs.gnome3;
[
adwaita-icon-theme
dconf
epiphany
evince
geary
gnome-bluetooth
gnome-font-viewer
gnome-power-manager
])
++ (with pkgs;
[
adwaita-qt
desktop-file-utils
glib
glib-networking
gnome-menus
gtk3.out
hicolor-icon-theme
lightlocker
plank
qgnomeplatform
shared-mime-info
sound-theme-freedesktop
xdg-user-dirs
]);
fonts.fonts = with pkgs; [
opensans-ttf
roboto-mono
];
fonts.fontconfig.defaultFonts = {
monospace = [ "Roboto Mono" ];
sansSerif = [ "Open Sans" ];
};
};
}

@ -0,0 +1,47 @@
{ config, lib, pkgs, ... }:
with lib;
let
dmcfg = config.services.xserver.displayManager;
ldmcfg = dmcfg.lightdm;
cfg = ldmcfg.greeters.pantheon;
xgreeters = pkgs.linkFarm "pantheon-greeter-xgreeters" [{
path = "${pkgs.pantheon.elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
name = "io.elementary.greeter.desktop";
}];
in
{
options = {
services.xserver.displayManager.lightdm.greeters.pantheon = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable elementary-greeter as the lightdm greeter.
'';
};
};
};
config = mkIf (ldmcfg.enable && cfg.enable) {
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
services.xserver.displayManager.lightdm.greeter = mkDefault {
package = xgreeters;
name = "io.elementary.greeter";
};
environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
};
}

@ -81,6 +81,7 @@ in
./lightdm-greeters/gtk.nix
./lightdm-greeters/mini.nix
./lightdm-greeters/enso-os.nix
./lightdm-greeters/pantheon.nix
];
options = {

@ -68,6 +68,7 @@ in rec {
(all nixos.tests.firefox)
(all nixos.tests.firewall)
(except ["aarch64-linux"] nixos.tests.gnome3)
(except ["aarch64-linux"] nixos.tests.pantheon)
nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only
(except ["aarch64-linux"] nixos.tests.installer.lvm)
(except ["aarch64-linux"] nixos.tests.installer.luksroot)

@ -172,6 +172,7 @@ in
ostree = handleTest ./ostree.nix {};
pam-oath-login = handleTest ./pam-oath-login.nix {};
pam-u2f = handleTest ./pam-u2f.nix {};
pantheon = handleTest ./pantheon.nix {};
peerflix = handleTest ./peerflix.nix {};
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};

@ -0,0 +1,55 @@
import ./make-test.nix ({ pkgs, ...} :
{
name = "pantheon";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ worldofpeace ];
};
machine = { ... }:
{
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.desktopManager.pantheon.enable = true;
virtualisation.memorySize = 1024;
};
enableOCR = true;
testScript = { nodes, ... }: let
user = nodes.machine.config.users.users.alice;
in ''
startAll;
# Wait for display manager to start
$machine->waitForText(qr/${user.description}/);
$machine->screenshot("lightdm");
# Log in
$machine->sendChars("${user.password}\n");
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
# Check if "pantheon-shell" components actually start
$machine->waitUntilSucceeds("pgrep gala");
$machine->waitForWindow(qr/gala/);
$machine->waitUntilSucceeds("pgrep wingpanel");
$machine->waitForWindow("wingpanel");
$machine->waitUntilSucceeds("pgrep plank");
$machine->waitForWindow(qr/plank/);
# Check that logging in has given the user ownership of devices.
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
# Open elementary terminal
$machine->execute("su - alice -c 'DISPLAY=:0.0 io.elementary.terminal &'");
$machine->waitForWindow(qr/io.elementary.terminal/);
# Take a screenshot of the desktop
$machine->sleep(20);
$machine->screenshot("screen");
'';
})

@ -11,8 +11,8 @@ let
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
};
"2" = {
fluidsynthVersion = "2.0.2";
sha256 = "02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274";
fluidsynthVersion = "2.0.3";
sha256 = "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78";
};
};
in

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, vala_0_40, gtk3, libxml2, granite, webkitgtk, clutter-gtk
{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, pantheon, gtk3, libxml2, webkitgtk, clutter-gtk
, clutter-gst, libunity, libnotify, sqlite, gst_all_1, libsoup, json-glib, gnome3, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -20,16 +20,16 @@ stdenv.mkDerivation rec {
libxml2
ninja
pkgconfig
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = with gst_all_1; [
clutter-gst
clutter-gtk
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
gnome3.libgee
granite
pantheon.granite
gst-plugins-base
gst-plugins-good
gstreamer

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3
, granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
, discount, gobject-introspection, wrapGAppsHook }:
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, meson, ninja, python3
, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
, gnome3, discount, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "quilter";
@ -22,15 +22,15 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = [
discount
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
pantheon.granite
gnome3.libgee
granite
gtk3
gtksourceview
gtkspell3

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/{bin,share}
cp $src $out/share/standardNotes.AppImage
echo "#!/bin/sh" > $out/bin/standardnotes
echo "#!${stdenv.shell}" > $out/bin/standardnotes
echo "${appimage-run}/bin/appimage-run $out/share/standardNotes.AppImage" >> $out/bin/standardnotes
chmod +x $out/bin/standardnotes $out/share/standardNotes.AppImage
'';

@ -115,7 +115,7 @@ in stdenv.mkDerivation (rec {
mkdir -p $out/bin
cat > $out/bin/subl <<-EOF
#!/bin/sh
#!${stdenv.shell}
exec $sublime/sublime_text "\$@"
EOF
chmod +x $out/bin/subl

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share
cp -a . $out/share/alchemy
cat >> $out/bin/alchemy << EOF
#!/bin/sh
#!${stdenv.shell}
cd $out/share/alchemy
${jre}/bin/java -jar Alchemy.jar "$@"
EOF

@ -11,11 +11,11 @@ let
in
stdenv.mkDerivation rec {
name = "inkscape-0.92.3";
name = "inkscape-0.92.4";
src = fetchurl {
url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2";
sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6";
sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p";
};
# Inkscape hits the ARGMAX when linking on macOS. It appears to be

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
installPhase = let
execWrapper = ''
#!/bin/sh
#!${stdenv.shell}
exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@"
'';

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
cp ebin/* $out/lib/${name}/ebin
cp -R textures shaders plugins $out/lib/$name
cat << EOF > $out/bin/wings
#!/bin/sh
#!${stdenv.shell}
${erlang}/bin/erl \
-pa $out/lib/${name}/ebin -run wings_start start_halt "$@"
EOF

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
cp -r target/* "$out/share/java/zvtm/"
echo '#!/bin/sh' > "$out/bin/zgrviewer"
echo '#!${stdenv.shell}' > "$out/bin/zgrviewer"
echo "${jre}/lib/openjdk/jre/bin/java -jar '$out/share/java/zvtm/zgrviewer-${version}.jar' \"\$@\"" >> "$out/bin/zgrviewer"
chmod a+x "$out/bin/zgrviewer"
'';

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/applications/18.12.0/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/applications/18.12.1/ -A '*.tar.xz' )

File diff suppressed because it is too large Load Diff

@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
mkdir $out/bin
cat > $out/bin/curabydago <<EOF
#!/bin/sh
#!${stdenv.shell}
export PYTHONPATH=$PYTHONPATH
${python.out}/bin/python $out/curabydago/cura.py
EOF

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
sed -i 's/which/type -p/' $out/nix-support/dist/freemind.sh
cat >$out/bin/freemind <<EOF
#! /bin/sh
#! ${stdenv.shell}
JAVA_HOME=${jre} $out/nix-support/dist/freemind.sh
EOF
chmod +x $out/{bin/freemind,nix-support/dist/freemind.sh}

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cat > $out/bin/hello-unfree << EOF
#!/bin/sh
#!${stdenv.shell}
echo "Hello, you are running an unfree system!"
EOF
chmod +x $out/bin/hello-unfree

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p "$out/bin"
echo > "$out/bin/${pname}" "#!/bin/sh"
echo > "$out/bin/${pname}" "#!${stdenv.shell}"
echo >>"$out/bin/${pname}" "${java}/bin/java -Xmx512m -jar ${jarfile}"
chmod +x "$out/bin/${pname}"
install -D -m644 ${src} ${jarfile}

@ -1,4 +1,4 @@
{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
python36Packages.buildPythonApplication rec {
pname = "multibootusb";
name = "${pname}-${version}";
@ -40,7 +40,7 @@ python36Packages.buildPythonApplication rec {
mkdir "$out/bin"
cat > "$out/bin/${pname}" <<EOF
#!/bin/sh
#!${stdenv.shell}
cd "$share"
export PYTHONPATH="$PYTHONPATH:$share"
export PATH="$PATH:${parted}/bin:${procps}/bin"
@ -50,7 +50,7 @@ python36Packages.buildPythonApplication rec {
chmod +x "$out/bin/${pname}"
'';
meta = with lib; {
meta = with stdenv.lib; {
description = "Multiboot USB creator for Linux live disks";
homepage = http://multibootusb.org/;
license = licenses.gpl2;

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, vala_0_40, pkgconfig, meson, ninja, python3, granite
, gtk3, gnome3, gtksourceview, json-glib, gobject-introspection, wrapGAppsHook }:
{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon
, gtk3, gtksourceview, json-glib, gnome3, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "notejot";
@ -20,14 +20,14 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
pantheon.granite
gnome3.libgee
granite
gtk3
gtksourceview
json-glib

@ -17,9 +17,9 @@ stdenv.mkDerivation {
s=$out/bin/OpenJump
dir=$(echo $out/openjump-*)
cat >> $s << EOF
#!/bin/sh
#!${stdenv.shell}
cd $dir/bin
exec /bin/sh openjump.sh
exec ${stdenv.shell} openjump.sh
EOF
chmod +x $s
ln -s /tmp/openjump.log $dir/bin/jump.log

@ -4,14 +4,13 @@
, libxml2
, pkgconfig
, glib
, granite
, gtk3
, gnome3
, meson
, ninja
, gobject-introspection
, gsettings-desktop-schemas
, vala_0_40
, pantheon
, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -26,22 +25,23 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
pkgconfig
meson
ninja
pantheon.vala
gettext
gobject-introspection
libxml2
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
meson
ninja
pkgconfig
wrapGAppsHook
];
buildInputs = [
pantheon.elementary-icon-theme
pantheon.granite
glib
granite
gtk3
gnome3.defaultIconTheme
gnome3.libgee
gsettings-desktop-schemas
gtk3
];
postInstall = ''

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, vala, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils
, gtk3, glib, granite, libgee, libgda, gtksourceview, libxml2, libsecret, libfixposix, libssh2 }:
, meson, ninja, pkgconfig, pantheon, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils
, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libfixposix, libssh2 }:
let
@ -20,9 +20,9 @@ in stdenv.mkDerivation rec {
sha256 = "0sxmky27pl0aqnh857xb54rnfg1kbr2smdzyrzw67cbv00f6d30p";
};
nativeBuildInputs = [ meson ninja pkgconfig vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ];
nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ];
buildInputs = [ gtk3 glib granite libgee sqlGda gtksourceview libxml2 libsecret libfixposix libssh2 ];
buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libfixposix libssh2 ];
postPatch = ''
chmod +x build-aux/meson_post_install.py

@ -24,7 +24,7 @@ stdenv.mkDerivation {
mkdir -p $out/{nix-support/tr-files,bin}
cp -r . $out/nix-support/tr-files
cat >> $out/bin/thinkingrock << EOF
#!/bin/sh
#!${stdenv.shell}
exec $out/nix-support/tr-files/bin/tr "$@"
EOF
chmod +x $out/bin/thinkingrock

@ -1,8 +1,7 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, python3
, gnome3, vala_0_40, gobject-introspection, wrapGAppsHook
, gtk3, granite
, json-glib, glib, glib-networking, hicolor-icon-theme
, gnome3, pantheon, gobject-introspection, wrapGAppsHook
, gtk3, json-glib, glib, glib-networking, hicolor-icon-theme
}:
let
@ -24,11 +23,11 @@ in stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = [
gtk3 granite json-glib glib glib-networking hicolor-icon-theme
gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme
gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas
];

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, granite
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3
, gtk3, gnome3, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -15,18 +15,18 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
pantheon.vala
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
pantheon.granite
gnome3.libgee
granite
gtk3
libsecret
libsoup

@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
postPatch = ''
# we do all patching from update.sh in preAutoreconf
echo "#!/bin/sh" > update.sh
echo "#!${stdenv.shell}" > update.sh
'';
preAutoreconf = ''

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
cp ./bin/telegram-cli $out/bin/telegram-wo-key
cp ./tg-server.pub $out/
cat > $out/bin/telegram-cli <<EOF
#!${bash}/bin/sh
#!${stdenv.shell}
$out/bin/telegram-wo-key -k $out/tg-server.pub "\$@"
EOF
chmod +x $out/bin/telegram-cli

@ -3,9 +3,9 @@
, meson
, ninja
, pkgconfig
, granite
, vala_0_40
, gtk3
, python3
, pantheon
, gnome3
, libxml2
, gettext
@ -31,24 +31,22 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [
appstream-glib
desktop-file-utils
pantheon.vala
gettext
gobject-introspection # For setup hook
libxml2
meson
ninja
pkgconfig
vala_0_40
python3
wrapGAppsHook
];
buildInputs = with gnome3; [
defaultIconTheme # If I omit this there's no icons in KDE
glib
granite
gsettings-desktop-schemas
buildInputs = [
pantheon.elementary-icon-theme
gnome3.libgee
pantheon.granite
gtk3
libgee
magic-wormhole
];
@ -59,8 +57,8 @@ in stdenv.mkDerivation rec {
'';
postPatch = ''
chmod +x ./meson/post_install.py
patchShebangs ./meson/post_install.py
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, granite, gtk3
{ stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, gtk3
, gnome3, json-glib, libsoup, clutter, clutter-gtk, libchamplain, webkitgtk
, libappindicator, desktop-file-utils, appstream, gobject-introspection, wrapGAppsHook }:

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3, granite, gtk3
{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, ninja, python3, gtk3
, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -21,14 +21,14 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
gnome3.libgee
granite
pantheon.granite
gtk3
json-glib
libsoup

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3
{ stdenv, fetchFromGitHub, fetchpatch, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -20,17 +20,17 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
pantheon.vala
wrapGAppsHook
];
buildInputs = with gnome3; [
buildInputs = [
pantheon.elementary-icon-theme
pantheon.granite
glib
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
granite
gnome3.libgee
gtk3
html2text
libgee
poppler
python2
sqlite

@ -4,7 +4,6 @@
, libxml2
, pkgconfig
, gtk3
, granite
, gnome3
, gobject-introspection
, json-glib
@ -13,7 +12,7 @@
, libgudev
, libevdev
, libsoup
, vala_0_40
, pantheon
, wrapGAppsHook }:
stdenv.mkDerivation rec {
@ -30,19 +29,19 @@ stdenv.mkDerivation rec {
USER = "nix-build-user";
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
cmake
ninja
gettext
libxml2
gobject-introspection # For setup hook
libxml2
ninja
pkgconfig
pantheon.vala
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
pantheon.granite
gnome3.libgee
granite
gtk3
json-glib
libevdev

@ -11,7 +11,7 @@ let
start_script =
''
#!/bin/sh
#!${stdenv.shell}
cd $out/lib/hol_light
exec ${ocaml}/bin/ocaml \
-I \`${camlp5}/bin/camlp5 -where\` \

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
mkdir -p "$out/share/${name}"
cp *.p "$out/share/${name}"
echo -e "#! /bin/sh\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover
echo -e "#! ${stdenv.shell}\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover
chmod a+x "$out"/bin/iprover
'';

@ -1,12 +1,10 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
, pkgconfig
, gtk3
, granite
, pantheon
, gnome3
, cmake
, vala_0_40
, libqalculate
, gobject-introspection
, wrapGAppsHook }:
@ -28,19 +26,19 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
cmake
pantheon.vala
gobject-introspection # for setup-hook
pkgconfig
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
pantheon.elementary-icon-theme
gnome3.gtksourceview
gnome3.libgee
gnome3.libsoup
granite
pantheon.granite
gtk3
libqalculate
];

@ -1,4 +1,5 @@
{ stdenv, fetchurl, lib, makeWrapper
, substituteAll
, jre
, gtk2, glib
, libXtst
@ -21,7 +22,10 @@ stdenv.mkDerivation rec {
buildCommand = let
pkg_path = "$out/${name}";
bin_path = "$out/bin";
install_freedesktop_items = ./install_freedesktop_items.sh;
install_freedesktop_items = substituteAll {
inherit (stdenv) shell;
src = ./install_freedesktop_items.sh;
};
runtime_paths = lib.makeBinPath [
jre
#git mercurial subversion # the paths are requested in configuration

@ -86,14 +86,14 @@ stdenv.mkDerivation (rec {
# Fake git: just print what it wants and die
cat > fake-bin/wget << EOF
#!/bin/sh -e
#!${stdenv.shell} -e
echo ===== FAKE WGET: Not fetching \$*
[ -e \$3 ]
EOF
# Fake git: just print what it wants and die
cat > fake-bin/git << EOF
#!/bin/sh
#!${stdenv.shell}
echo ===== FAKE GIT: Not cloning \$*
[ -e \$3 ]
EOF
@ -109,7 +109,7 @@ stdenv.mkDerivation (rec {
# (prefetched stuff has lots of files)
find . -type f | xargs sed -i 's@/usr/bin/\(python\|perl\)@/usr/bin/env \1@g'
find . -type f -not -path "./tools/hotplug/Linux/xendomains.in" \
| xargs sed -i 's@/bin/bash@/bin/sh@g'
| xargs sed -i 's@/bin/bash@${stdenv.shell}@g'
# Get prefetched stuff
${withXenfiles (name: x: ''

@ -13,6 +13,7 @@
, extraPackages ? [], extraBuildCommands ? ""
, isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null
, buildPackages ? {}
, libcxx ? null
}:
with stdenvNoCC.lib;
@ -44,8 +45,11 @@ let
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else getBin coreutils;
default_cxx_stdlib_compile = optionalString (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc)
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)";
default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) then
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)"
else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) then
"-isystem ${libcxx}/include/c++/v1"
else "";
# The "infix salt" is a arbitrary string added in the middle of env vars
# defined by cc-wrapper's hooks so that multiple cc-wrappers can be used
@ -256,9 +260,9 @@ stdenv.mkDerivation {
echo "$ccLDFlags" > $out/nix-support/cc-ldflags
echo "$ccCFlags" > $out/nix-support/cc-cflags
''
+ optionalString propagateDoc ''
'' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) ''
echo " -L${libcxx}/lib" >> $out/nix-support/cc-ldflags
'' + optionalString propagateDoc ''
##
## Man page and info support
##

@ -22,7 +22,8 @@
referencesByPopularity,
writeScript,
writeText,
closureInfo
closureInfo,
substituteAll
}:
# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
@ -279,6 +280,12 @@ rec {
# of room for extension
maxLayers ? 24
}:
let
storePathToLayer = substituteAll
{ inherit (stdenv) shell;
src = ./store-path-to-layer.sh;
};
in
runCommand "${name}-granular-docker-layers" {
inherit maxLayers;
paths = referencesByPopularity closure;
@ -298,9 +305,9 @@ rec {
# following head and tail call lines, double-check that your
# code behaves properly when the number of layers equals:
# maxLayers-1, maxLayers, and maxLayers+1
head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${./store-path-to-layer.sh}
head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
if [ $(cat $paths | wc -l) -ge $maxLayers ]; then
tail -n+$maxLayers $paths | xargs ${./store-path-to-layer.sh} $maxLayers
tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers
fi
echo "Finished building layer '$name'"

@ -23,7 +23,14 @@ fixDarwinDylibNames() {
for fn in "$@"; do
if [ -L "$fn" ]; then continue; fi
echo "$fn: fixing dylib"
install_name_tool -id "$fn" "${flags[@]}" "$fn"
int_out=$(install_name_tool -id "$fn" "${flags[@]}" "$fn" 2>&1)
result=$?
if [ "$result" -ne 0 ] &&
! grep "shared library stub file and can't be changed" <<< "$out"
then
echo "$int_out" >&2
exit "$result"
fi
done
}

@ -36,16 +36,40 @@ wrapGAppsHook() {
done
if [[ -z "$dontWrapGApps" ]]; then
targetDirsThatExist=()
targetDirsRealPath=()
# wrap binaries
targetDirs=( "${prefix}/bin" "${prefix}/libexec" )
for targetDir in "${targetDirs[@]}"; do
if [[ -d "${targetDir}" ]]; then
find -L "${targetDir}" -type f -executable -print0 \
targetDirsThatExist+=("${targetDir}")
targetDirsRealPath+=("$(realpath "${targetDir}")/")
find "${targetDir}" -type f -executable -print0 \
| while IFS= read -r -d '' file; do
echo "Wrapping program ${file}"
echo "Wrapping program '${file}'"
wrapProgram "${file}" "${gappsWrapperArgs[@]}"
done
fi
done
# wrap links to binaries that point outside targetDirs
# Note: links to binaries within targetDirs do not need
# to be wrapped as the binaries have already been wrapped
if [[ ${#targetDirsThatExist[@]} -ne 0 ]]; then
find "${targetDirsThatExist[@]}" -type l -xtype f -executable -print0 \
| while IFS= read -r -d '' linkPath; do
linkPathReal=$(realpath "${linkPath}")
for targetPath in "${targetDirsRealPath[@]}"; do
if [[ "$linkPathReal" == "$targetPath"* ]]; then
echo "Not wrapping link: '$linkPath' (already wrapped)"
continue 2
fi
done
echo "Wrapping link: '$linkPath'"
wrapProgram "${linkPath}" "${gappsWrapperArgs[@]}"
done
fi
fi
}

@ -164,7 +164,7 @@ rec {
# Set up automatic kernel module loading.
export MODULE_DIR=${kernel}/lib/modules/
${coreutils}/bin/cat <<EOF > /run/modprobe
#! /bin/sh
#! ${bash}/bin/sh
export MODULE_DIR=$MODULE_DIR
exec ${kmod}/bin/modprobe "\$@"
EOF

@ -1,38 +0,0 @@
{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3 }:
stdenv.mkDerivation rec {
name = "elementary-icon-theme-${version}";
version = "5.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "icons";
rev = version;
sha256 = "12j582f0kggv2lp935r75xg7q26zpl0f05s11xcs4qxazhj1ly2r";
};
nativeBuildInputs = [ meson ninja python3 gtk3 ];
# Disable installing gimp and inkscape palette files
mesonFlags = [
"-Dpalettes=false"
];
postPatch = ''
chmod +x meson/symlink.py
patchShebangs .
sed -i volumeicon/meson.build -e "s,'/','$out',"
'';
postFixup = ''
gtk-update-icon-cache $out/share/icons/elementary
'';
meta = with stdenv.lib; {
description = "Icons from the Elementary Project";
homepage = https://github.com/elementary/icons;
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ simonvandel ];
};
}

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, elementary-icon-theme }:
{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon }:
stdenv.mkDerivation rec {
name = "${package-name}-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n";
};
nativeBuildInputs = [ meson ninja python3 gtk3 elementary-icon-theme ];
nativeBuildInputs = [ meson ninja python3 gtk3 pantheon.elementary-icon-theme ];
postPatch = ''
patchShebangs meson/post_install.py

@ -1,5 +1,3 @@
#!/bin/sh -e
source "$stdenv/setup"
mkdir -p $out/share/GeoIP

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
bamf, clutter-gtk, granite, libcanberra-gtk3, libwnck3,
bamf, clutter-gtk, pantheon, libcanberra-gtk3, libwnck3,
deepin-mutter, deepin-wallpapers, deepin-desktop-schemas,
hicolor-icon-theme, deepin }:
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
gnome3.libgee
bamf
clutter-gtk
granite
pantheon.granite
libcanberra-gtk3
libwnck3
deepin-mutter

@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit tzdata;
})
./hardcode-gsettings.patch
];
nativeBuildInputs = [
@ -41,6 +42,10 @@ stdenv.mkDerivation rec {
"-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
];
postPatch = ''
substituteInPlace src/libedataserver/e-source-registry.c --subst-var-by ESD_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas
'';
passthru = {
updateScript = gnome3.updateScript {

@ -0,0 +1,36 @@
diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
index 9c166dbaf..ef368f8d4 100644
--- a/src/libedataserver/e-source-registry.c
+++ b/src/libedataserver/e-source-registry.c
@@ -116,6 +116,8 @@ struct _ESourceRegistryPrivate {
GHashTable *sources;
GMutex sources_lock;
+ GSettingsSchemaSource *schema_source;
+ GSettingsSchema *schema;
GSettings *settings;
gboolean initialized;
@@ -1339,7 +1341,11 @@ source_registry_dispose (GObject *object)
if (priv->settings != NULL) {
g_signal_handlers_disconnect_by_data (priv->settings, object);
g_object_unref (priv->settings);
+ g_settings_schema_unref (priv->schema);
+ g_settings_schema_source_unref (priv->schema_source);
priv->settings = NULL;
+ priv->schema = NULL;
+ priv->schema_source = NULL;
}
/* Chain up to parent's finalize() method. */
@@ -1743,7 +1749,9 @@ e_source_registry_init (ESourceRegistry *registry)
g_mutex_init (&registry->priv->sources_lock);
- registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA);
+ GSettingsSchemaSource *schema_source = registry->priv->schema_source = g_settings_schema_source_new_from_directory ("@ESD_GSETTINGS_PATH@", g_settings_schema_source_get_default (), TRUE, NULL);
+ registry->priv->schema = g_settings_schema_source_lookup (schema_source, GSETTINGS_SCHEMA, FALSE);
+ registry->priv->settings = g_settings_new_full (registry->priv->schema, NULL, NULL);
g_signal_connect (
registry->priv->settings, "changed",

@ -11,13 +11,13 @@
, pkgconfig, portaudio
}:
let
version = "1.25.1";
version = "1.26.0";
in
gsmakeDerivation {
name = "gnustep-base-${version}";
src = fetchurl {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${version}.tar.gz";
sha256 = "17mnilg28by74wc08nkwp6gi06x3j2nrcf05wg64nrw5ljffp2zj";
sha256 = "0ws16rwqx0qvqpyjsxbdylfpkgjr19nqc9i3b30wywqcqrkc12zn";
};
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [

@ -0,0 +1,58 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig
, meson, ninja, vala, desktop-file-utils, libxml2
, gtk3, python3, granite, libgee, gobject-introspection
, elementary-icon-theme, appstream, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "calculator";
version = "1.5.1";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0vc27kjmfkly2jkqjiyzlybxyjqhwal3xrxca5b4abfgb379yswa";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
gobject-introspection
libxml2
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
elementary-icon-theme
granite
gtk3
libgee
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
homepage = https://github.com/elementary/calculator;
description = "Calculator app designed for elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,66 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson
, ninja, vala, desktop-file-utils, gtk3, granite, libgee
, geoclue2, libchamplain, clutter, folks, geocode-glib, python3
, libnotify, libical, evolution-data-server, appstream-glib
, elementary-icon-theme, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "calendar";
version = "4.2.3";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "100wy8lkp4nrxj57ywyx44ckm3k7n8h5l6av92hr5pyx8fxn9m48";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
clutter
elementary-icon-theme
evolution-data-server
folks
geoclue2
geocode-glib
granite
gtk3
libchamplain
libgee
libical
libnotify
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Desktop calendar app designed for elementary OS";
homepage = https://github.com/elementary/calendar;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,64 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala
, desktop-file-utils, python3, gettext, libxml2, gtk3, granite, libgee, gst_all_1
, libcanberra, clutter-gtk, clutter-gst, elementary-icon-theme, appstream, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "camera";
version = "1.0.3";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "05rjymflhwbkw8yc57rgi9n7lrhf4dpvfvlifdnazyqn9iiaxc46";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
gettext
libxml2
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
clutter-gst
clutter-gtk
elementary-icon-theme
granite
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
gtk3
libcanberra
libgee
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Camera app designed for elementary OS";
homepage = https://github.com/elementary/camera;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,80 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, substituteAll
, python3, glibcLocales, desktop-file-utils, gtk3, granite, libgee, elementary-icon-theme
, appstream, libpeas, editorconfig-core-c, gtksourceview3, gtkspell3, libsoup
, vte, webkitgtk, zeitgeist, ctags, libgit2-glib, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "code";
version = "3.0.2";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0zmm4a7galrs9phiplf6cygwq3rplghv7r8g47mi4nlndgxqyssg";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
glibcLocales
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
ctags
elementary-icon-theme
editorconfig-core-c
granite
gtk3
gtksourceview3
gtkspell3
libgee
libgit2-glib
libpeas
libsoup
vte
webkitgtk
zeitgeist
];
# See: https://github.com/elementary/code/pull/626
LIBRARY_PATH = stdenv.lib.makeLibraryPath [ editorconfig-core-c ];
# install script fails with UnicodeDecodeError because of printing a fancy elipsis character
LC_ALL = "en_US.UTF-8";
# ctags needed in path by outline plugin
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${stdenv.lib.makeBinPath [ ctags ]}"
)
'';
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Code editor designed for elementary OS";
homepage = https://github.com/elementary/code;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,76 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, gettext, vala
, python3, desktop-file-utils, libcanberra, gtk3, libgee, granite, libnotify
, libunity, pango, plank, bamf, sqlite, libdbusmenu-gtk3, zeitgeist, glib-networking
, elementary-icon-theme, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "files";
version = "4.1.5";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0z0pisg7py2k6i31v18z5fgpj8x64m1s5clfq4vbbjrcjwx6dcx5";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
desktop-file-utils
gettext
glib-networking
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
bamf
elementary-icon-theme
granite
gtk3
libcanberra
libdbusmenu-gtk3
libgee
libnotify
libunity
pango
plank
sqlite
zeitgeist
];
patches = [ ./hardcode-gsettings.patch ];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
substituteInPlace filechooser-module/FileChooserDialog.vala --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas
'';
# xdg.mime will create this
postInstall = ''
rm $out/share/applications/mimeinfo.cache
'';
meta = with stdenv.lib; {
description = "File browser designed for elementary OS";
homepage = https://github.com/elementary/files;
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,22 @@
diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala
index cb7c3c49..8b1899d1 100644
--- a/filechooser-module/FileChooserDialog.vala
+++ b/filechooser-module/FileChooserDialog.vala
@@ -57,10 +57,15 @@ public class CustomFileChooserDialog : Object {
chooser_dialog.deletable = false;
chooser_dialog.local_only = false;
- var settings = new Settings ("io.elementary.files.preferences");
+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
+ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false);
+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
+
+ var settings = new Settings.full (preferences_schema, null, null);
+
is_single_click = settings.get_boolean ("single-click");
- var chooser_settings = new Settings ("io.elementary.files.file-chooser");
+ var chooser_settings = new Settings.full (chooser_schema, null, null);
assign_container_box ();
remove_gtk_widgets ();

@ -0,0 +1,78 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson
, ninja, vala, desktop-file-utils, libxml2, gtk3, granite
, python3, libgee, clutter-gtk, json-glib, libgda, libgpod
, libnotify, libpeas, libsoup, zeitgeist, gst_all_1, taglib
, libdbusmenu, libsignon-glib, libaccounts-glib
, elementary-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "music";
version = "5.0.2";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "06mpikzdm01r9j7g15b7fgi4lcnp8cc0wmj17dfli5nmncxghx89";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = with gst_all_1; [
clutter-gtk
elementary-icon-theme
granite
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
gtk3
json-glib
libaccounts-glib
libdbusmenu
libgda
libgee
libgpod
libsignon-glib
libnotify
libpeas
libsoup
taglib
zeitgeist
];
mesonFlags = [
"-Dplugins=lastfm,audioplayer,cdrom,ipod"
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Music player and library designed for elementary OS";
homepage = https://github.com/elementary/music;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,81 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, desktop-file-utils
, gtk3, glib, libaccounts-glib, libexif, libgee, geocode-glib, gexiv2,libgphoto2
, granite, gst_all_1, libgudev, json-glib, libraw, librest, libsoup, sqlite, python3
, scour, webkitgtk, libwebp, appstream, libunity, wrapGAppsHook, gobject-introspection, elementary-icon-theme }:
stdenv.mkDerivation rec {
pname = "photos";
version = "2.6.2";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "166a1jb85n67z6ffm5i0xzap407rv0r511lzh0gidkap1qy6pnmi";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = with gst_all_1; [
elementary-icon-theme
geocode-glib
gexiv2
granite
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
gtk3
json-glib
libaccounts-glib
libexif
libgee
libgphoto2
libgudev
libraw
libsoup
libunity
libwebp
librest
scour
sqlite
webkitgtk
];
mesonFlags = [
"-Dplugins=false"
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Photo viewer and organizer designed for elementary OS";
homepage = https://github.com/elementary/photos;
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,67 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, callPackage
, ninja, vala, python3, desktop-file-utils, gtk3, granite, libgee
, libcanberra, gobject-introspection, elementary-icon-theme, wrapGAppsHook }:
let
redacted-script = callPackage ./redacted-script.nix {};
in
stdenv.mkDerivation rec {
pname = "screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
version = "1.6.1";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = "screenshot";
rev = version;
sha256 = "1vvj550md7vw7n057h8cy887a0nmsbwry67dxrxyz6bsvpk8sb6g";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = "screenshot";
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
desktop-file-utils
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
elementary-icon-theme
granite
gtk3
libcanberra
libgee
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
postInstall = ''
mkdir -p $out/share/fonts/truetype
cp -rva ${redacted-script}/share/fonts/truetype/redacted-elementary $out/share/fonts/truetype
'';
meta = with stdenv.lib; {
description = "Screenshot tool designed for elementary OS";
homepage = https://github.com/elementary/screenshot;
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, pantheon }:
stdenv.mkDerivation rec {
name = "elementary-redacted-script-${version}";
version = "5.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "fonts";
rev = version;
sha256 = "16x2w7w29k4jx2nwc5932h9rqvb216vxsziazisv2rpll74kn8b2";
};
dontConfigure = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype/redacted-elementary
cp -a redacted/*.ttf $out/share/fonts/truetype/redacted-elementary
'';
meta = with stdenv.lib; {
description = "Redacted Script Font for elementary";
homepage = https://github.com/elementary/fonts;
license = licenses.ofl;
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}

@ -0,0 +1,66 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3
, vala, desktop-file-utils, gtk3, libxml2, granite, libnotify, vte, libgee
, elementary-icon-theme, appstream, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "terminal";
version = "5.3.3";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1rhqfq5dn913g551ribycid4k8add2lanxkkqpv6zzdgvah26ni8";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
gobject-introspection
libxml2
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = [
elementary-icon-theme
granite
gtk3
libgee
libnotify
vte
];
# See https://github.com/elementary/terminal/commit/914d4b0e2d0a137f12276d748ae07072b95eff80
mesonFlags = [ "-Dubuntu-bionic-patched-vte=false" ];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Terminal emulator designed for elementary OS";
longDescription = ''
A super lightweight, beautiful, and simple terminal. Comes with sane defaults, browser-class tabs, sudo paste protection,
smart copy/paste, and little to no configuration.
'';
homepage = https://github.com/elementary/terminal;
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,63 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, python3
, desktop-file-utils, gtk3, granite, libgee, clutter-gst, clutter-gtk, gst_all_1
, gobject-introspection, elementary-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "videos";
version = "2.6.3";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
desktop-file-utils
gobject-introspection
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
];
buildInputs = with gst_all_1; [
clutter-gst
clutter-gtk
elementary-icon-theme
granite
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
gtk3
libgee
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Video player and library app designed for elementary OS";
homepage = https://github.com/elementary/videos;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -1,29 +0,0 @@
{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, vte_290, libnotify, gettext, wrapGAppsHook, gobject-introspection }:
stdenv.mkDerivation rec {
majorVersion = "0.4";
minorVersion = "3";
name = "pantheon-terminal-${majorVersion}.${minorVersion}";
src = fetchurl {
url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz";
sha256 = "0bfrqxig26i9qhm15kk7h9lgmzgnqada5snbbwqkp0n0pnyyh4ss";
};
nativeBuildInputs = [
perl cmake vala_0_38 pkgconfig wrapGAppsHook
# For setup hook
gobject-introspection
];
buildInputs = with gnome3; [
glib gtk3 granite libnotify gettext vte_290 libgee
gsettings-desktop-schemas defaultIconTheme
];
meta = {
description = "Elementary OS's terminal";
longDescription = "A super lightweight, beautiful, and simple terminal. It's designed to be setup with sane defaults and little to no configuration. It's just a terminal, nothing more, nothing less. Designed for elementary OS.";
homepage = https://launchpad.net/pantheon-terminal;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.vozz ];
};
}

@ -0,0 +1,45 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-a11y";
version = "2.1.3";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Universal Access Plug";
homepage = https://github.com/elementary/switchboard-plug-a11y;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,54 @@
{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, switchboard, pciutils, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-about";
version = "2.5.2";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "11diwz2aj45yqkxdija8ny0sgm0wl2905gl3799cdl12ss9ffndp";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
patches = [
(substituteAll {
src = ./lspci-path.patch;
inherit pciutils;
})
./remove-update-button.patch
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard About Plug";
homepage = https://github.com/elementary/witchboard-plug-about;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,13 @@
diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
index a3e449c..a95fe93 100644
--- a/src/Views/HardwareView.vala
+++ b/src/Views/HardwareView.vala
@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
// Graphics
try {
- Process.spawn_command_line_sync ("lspci", out graphics);
+ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
string[] lines = graphics.split("\n");

@ -0,0 +1,55 @@
diff --git a/src/Plug.vala b/src/Plug.vala
index 76fca34..3e79c1f 100644
--- a/src/Plug.vala
+++ b/src/Plug.vala
@@ -65,7 +65,6 @@ public class About.Plug : Switchboard.Plug {
search_results.set ("%s → %s".printf (display_name, _("Restore Default Settings")), "");
search_results.set ("%s → %s".printf (display_name, _("Suggest Translation")), "");
search_results.set ("%s → %s".printf (display_name, _("Report Problems")), "");
- search_results.set ("%s → %s".printf (display_name, _("Updates")), "");
return search_results;
}
@@ -161,7 +160,7 @@ public class About.Plug : Switchboard.Plug {
var kernel_version_label = new Gtk.Label (kernel_version);
kernel_version_label.set_selectable (true);
- var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version));
+ var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version));
gtk_version_label.set_selectable (true);
var website_label = new Gtk.LinkButton.with_label (website_url, _("Website"));
@@ -202,16 +201,6 @@ public class About.Plug : Switchboard.Plug {
issue_dialog.run ();
});
- // Update button
- var update_button = new Gtk.Button.with_label (_("Check for Updates"));
- update_button.clicked.connect (() => {
- try {
- Process.spawn_command_line_async ("io.elementary.appcenter --show-updates");
- } catch (Error e) {
- warning (e.message);
- }
- });
-
// Restore settings button
var settings_restore_button = new Gtk.Button.with_label (_("Restore Default Settings"));
settings_restore_button.clicked.connect (settings_restore_clicked);
@@ -224,7 +213,6 @@ public class About.Plug : Switchboard.Plug {
button_grid.add (settings_restore_button);
button_grid.add (translate_button);
button_grid.add (bug_button);
- button_grid.add (update_button);
button_grid.set_child_non_homogeneous (help_button, true);
var software_grid = new Gtk.Grid ();
@@ -238,7 +226,7 @@ public class About.Plug : Switchboard.Plug {
software_grid.attach (based_off, 0, 2, 2, 1);
}
- software_grid.attach (kernel_version_label, 0, 3, 2, 1);
+ software_grid.attach (kernel_version_label, 0, 3, 2, 1);
software_grid.attach (gtk_version_label, 0, 4, 2, 1);
software_grid.attach (website_label, 0, 5, 2, 1);

@ -0,0 +1,45 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-applications";
version = "2.1.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Applications Plug";
homepage = https://github.com/elementary/switchboard-plug-applications;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,47 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, libgee
, granite, gtk3, bluez, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-bluetooth";
version = "2.2.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "13jm2idjsgqkvdz1dxgl2wwx7bsqahppf6cnpl0pmz167wahg5zp";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
bluez
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Bluetooth Plug";
homepage = https://github.com/elementary/switchboard-plug-bluetooth;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,12 @@
diff --git a/src/DateTime1.vala b/src/DateTime1.vala
index 5a80fbd..2e1f948 100644
--- a/src/DateTime1.vala
+++ b/src/DateTime1.vala
@@ -38,6 +38,6 @@ public class DateTime.Settings : Granite.Services.Settings {
public string clock_format { get; set; }
public Settings () {
- base ("io.elementary.desktop.wingpanel.datetime");
+ base ("io.elementary.granite");
}
}

@ -0,0 +1,55 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, substituteAll, pkgconfig
, vala, libgee, granite, gtk3, libxml2, switchboard, tzdata, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-datetime";
version = "2.1.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1iz8skf5dw76a07ljc8v8lw2x2nrmq8j6sggm227cmxy60gadsdv";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
libxml2
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
patches = [
(substituteAll {
src = ./timezone.patch;
tzdata = "${tzdata}/share/zoneinfo/zone.tab";
})
# Use "clock-format" GSettings key that's been moved to granite
./clock-format.patch
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Date & Time Plug";
homepage = https://github.com/elementary/switchboard-plug-datetime;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,13 @@
diff --git a/src/Parser.vala b/src/Parser.vala
index faccb64..432a362 100644
--- a/src/Parser.vala
+++ b/src/Parser.vala
@@ -28,7 +28,7 @@ public class DateTime.Parser : GLib.Object {
return parser;
}
private Parser () {
- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
+ var file = File.new_for_path ("@tzdata@");
if (!file.query_exists ()) {
critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
return;

@ -0,0 +1,45 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-display";
version = "2.1.6";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0pw21bnc79shiynmg7h9bs1x1v011lh07ypn22j73yhmxp6wiypd";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Displays Plug";
homepage = https://github.com/elementary/switchboard-plug-display;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,57 @@
{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig, vala, libgee
, granite, gtk3, libxml2, libgnomekbd, libxklavier, xorg, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-keyboard";
version = "2.3.4";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1997hnhlcp2jmf3z70na42vl1b7i5vxhp7k5ga5sl68dv0g4126y";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
libxml2
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
libgnomekbd
libxklavier
switchboard
];
patches = [
(substituteAll {
src = ./xkb.patch;
config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
})
];
LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libgnomekbd ];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Keyboard Plug";
homepage = https://github.com/elementary/switchboard-plug-keyboard;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,22 @@
diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala
index 297314b..b36509a 100644
--- a/src/Layout/Handler.vala
+++ b/src/Layout/Handler.vala
@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
}
private void parse_layouts () {
- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
if (doc == null) {
critical ("'evdev.xml' not found or permissions missing\n");
return;
@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
public HashTable<string, string> get_variants_for_language (string language) {
var returned_table = new HashTable<string, string> (str_hash, str_equal);
returned_table.set ("", _("Default"));
- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
if (doc == null) {
critical ("'evdev.xml' not found or permissions incorrect\n");
return returned_table;

@ -0,0 +1,45 @@
{ stdenv, fetchFromGitHub, pantheon, fetchpatch, meson, ninja
, pkgconfig, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-mouse-touchpad";
version = "2.1.4";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1zh5472ab01bckrc1py5bqqsal9i9pbgx6i8ap2d4yzhc8sirjrf";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Mouse & Touchpad Plug";
homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,55 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, substituteAll, vala
, libgee, granite, gtk3, networkmanager, networkmanagerapplet, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-network";
version = "2.1.4";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
networkmanager
networkmanagerapplet
switchboard
];
patches = [
(substituteAll {
src = ./nma.patch;
networkmanagerapplet = "${networkmanagerapplet}";
})
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Networking Plug";
homepage = https://github.com/elementary/switchboard-plug-network;
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,43 @@
diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
index 19fd514..bc800d9 100644
--- a/src/Widgets/SettingsButton.vala
+++ b/src/Widgets/SettingsButton.vala
@@ -23,7 +23,7 @@
label = _("Edit Connections…");
clicked.connect (() => {
try {
- var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE);
+ var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE);
appinfo.launch (null, null);
} catch (Error e) {
warning ("%s", e.message);
@@ -61,13 +61,13 @@
label = title;
clicked.connect (() => {
edit_connection_uuid (connection.get_uuid ());
- });
+ });
}
private void edit_connection_uuid (string uuid) {
try {
var appinfo = AppInfo.create_from_commandline (
- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
);
appinfo.launch (null, null);
diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala
index 23c3ae9..c71984c 100644
--- a/src/Widgets/VPN/VPNPage.vala
+++ b/src/Widgets/VPN/VPNPage.vala
@@ -86,8 +86,7 @@ namespace Network {
add_button.tooltip_text = _("Add VPN Connection…");
add_button.clicked.connect (() => {
add_button.sensitive = false;
- var command = new Granite.Services.SimpleCommand ("/usr/bin",
- "nm-connection-editor --create --type=vpn");
+ var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn");
command.done.connect ((exit) => {
if (exit != 0) {
var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor."));

@ -0,0 +1,45 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-notifications";
version = "2.1.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Notifications Plug";
homepage = https://github.com/elementary/switchboard-plug-notifications;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,56 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala
, libgee, granite, gtk3, libaccounts-glib, libsignon-glib, json-glib
, librest, webkitgtk, libsoup, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-onlineaccounts";
version = "2.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "03h8ii8zz59fpp4fwlvyx3m3550096fn7a6w612b1rbj3dqhlmh9";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
granite
gtk3
json-glib
libaccounts-glib
libgee
libsignon-glib
libsoup
librest
switchboard
webkitgtk
];
PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers";
PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services";
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Online Accounts Plug";
homepage = https://github.com/elementary/switchboard-plug-onlineaccounts;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,26 @@
diff --git a/set-wallpaper-contract/set-wallpaper.vala b/set-wallpaper-contract/set-wallpaper.vala
index 3e02089..7ce7041 100644
--- a/set-wallpaper-contract/set-wallpaper.vala
+++ b/set-wallpaper-contract/set-wallpaper.vala
@@ -38,7 +38,7 @@ namespace SetWallpaperContractor {
</transition>
""";
- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds";
+ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds";
private int delay_value = 60;
diff --git a/src/Views/Wallpaper.vala b/src/Views/Wallpaper.vala
index 4be14fa..aa8832f 100644
--- a/src/Views/Wallpaper.vala
+++ b/src/Views/Wallpaper.vala
@@ -38,7 +38,7 @@ public class Wallpaper : Gtk.Grid {
FileAttribute.THUMBNAIL_IS_VALID
};
- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds";
+ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds";
public Switchboard.Plug plug { get; construct set; }
private GLib.Settings settings;

@ -0,0 +1,63 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala
, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop
, gala, wingpanel, plank, switchboard, gettext, gobject-introspection, bamf }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-pantheon-shell";
version = "2.8.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0yy821hl26jfd9hyigqi7nmaf30iww0lhg9qzcwlfzsvvfwnxagi";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gettext
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
bamf
gexiv2
gnome-desktop
elementary-settings-daemon
granite
gtk3
libgee
plank
switchboard
];
patches = [
./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded
./hardcode-gsettings.patch
];
postPatch = ''
substituteInPlace src/Views/Appearance.vala --subst-var-by GALA_GSETTINGS_PATH ${gala}/share/gsettings-schemas/${gala.name}/glib-2.0/schemas
substituteInPlace src/Views/Appearance.vala --subst-var-by WINGPANEL_GSETTINGS_PATH ${wingpanel}/share/gsettings-schemas/${wingpanel.name}/glib-2.0/schemas
'';
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Desktop Plug";
homepage = https://github.com/elementary/switchboard-plug-pantheon-shell;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,23 @@
diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala
index 721d458..17e1c58 100644
--- a/src/Views/Appearance.vala
+++ b/src/Views/Appearance.vala
@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid {
attach (text_size_label, 0, 2);
attach (text_size_modebutton, 1, 2);
- var animations_settings = new Settings (ANIMATIONS_SCHEMA);
+ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
+ SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false);
+
+ var animations_settings = new Settings.full (animations_schema, null, null);
animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT);
- var panel_settings = new Settings (PANEL_SCHEMA);
+ SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
+ SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false);
+
+ var panel_settings = new Settings.full (panel_schema, null, null);
panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT);
var interface_settings = new Settings (INTERFACE_SCHEMA);

@ -0,0 +1,64 @@
{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja
, pkgconfig, vala, libgee, elementary-dpms-helper, elementary-settings-daemon
, makeWrapper, granite, gtk3, dbus, polkit, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-power";
version = "2.3.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
dbus
granite
gtk3
libgee
polkit
switchboard
];
patches = [
(substituteAll {
src = ./dpms-helper-exec.patch;
elementary_dpms_helper = "${elementary-dpms-helper}";
})
./hardcode-gsettings.patch
];
postPatch = ''
substituteInPlace src/MainView.vala --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${elementary-dpms-helper}/share/gsettings-schemas/${elementary-dpms-helper.name}/glib-2.0/schemas
substituteInPlace src/MainView.vala --subst-var-by GSD_GSETTINGS_PATH ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas
'';
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "share/dbus-1/system-services";
PKG_CONFIG_DBUS_1_SYSCONFDIR = "etc";
PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "share/polkit-1/actions";
meta = with stdenv.lib; {
description = "Switchboard Power Plug";
homepage = https://github.com/elementary/switchboard-plug-power;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

@ -0,0 +1,13 @@
diff --git a/src/MainView.vala b/src/MainView.vala
index 1654e68..175f220 100644
--- a/src/MainView.vala
+++ b/src/MainView.vala
@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid {
private static void run_dpms_helper () {
try {
- string[] argv = { "io.elementary.dpms-helper" };
+ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" };
Process.spawn_async (null, argv, Environ.get (),
SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL,
null, null);

@ -0,0 +1,20 @@
diff --git a/src/MainView.vala b/src/MainView.vala
index 1654e68..ad8fed9 100644
--- a/src/MainView.vala
+++ b/src/MainView.vala
@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid {
var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL);
- settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power");
- elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms");
+ SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true);
+ SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false);
+ settings = new GLib.Settings.full (gsd_schema, null, null);
+
+ SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true);
+ SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false);
+ elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null);
battery = new Battery ();
power_supply = new PowerSupply ();

@ -0,0 +1,47 @@
{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig
, vala, libgee, granite, gtk3, cups, switchboard, gobject-introspection }:
stdenv.mkDerivation rec {
pname = "switchboard-plug-printers";
version = "2.1.6";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
};
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkgconfig
vala
];
buildInputs = [
cups
granite
gtk3
libgee
switchboard
];
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
meta = with stdenv.lib; {
description = "Switchboard Printers Plug";
homepage = https://github.com/elementary/switchboard-plug-printers;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

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

Loading…
Cancel
Save