Browse Source

pantheon: init a 5.0

nsd-state-dir
worldofpeace 4 years ago
parent
commit
78da8d668b
  1. 3
      nixos/modules/module-list.nix
  2. 39
      nixos/modules/services/desktops/pantheon/contractor.nix
  3. 36
      nixos/modules/services/desktops/pantheon/files.nix
  4. 50
      nixos/modules/services/desktops/tumbler.nix
  5. 2
      nixos/modules/services/x11/desktop-managers/default.nix
  6. 195
      nixos/modules/services/x11/desktop-managers/pantheon.nix
  7. 47
      nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
  8. 1
      nixos/modules/services/x11/display-managers/lightdm.nix
  9. 1
      nixos/release-combined.nix
  10. 55
      nixos/tests/pantheon.nix
  11. 8
      pkgs/applications/audio/vocal/default.nix
  12. 12
      pkgs/applications/editors/quilter/default.nix
  13. 10
      pkgs/applications/misc/notejot/default.nix
  14. 18
      pkgs/applications/misc/regextester/default.nix
  15. 8
      pkgs/applications/misc/sequeler/default.nix
  16. 9
      pkgs/applications/misc/tootle/default.nix
  17. 6
      pkgs/applications/networking/ftp/taxi/default.nix
  18. 20
      pkgs/applications/networking/transporter/default.nix
  19. 2
      pkgs/applications/networking/weather/meteo/default.nix
  20. 8
      pkgs/applications/office/aesop/default.nix
  21. 12
      pkgs/applications/office/bookworm/default.nix
  22. 17
      pkgs/applications/office/spice-up/default.nix
  23. 14
      pkgs/applications/science/math/nasc/default.nix
  24. 4
      pkgs/data/icons/faba-icon-theme/default.nix
  25. 4
      pkgs/desktops/deepin/deepin-wm/default.nix
  26. 58
      pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
  27. 66
      pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
  28. 64
      pkgs/desktops/pantheon/apps/elementary-camera/default.nix
  29. 80
      pkgs/desktops/pantheon/apps/elementary-code/default.nix
  30. 77
      pkgs/desktops/pantheon/apps/elementary-files/default.nix
  31. 22
      pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch
  32. 78
      pkgs/desktops/pantheon/apps/elementary-music/default.nix
  33. 80
      pkgs/desktops/pantheon/apps/elementary-photos/default.nix
  34. 67
      pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
  35. 28
      pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix
  36. 66
      pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
  37. 64
      pkgs/desktops/pantheon/apps/elementary-videos/default.nix
  38. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
  39. 54
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
  40. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch
  41. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch
  42. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
  43. 47
      pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
  44. 12
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch
  45. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
  46. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch
  47. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
  48. 57
      pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
  49. 22
      pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch
  50. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
  51. 55
      pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
  52. 43
      pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
  53. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
  54. 56
      pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
  55. 26
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch
  56. 63
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
  57. 23
      pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
  58. 64
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
  59. 13
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch
  60. 20
      pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
  61. 47
      pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
  62. 62
      pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
  63. 36
      pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
  64. 45
      pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
  65. 49
      pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
  66. 56
      pkgs/desktops/pantheon/apps/switchboard/default.nix
  67. 25
      pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
  68. 19
      pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
  69. 35
      pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
  70. 55
      pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
  71. 36
      pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
  72. 38
      pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
  73. 222
      pkgs/desktops/pantheon/default.nix
  74. 25
      pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch
  75. 60
      pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
  76. 6
      pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist
  77. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem
  78. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem
  79. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem
  80. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem
  81. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem
  82. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem
  83. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem
  84. 2
      pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem
  85. 25
      pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch
  86. 103
      pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
  87. 13
      pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch
  88. 13
      pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch
  89. 44
      pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
  90. 39
      pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
  91. 8
      pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop
  92. 107
      pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
  93. 50
      pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
  94. 39
      pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
  95. 34
      pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch
  96. 66
      pkgs/desktops/pantheon/desktop/gala/default.nix
  97. 22
      pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
  98. 24
      pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch
  99. 72
      pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
  100. 13
      pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch

3
nixos/modules/module-list.nix

@ -241,6 +241,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
@ -266,6 +268,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

39
nixos/modules/services/desktops/pantheon/contractor.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"
];
};
}

36
nixos/modules/services/desktops/pantheon/files.nix

@ -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
];
};
}

50
nixos/modules/services/desktops/tumbler.nix

@ -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
];
};
}

2
nixos/modules/services/x11/desktop-managers/default.nix

@ -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 = {

195
nixos/modules/services/x11/desktop-managers/pantheon.nix

@ -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;
# 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
file-roller
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" ];
};
};
}

47
nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix

@ -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";
};
}

1
nixos/modules/services/x11/display-managers/lightdm.nix

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

1
nixos/release-combined.nix

@ -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)

55
nixos/tests/pantheon.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");
'';
})

8
pkgs/applications/audio/vocal/default.nix

@ -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

12
pkgs/applications/editors/quilter/default.nix

@ -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

10
pkgs/applications/misc/notejot/default.nix

@ -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

18
pkgs/applications/misc/regextester/default.nix

@ -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 = ''

8
pkgs/applications/misc/sequeler/default.nix

@ -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

9
pkgs/applications/misc/tootle/default.nix

@ -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
];

6
pkgs/applications/networking/ftp/taxi/default.nix

@ -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

20
pkgs/applications/networking/transporter/default.nix

@ -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; {

2
pkgs/applications/networking/weather/meteo/default.nix

@ -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 }:

8
pkgs/applications/office/aesop/default.nix

@ -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

12
pkgs/applications/office/bookworm/default.nix

@ -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

17
pkgs/applications/office/spice-up/default.nix

@ -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

14
pkgs/applications/science/math/nasc/default.nix

@ -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
];

4
pkgs/data/icons/faba-icon-theme/default.nix

@ -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

4
pkgs/desktops/deepin/deepin-wm/default.nix

@ -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

58
pkgs/desktops/pantheon/apps/elementary-calculator/default.nix

@ -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;
};
}

66
pkgs/desktops/pantheon/apps/elementary-calendar/default.nix

@ -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;
};
}

64
pkgs/desktops/pantheon/apps/elementary-camera/default.nix

@ -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;
};
}

80
pkgs/desktops/pantheon/apps/elementary-code/default.nix

@ -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;
};
}

77
pkgs/desktops/pantheon/apps/elementary-files/default.nix

@ -0,0 +1,77 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, gettext, vala
, python3, desktop-file-utils, intltool, 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.3";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0vz6m6kqm9r1scj1jdljbzh019skj8fhf916011wkdfzdpc1zlac";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};
};
nativeBuildInputs = [
desktop-file-utils
gettext
glib-networking
gobject-introspection
intltool
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;
};
}

22
pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch

@ -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 ();

78
pkgs/desktops/pantheon/apps/elementary-music/default.nix

@ -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;
};
}

80
pkgs/desktops/pantheon/apps/elementary-photos/default.nix

@ -0,0 +1,80 @@
{ 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
, scour, webkitgtk, libwebp, appstream, libunity, wrapGAppsHook, gobject-introspection, elementary-icon-theme }:
stdenv.mkDerivation rec {
pname = "photos";
version = "2.6.1";
name = "elementary-${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "063h6jr0p8v46w8bppsss1zlphx21xqwylh57qbyd5xi71z4gl1v";
};
passthru = {
updateScript = pantheon.updateScript {
repoName = pname;
attrPath = "elementary-${pname}";
};