nixpkgs/pkgs/desktops/pantheon/default.nix
2024-08-24 11:52:42 +08:00

247 lines
8.5 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, lib, gnome }:
lib.makeScope pkgs.newScope (self: with self; {
switchboardPlugs = [
switchboard-plug-about
switchboard-plug-applications
switchboard-plug-bluetooth
switchboard-plug-datetime
switchboard-plug-display
switchboard-plug-keyboard
switchboard-plug-mouse-touchpad
switchboard-plug-network
switchboard-plug-notifications
switchboard-plug-onlineaccounts
switchboard-plug-pantheon-shell
switchboard-plug-power
switchboard-plug-printers
switchboard-plug-security-privacy
switchboard-plug-sharing
switchboard-plug-sound
switchboard-plug-wacom
];
wingpanelIndicators = [
wingpanel-applications-menu
wingpanel-indicator-bluetooth
wingpanel-indicator-datetime
wingpanel-indicator-keyboard
wingpanel-indicator-network
wingpanel-indicator-nightlight
wingpanel-indicator-notifications
wingpanel-indicator-power
wingpanel-indicator-sound
wingpanel-quick-settings
];
maintainers = lib.teams.pantheon.members;
mutter = pkgs.gnome.mutter43;
# Using 43 to match Mutter used in Pantheon
gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon43;
elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
touchegg = pkgs.touchegg.override { withPantheon = true; };
#### APPS
appcenter = callPackage ./apps/appcenter { };
elementary-calculator = callPackage ./apps/elementary-calculator { };
elementary-calendar = callPackage ./apps/elementary-calendar { };
elementary-camera = callPackage ./apps/elementary-camera { };
elementary-code = callPackage ./apps/elementary-code { };
elementary-dock = callPackage ./apps/elementary-dock { };
elementary-files = callPackage ./apps/elementary-files { };
elementary-feedback = callPackage ./apps/elementary-feedback { };
elementary-iconbrowser = callPackage ./apps/elementary-iconbrowser { };
elementary-mail = callPackage ./apps/elementary-mail { };
elementary-music = callPackage ./apps/elementary-music { };
elementary-photos = callPackage ./apps/elementary-photos { };
elementary-screenshot = callPackage ./apps/elementary-screenshot { };
elementary-tasks = callPackage ./apps/elementary-tasks { };
elementary-terminal = callPackage ./apps/elementary-terminal { };
elementary-videos = callPackage ./apps/elementary-videos { };
epiphany = pkgs.epiphany.override { withPantheon = true; };
sideload = callPackage ./apps/sideload { };
#### DESKTOP
elementary-default-settings = callPackage ./desktop/elementary-default-settings { };
elementary-greeter = callPackage ./desktop/elementary-greeter { };
elementary-onboarding = callPackage ./desktop/elementary-onboarding { };
elementary-print-shim = callPackage ./desktop/elementary-print-shim { };
elementary-session-settings = callPackage ./desktop/elementary-session-settings {
inherit (gnome) gnome-session;
};
elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { };
file-roller-contract = callPackage ./desktop/file-roller-contract { };
gala = callPackage ./desktop/gala { };
wingpanel = callPackage ./desktop/wingpanel { };
wingpanel-with-indicators = callPackage ./desktop/wingpanel/wrapper.nix {
indicators = null;
};
#### LIBRARIES
granite = callPackage ./granite { };
granite7 = callPackage ./granite/7 { };
#### SERVICES
contractor = callPackage ./services/contractor { };
elementary-bluetooth-daemon = callPackage ./services/elementary-bluetooth-daemon { };
elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
elementary-notifications = callPackage ./services/elementary-notifications { };
elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { };
pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { };
pantheon-agent-polkit = callPackage ./services/pantheon-agent-polkit { };
xdg-desktop-portal-pantheon = callPackage ./services/xdg-desktop-portal-pantheon { };
#### WINGPANEL INDICATORS
wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { };
wingpanel-indicator-a11y = callPackage ./desktop/wingpanel-indicators/a11y { };
wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { };
wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { };
wingpanel-indicator-keyboard = callPackage ./desktop/wingpanel-indicators/keyboard { };
wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { };
wingpanel-indicator-nightlight = callPackage ./desktop/wingpanel-indicators/nightlight { };
wingpanel-indicator-notifications = callPackage ./desktop/wingpanel-indicators/notifications { };
wingpanel-indicator-power = callPackage ./desktop/wingpanel-indicators/power { };
wingpanel-indicator-sound = callPackage ./desktop/wingpanel-indicators/sound { };
wingpanel-quick-settings = callPackage ./desktop/wingpanel-indicators/quick-settings { };
#### SWITCHBOARD
switchboard = callPackage ./apps/switchboard { };
switchboard-with-plugs = callPackage ./apps/switchboard/wrapper.nix {
plugs = null;
};
switchboard-plug-about = callPackage ./apps/switchboard-plugs/about { };
switchboard-plug-applications = callPackage ./apps/switchboard-plugs/applications { };
switchboard-plug-bluetooth = callPackage ./apps/switchboard-plugs/bluetooth { };
switchboard-plug-datetime = callPackage ./apps/switchboard-plugs/datetime { };
switchboard-plug-display = callPackage ./apps/switchboard-plugs/display { };
switchboard-plug-keyboard = callPackage ./apps/switchboard-plugs/keyboard { };
switchboard-plug-mouse-touchpad = callPackage ./apps/switchboard-plugs/mouse-touchpad { };
switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { };
switchboard-plug-notifications = callPackage ./apps/switchboard-plugs/notifications { };
switchboard-plug-onlineaccounts = callPackage ./apps/switchboard-plugs/onlineaccounts { };
switchboard-plug-pantheon-shell = callPackage ./apps/switchboard-plugs/pantheon-shell { };
switchboard-plug-power = callPackage ./apps/switchboard-plugs/power { };
switchboard-plug-printers = callPackage ./apps/switchboard-plugs/printers { };
switchboard-plug-security-privacy = callPackage ./apps/switchboard-plugs/security-privacy { };
switchboard-plug-sharing = callPackage ./apps/switchboard-plugs/sharing { };
switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { };
switchboard-plug-wacom = callPackage ./apps/switchboard-plugs/wacom { };
### ARTWORK
elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { };
elementary-icon-theme = callPackage ./artwork/elementary-icon-theme { };
elementary-redacted-script = callPackage ./artwork/elementary-redacted-script { };
elementary-sound-theme = callPackage ./artwork/elementary-sound-theme { };
elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { };
### THIRD-PARTY
# As suggested in https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654
# please avoid putting third-party packages in the `pantheon` scope.
}) // lib.optionalAttrs config.allowAliases {
### ALIASES
# They need to be outside the scope or they will shadow the attributes from parent scope.
vala = throw "The pantheon.vala alias was removed on 2022-02-02, please use pkgs.vala directly."; # added 2019-10-10
cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1."; # added 2020-04-06
elementary-screenshot-tool = throw "The pantheon.elementary-screenshot-tool alias was removed on 2022-02-02, please use pantheon.elementary-screenshot directly."; # added 2021-07-21
evince = pkgs.evince; # added 2022-03-18
extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01
file-roller = pkgs.file-roller; # added 2022-03-12
gnome-bluetooth-contract = throw "pantheon.gnome-bluetooth-contract has been removed, abandoned by upstream."; # added 2022-06-30
notes-up = throw "The pantheon.notes-up alias was removed on 2022-02-02, please use pkgs.notes-up directly."; # added 2021-12-18
switchboard-plug-a11y = throw "pantheon.switchboard-plug-a11y has been removed, abandoned by upstream."; # added 2024-08-23
wingpanel-indicator-session = throw "pantheon.wingpanel-indicator-session has been removed, abandoned by upstream."; # added 2024-08-23
}