Budgie 10.10 (#478923)
This commit is contained in:
@@ -133,6 +133,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
|
||||
|
||||
- Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details.
|
||||
|
||||
- Budgie has been updated to 10.10, please check the [upstream announcement](https://buddiesofbudgie.org/blog/budgie-10-10-released) for more details.
|
||||
|
||||
- `services.frp` now supports multiple instances through `services.frp.instances` to make it possible to run multiple frp clients or servers at the same time.
|
||||
|
||||
- `hyphen` now supports over 40 language variants through `hyphenDicts` and now allows to enable all supported languages through `hyphenDicts.all`.
|
||||
|
||||
@@ -156,15 +156,19 @@ in
|
||||
fi
|
||||
'';
|
||||
|
||||
# https://docs.buddiesofbudgie.org/10.10/developer/workflow/building-budgie-desktop/#compositor-recommendations
|
||||
programs.labwc.enable = mkDefault true;
|
||||
programs.gtklock.enable = mkDefault true;
|
||||
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
# Budgie Desktop.
|
||||
budgie-backgrounds
|
||||
budgie-control-center'
|
||||
budgie-desktop-services
|
||||
(budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
|
||||
budgie-desktop-view
|
||||
budgie-screensaver
|
||||
budgie-session
|
||||
|
||||
# Required by Budgie Menu.
|
||||
@@ -190,6 +194,17 @@ in
|
||||
mate.mate-system-monitor
|
||||
vlc
|
||||
|
||||
# Supplemental tooling.
|
||||
# See budgie-desktop's with-runtime-dependencies meson option.
|
||||
gammastep
|
||||
grim
|
||||
killall
|
||||
slurp
|
||||
swaybg
|
||||
swayidle
|
||||
wdisplays
|
||||
wlopm
|
||||
|
||||
# Desktop themes.
|
||||
qogir-theme
|
||||
qogir-icon-theme
|
||||
@@ -224,9 +239,6 @@ in
|
||||
services.xserver.updateDbusEnvironment = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# Required by Budgie Screensaver.
|
||||
security.pam.services.budgie-screensaver = { };
|
||||
|
||||
# Required by Budgie's Polkit Dialog.
|
||||
security.polkit.enable = mkDefault true;
|
||||
|
||||
@@ -240,6 +252,7 @@ in
|
||||
xdg.portal.enable = mkDefault true; # for BCC's Applications panel.
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk # provides a XDG Portals implementation.
|
||||
xdg-desktop-portal-wlr # for screenshot and screencast.
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.budgie-desktop ];
|
||||
|
||||
@@ -274,11 +287,7 @@ in
|
||||
# Register packages for DBus.
|
||||
services.dbus.packages = [
|
||||
budgie-control-center'
|
||||
];
|
||||
|
||||
# Register packages for udev.
|
||||
services.udev.packages = with pkgs; [
|
||||
magpie
|
||||
pkgs.budgie-desktop-services
|
||||
];
|
||||
|
||||
# Shell integration for MATE Terminal.
|
||||
|
||||
+21
-26
@@ -29,37 +29,38 @@
|
||||
pkgs.budgie-analogue-clock-applet
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.wlrctl ];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
user = nodes.machine.users.users.alice;
|
||||
env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0";
|
||||
su = command: "su - ${user.name} -c '${env} ${command}'";
|
||||
env = "XDG_RUNTIME_DIR=/run/user/${toString user.uid}";
|
||||
in
|
||||
''
|
||||
with subtest("Wait for login"):
|
||||
machine.wait_for_x()
|
||||
machine.wait_for_unit("display-manager.service")
|
||||
machine.wait_for_file("/run/user/${toString user.uid}/wayland-0")
|
||||
machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"')
|
||||
machine.wait_for_file("${user.home}/.Xauthority")
|
||||
machine.succeed("xauth merge ${user.home}/.Xauthority")
|
||||
machine.wait_until_succeeds('journalctl --grep "Compositor is fully initialized"')
|
||||
|
||||
with subtest("Check that logging in has given the user ownership of devices"):
|
||||
# Change back to /dev/snd/timer after systemd-258.1
|
||||
machine.succeed("getfacl -p /dev/dri/card0 | grep -q ${user.name}")
|
||||
|
||||
with subtest("Check if Budgie session components actually start"):
|
||||
for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "bsd-media-keys", "gsd-xsettings"]:
|
||||
for i in ["budgie-daemon", "budgie-panel", "labwc", "budgie-session", "swaybg", "swayidle"]:
|
||||
machine.wait_until_succeeds(f"pgrep {i}")
|
||||
machine.wait_until_succeeds("pgrep -xf ${pkgs.gnome-settings-daemon}/libexec/gsd-sound")
|
||||
machine.wait_until_succeeds("pgrep -xf ${pkgs.budgie-desktop-services}/bin/org.buddiesofbudgie.Services")
|
||||
machine.wait_until_succeeds("pgrep -xf /run/current-system/sw/bin/org.buddiesofbudgie.budgie-desktop-view")
|
||||
# We don't check xwininfo for budgie-wm.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754
|
||||
machine.wait_for_window("budgie-daemon")
|
||||
machine.wait_for_window("budgie-panel")
|
||||
|
||||
with subtest("Check if various environment variables are set"):
|
||||
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ"
|
||||
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-panel)/environ"
|
||||
machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie'")
|
||||
machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'")
|
||||
# From the nixos/budgie module
|
||||
@@ -67,28 +68,22 @@
|
||||
|
||||
with subtest("Open run dialog"):
|
||||
machine.send_key("alt-f2")
|
||||
machine.wait_for_window("budgie-run-dialog")
|
||||
machine.wait_until_succeeds("pgrep -xf budgie-run-dialog")
|
||||
machine.sleep(2)
|
||||
machine.screenshot("run_dialog")
|
||||
machine.send_key("esc")
|
||||
|
||||
with subtest("Open Budgie Control Center"):
|
||||
machine.succeed("${su "budgie-control-center >&2 &"}")
|
||||
machine.wait_for_window("Budgie Control Center")
|
||||
|
||||
with subtest("Lock the screen"):
|
||||
machine.succeed("${su "budgie-screensaver-command -l >&2 &"}")
|
||||
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'")
|
||||
machine.sleep(2)
|
||||
machine.send_chars("${user.password}", delay=0.5)
|
||||
machine.screenshot("budgie_screensaver")
|
||||
machine.send_chars("\n")
|
||||
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'")
|
||||
machine.sleep(2)
|
||||
machine.succeed("su - ${user.name} -c '${env} budgie-control-center >&2 &'")
|
||||
machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep org.buddiesofbudgie.ControlCenter'")
|
||||
machine.wait_for_text("Network|Ethernet|Control|Connected")
|
||||
|
||||
with subtest("Open GNOME terminal"):
|
||||
machine.succeed("${su "gnome-terminal"}")
|
||||
machine.wait_for_window("${user.name}@machine: ~")
|
||||
machine.succeed("su - ${user.name} -c '${env} gnome-terminal >&2 &'")
|
||||
machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep ${user.name}@machine'")
|
||||
|
||||
with subtest("Check if labwc bridge is working"):
|
||||
machine.wait_until_succeeds("cat /home/${user.name}/.config/budgie-desktop/labwc/rc.xml | grep Qogir")
|
||||
|
||||
with subtest("Check if Budgie has ever coredumped"):
|
||||
machine.fail("coredumpctl --json=short | grep budgie")
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-analogue-clock-applet";
|
||||
version = "2.2";
|
||||
version = "2.2-unstable-2026-01-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "samlane-ma";
|
||||
repo = "analogue-clock-applet";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-8kqDEzcUqg/TvwpazYQt1oQDVC00fOxFLVsKYMDuV9I=";
|
||||
rev = "22b04faeea8f95eb83ad96ae89529560811d76d9";
|
||||
hash = "sha256-8ZFExgE1aJ8XN4+ugSzI34UjdPHbtbhJ+3xetcLZ6sg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -38,18 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libpeas2
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/samlane-ma/analogue-clock-applet/issues/7
|
||||
substituteInPlace budgie-analogue-clock-widget/src/meson.build \
|
||||
--replace-fail "dependency('budgie-raven-plugin-1.0')" "dependency('budgie-raven-plugin-2.0')"
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
# The meson option actually enables libpeas2 support
|
||||
# https://github.com/BuddiesOfBudgie/budgie-desktop/issues/749
|
||||
"-Dfor-wayland=true"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Introduction panel default applications
|
||||
# This file contains full paths to .desktop files to display
|
||||
# Lines starting with # are comments
|
||||
@wdisplays@/share/applications/network.cycles.wdisplays.desktop
|
||||
@budgie_desktop@/share/applications/org.buddiesofbudgie.BudgieDesktopSettings.desktop
|
||||
@@ -4,11 +4,8 @@
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
accountsservice,
|
||||
adwaita-icon-theme,
|
||||
budgie-desktop,
|
||||
cheese,
|
||||
clutter,
|
||||
clutter-gtk,
|
||||
colord,
|
||||
colord-gtk,
|
||||
cups,
|
||||
@@ -25,14 +22,11 @@
|
||||
gnome-bluetooth_1_0,
|
||||
gnome-color-manager,
|
||||
gnome-desktop,
|
||||
gnome-remote-desktop,
|
||||
gnome-settings-daemon,
|
||||
gnome-user-share,
|
||||
gsettings-desktop-schemas,
|
||||
gsound,
|
||||
gtk3,
|
||||
ibus,
|
||||
libcanberra-gtk3,
|
||||
libepoxy,
|
||||
libgnomekbd,
|
||||
libgtop,
|
||||
@@ -49,7 +43,6 @@
|
||||
libxslt,
|
||||
meson,
|
||||
modemmanager,
|
||||
mutter,
|
||||
networkmanager,
|
||||
networkmanagerapplet,
|
||||
ninja,
|
||||
@@ -63,21 +56,30 @@
|
||||
tzdata,
|
||||
udisks,
|
||||
upower,
|
||||
wdisplays,
|
||||
webp-pixbuf-loader,
|
||||
wrapGAppsHook3,
|
||||
enableSshSocket ? false,
|
||||
}:
|
||||
|
||||
let
|
||||
introduction_list = (
|
||||
replaceVars ./introduction.list {
|
||||
budgie_desktop = budgie-desktop;
|
||||
inherit wdisplays;
|
||||
}
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-control-center";
|
||||
version = "1.4.1";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-control-center";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Je3X1V4U2t0LMxWwtoYZKEI56IS4zK/w6OL615tqKkk=";
|
||||
hash = "sha256-sdAzReZVAZ5omLOhly/l3buiw01eem+k9+3RbVPzS2g=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -106,8 +108,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
accountsservice
|
||||
clutter
|
||||
clutter-gtk
|
||||
colord
|
||||
colord-gtk
|
||||
fontconfig
|
||||
@@ -117,18 +117,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
glib-networking
|
||||
gnome-desktop
|
||||
gst_all_1.gstreamer
|
||||
adwaita-icon-theme
|
||||
cheese
|
||||
gnome-bluetooth_1_0
|
||||
gnome-remote-desktop
|
||||
gnome-settings-daemon
|
||||
gnome-user-share
|
||||
mutter
|
||||
gsettings-desktop-schemas
|
||||
gsound
|
||||
gtk3
|
||||
ibus
|
||||
libcanberra-gtk3
|
||||
libepoxy
|
||||
libgtop
|
||||
libgudev
|
||||
@@ -137,7 +132,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libnma
|
||||
libpulseaudio
|
||||
libpwquality
|
||||
librsvg
|
||||
libsecret
|
||||
libwacom
|
||||
libxml2
|
||||
@@ -167,6 +161,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
}
|
||||
}"
|
||||
|
||||
install -Dm644 ${introduction_list} $out/share/budgie-control-center/introduction/introduction.list
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
@@ -176,18 +172,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Thumbnailers (for setting user profile pictures)
|
||||
--prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
|
||||
--prefix XDG_DATA_DIRS : "${librsvg}/share"
|
||||
# WM keyboard shortcuts
|
||||
--prefix XDG_DATA_DIRS : "${mutter}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
# Fix GCC 14 build.
|
||||
# cc-display-panel.c:962:41: error: passing argument 1 of 'gtk_widget_set_sensitive'
|
||||
# from incompatible pointer type [-Wincompatible-pointer-types]
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitea,
|
||||
cmake,
|
||||
kdePackages,
|
||||
qt6,
|
||||
toml11,
|
||||
buildPackages,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-desktop-services";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "forge.moderndesktop.dev";
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-desktop-services";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-YOa2pUePp33d1xKF7HrBX2EkjEQsRmzoiJMq72fl3CE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
kdePackages.extra-cmake-modules
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kdePackages.kwayland
|
||||
qt6.qtbase
|
||||
toml11
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace cmake/ECMFindModuleHelpersStub.cmake --replace-fail \
|
||||
'/usr/share/ECM/modules//ECMFindModuleHelpers.cmake' \
|
||||
'${buildPackages.kdePackages.extra-cmake-modules}/share/ECM/modules/ECMFindModuleHelpers.cmake'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Future central hub and orchestrator for Budgie Desktop";
|
||||
mainProgram = "org.buddiesofbudgie.Services";
|
||||
homepage = "https://forge.moderndesktop.dev/BuddiesOfBudgie/budgie-desktop-services";
|
||||
license = lib.licenses.mpl20;
|
||||
teams = [ lib.teams.budgie ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -5,7 +5,9 @@
|
||||
desktop-file-utils,
|
||||
glib,
|
||||
gtk3,
|
||||
gtk-layer-shell,
|
||||
intltool,
|
||||
libxfce4windowing,
|
||||
meson,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
@@ -16,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-desktop-view";
|
||||
version = "1.3";
|
||||
version = "10.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-desktop-view";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-k6VfAGWvUarhBFnREasOvWH3M9uuT5SFUpMFmKo1fmE=";
|
||||
hash = "sha256-ro+/Aqsyr9py3SEdsRg+eiQLDkFI0wI4MMdCyH02E3U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -38,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
libxfce4windowing
|
||||
];
|
||||
|
||||
mesonFlags = [ (lib.mesonBool "werror" false) ];
|
||||
|
||||
@@ -4,58 +4,61 @@
|
||||
fetchFromGitHub,
|
||||
accountsservice,
|
||||
alsa-lib,
|
||||
budgie-screensaver,
|
||||
budgie-desktop-services,
|
||||
budgie-session,
|
||||
docbook-xsl-nons,
|
||||
glib,
|
||||
gnome-desktop,
|
||||
gnome-settings-daemon,
|
||||
gobject-introspection,
|
||||
graphene,
|
||||
gst_all_1,
|
||||
gtk-doc,
|
||||
gtk3,
|
||||
gtk-layer-shell,
|
||||
ibus,
|
||||
intltool,
|
||||
libcanberra-gtk3,
|
||||
libgee,
|
||||
libGL,
|
||||
libgudev,
|
||||
libnotify,
|
||||
libpeas2,
|
||||
libpulseaudio,
|
||||
libuuid,
|
||||
libwacom,
|
||||
libwnck,
|
||||
magpie,
|
||||
libgbm,
|
||||
libxfce4windowing,
|
||||
meson,
|
||||
mutter,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
pkg-config,
|
||||
polkit,
|
||||
python3,
|
||||
sassc,
|
||||
testers,
|
||||
udev,
|
||||
upower,
|
||||
vala,
|
||||
validatePkgConfig,
|
||||
libxfce4windowing,
|
||||
wrapGAppsHook3,
|
||||
zenity,
|
||||
}:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages (
|
||||
pp: with pp; [
|
||||
psutil
|
||||
pygobject3
|
||||
systemd-python
|
||||
]
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-desktop";
|
||||
version = "10.9.4";
|
||||
version = "10.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-desktop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-e1kkmzSYX8TwiY0IIZYIK/FgMbZ/8PqkUn8pk3CcXHU=";
|
||||
hash = "sha256-6SRnub0FMRE9AcHwsnYH4WMdG2kqEpl5dfHy56FwrGU=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -76,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
sassc
|
||||
vala
|
||||
validatePkgConfig
|
||||
wrapGAppsHook3
|
||||
@@ -84,54 +88,50 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
accountsservice
|
||||
alsa-lib
|
||||
budgie-screensaver
|
||||
glib
|
||||
gnome-desktop
|
||||
gnome-settings-daemon
|
||||
mutter
|
||||
zenity
|
||||
graphene
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
ibus
|
||||
libcanberra-gtk3
|
||||
libgee
|
||||
libGL
|
||||
libgudev
|
||||
libnotify
|
||||
libpulseaudio
|
||||
libuuid
|
||||
libwacom
|
||||
libwnck
|
||||
magpie
|
||||
libgbm
|
||||
polkit
|
||||
sassc
|
||||
udev
|
||||
upower
|
||||
libxfce4windowing
|
||||
mutter # org.gnome.mutter.keybindings
|
||||
pythonEnv
|
||||
upower
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
# budgie-1.0.pc, budgie-raven-plugin-1.0.pc
|
||||
# budgie-3.0.pc, budgie-raven-plugin-3.0.pc
|
||||
libpeas2
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# FIXME: The meson option name is confusing
|
||||
# https://github.com/BuddiesOfBudgie/budgie-desktop/pull/739#discussion_r2359421711
|
||||
"-Dbsd-libexecdir=${gnome-settings-daemon}/libexec"
|
||||
"-Dgsd-libexecdir=${gnome-settings-daemon}/libexec"
|
||||
"-Dwith-runtime-dependencies=false"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/session/budgie-desktop.in \
|
||||
--replace-fail "@bindir@/org.buddiesofbudgie.Services" "${lib.getExe budgie-desktop-services}" \
|
||||
--replace-fail "@gsd_libexecdir@/budgie-session-compositor-ready" "${budgie-session}/libexec/budgie-session-compositor-ready"
|
||||
|
||||
chmod +x src/bridges/labwc/labwc_bridge.py
|
||||
substituteInPlace src/bridges/labwc/org.buddiesofbudgie.labwc-bridge.desktop.in \
|
||||
--replace-fail "Exec=python3 @libexecdir@/labwc_bridge.py" "Exec=@libexecdir@/labwc_bridge.py"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
providedSessions = [ "budgie-desktop" ];
|
||||
|
||||
tests = {
|
||||
inherit (nixosTests) budgie;
|
||||
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
|
||||
};
|
||||
|
||||
tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
@@ -147,8 +147,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
teams = [ lib.teams.budgie ];
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"budgie-2.0"
|
||||
"budgie-raven-plugin-2.0"
|
||||
"budgie-3.0"
|
||||
"budgie-raven-plugin-3.0"
|
||||
"budgie-theme-1.0"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
dbus-glib,
|
||||
glib,
|
||||
gnome-desktop,
|
||||
gtk3,
|
||||
intltool,
|
||||
libgnomekbd,
|
||||
libX11,
|
||||
linux-pam,
|
||||
meson,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
systemd,
|
||||
testers,
|
||||
wrapGAppsHook3,
|
||||
libxxf86vm,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-screensaver";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-screensaver";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-N8x9hdbaMDisTbQPJedNO4UMLnCn+Q2hhm4udJZgQlc=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
intltool
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dbus-glib
|
||||
glib
|
||||
gnome-desktop
|
||||
gtk3
|
||||
libgnomekbd
|
||||
libX11
|
||||
linux-pam
|
||||
systemd
|
||||
libxxf86vm
|
||||
];
|
||||
|
||||
# Fix GCC 14 build.
|
||||
# https://hydra.nixos.org/build/282164464/nixlog/3
|
||||
env.NIX_CFLAGS_COMPILE = "-D_POSIX_C_SOURCE -Wno-error=implicit-function-declaration";
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "budgie-screensaver-command --version";
|
||||
};
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Fork of old GNOME Screensaver for purposes of providing an authentication prompt on wake";
|
||||
homepage = "https://github.com/BuddiesOfBudgie/budgie-screensaver";
|
||||
changelog = "https://github.com/BuddiesOfBudgie/budgie-screensaver/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl2Only;
|
||||
teams = [ lib.teams.budgie ];
|
||||
mainProgram = "budgie-screensaver";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -27,9 +27,9 @@ index 327c7c7f..301ec7ee 100644
|
||||
@@ -219,7 +219,7 @@ require_dbus_session (int argc,
|
||||
}
|
||||
new_argv[i + 2] = NULL;
|
||||
|
||||
|
||||
- if (!execvp ("dbus-launch", new_argv)) {
|
||||
+ if (!execvp ("@dbusLaunch@", new_argv)) {
|
||||
g_set_error (error,
|
||||
g_set_error (error,
|
||||
G_SPAWN_ERROR,
|
||||
G_SPAWN_ERROR_FAILED,
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "budgie-session";
|
||||
version = "0.9.1";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "budgie-session";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI=";
|
||||
hash = "sha256-KBNX1jbQ2yv+5rymoB9/w5V3bRZhBdZIJoysp9cNgn4=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
fetchFromGitHub,
|
||||
glib,
|
||||
gtk3,
|
||||
gtk-layer-shell,
|
||||
libgee,
|
||||
libgtop,
|
||||
libpeas2,
|
||||
@@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
budgie-desktop
|
||||
glib
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
libgee
|
||||
libgtop
|
||||
libpeas2
|
||||
@@ -53,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# https://github.com/prateekmedia/budgie-systemmonitor-applet/issues/4
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "dependency('libpeas-1.0', version: '>= 1.8.0')" "dependency('libpeas-2')" \
|
||||
--replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-2.0')"
|
||||
--replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-3.0')"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
accountsservice,
|
||||
budgie-desktop,
|
||||
gtk3,
|
||||
gtk-layer-shell,
|
||||
intltool,
|
||||
libgee,
|
||||
libpeas2,
|
||||
@@ -39,11 +40,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
accountsservice
|
||||
budgie-desktop
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
libgee
|
||||
libpeas2
|
||||
sassc
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "dependency('budgie-2.0', version: '>= 3')" "dependency('budgie-3.0')"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
runCommand,
|
||||
lib,
|
||||
fetchpatch,
|
||||
stdenv,
|
||||
pkg-config,
|
||||
gnome-settings-daemon,
|
||||
gettext,
|
||||
gobject-introspection,
|
||||
cairo,
|
||||
colord,
|
||||
lcms2,
|
||||
pango,
|
||||
json-glib,
|
||||
libstartup_notification,
|
||||
libcanberra,
|
||||
ninja,
|
||||
xvfb-run,
|
||||
xkeyboard_config,
|
||||
libxcvt,
|
||||
libxkbfile,
|
||||
libXdamage,
|
||||
libxkbcommon,
|
||||
libXtst,
|
||||
libinput,
|
||||
libdrm,
|
||||
libgbm,
|
||||
gsettings-desktop-schemas,
|
||||
glib,
|
||||
gtk3,
|
||||
gnome-desktop,
|
||||
pipewire,
|
||||
libgudev,
|
||||
libwacom,
|
||||
mesa-gl-headers,
|
||||
meson,
|
||||
nix-update-script,
|
||||
validatePkgConfig,
|
||||
xorgserver,
|
||||
python3,
|
||||
wrapGAppsHook3,
|
||||
gi-docgen,
|
||||
sysprof,
|
||||
testers,
|
||||
libsysprof-capture,
|
||||
desktop-file-utils,
|
||||
libcap_ng,
|
||||
graphene,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "magpie";
|
||||
version = "0.9.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
"devdoc"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuddiesOfBudgie";
|
||||
repo = "magpie";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-a8e0uzbS0HEH/0sOOnwIiQI0/BizKbpdlVdfb3IbmcU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with separate sysprof.
|
||||
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2572
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch";
|
||||
hash = "sha256-/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU=";
|
||||
})
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Degl_device=true"
|
||||
"-Dprofiler=true"
|
||||
"-Ddocs=true"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
# required for pkg-config to detect magpie-clutter
|
||||
json-glib
|
||||
libXtst
|
||||
libcap_ng
|
||||
graphene
|
||||
mesa-gl-headers
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
libxcvt
|
||||
meson
|
||||
ninja
|
||||
xvfb-run
|
||||
pkg-config
|
||||
python3
|
||||
validatePkgConfig
|
||||
wrapGAppsHook3
|
||||
gi-docgen
|
||||
xorgserver
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
glib
|
||||
gnome-desktop
|
||||
gnome-settings-daemon
|
||||
gobject-introspection
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
libcanberra
|
||||
libdrm
|
||||
libgbm
|
||||
libgudev
|
||||
libinput
|
||||
libstartup_notification
|
||||
libwacom
|
||||
libxkbcommon
|
||||
libxkbfile
|
||||
libXdamage
|
||||
colord
|
||||
lcms2
|
||||
pango
|
||||
pipewire
|
||||
sysprof # for D-Bus interfaces
|
||||
libsysprof-capture
|
||||
xkeyboard_config
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/backends/native/gen-default-modes.py
|
||||
# Magpie does not install any .desktop files
|
||||
substituteInPlace scripts/mesonPostInstall.sh --replace "update-desktop-database" "# update-desktop-database"
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3187
|
||||
substituteInPlace meson.build \
|
||||
--replace "dependency('sysprof-4')" "dependency('sysprof-6')"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||
# TODO: Move this into a directory devhelp can find.
|
||||
moveToOutput "share/magpie-0/doc" "$devdoc"
|
||||
'';
|
||||
|
||||
# Install udev files into our own tree.
|
||||
env.PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
passthru = {
|
||||
libdir = "${finalAttrs.finalPackage}/lib/magpie-0";
|
||||
|
||||
tests = {
|
||||
libdirExists = runCommand "magpie-libdir-exists" { } ''
|
||||
if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then
|
||||
echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one."
|
||||
exit 1
|
||||
fi
|
||||
touch $out
|
||||
'';
|
||||
|
||||
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
|
||||
};
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Softish fork of Mutter 43.x";
|
||||
homepage = "https://github.com/BuddiesOfBudgie/magpie";
|
||||
changelog = "https://github.com/BuddiesOfBudgie/magpie/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
teams = [ lib.teams.budgie ];
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"libmagpie-0"
|
||||
"magpie-clutter-0"
|
||||
"magpie-cogl-0"
|
||||
"magpie-cogl-pango-0"
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -391,6 +391,7 @@ mapAliases {
|
||||
brogue = warnAlias "Use 'brogue-ce' instead of 'brogue' for updated releases" brogue-ce; # Added 2025-10-04
|
||||
btanks = throw "'btanks' has been removed as it's been unmaintained since 2010 and fails to build"; # Added 2025-11-29
|
||||
buck = throw "'buck' has been removed has it was deprecated and archived upstream. Consider moving to buck2"; # Added 2026-01-16
|
||||
budgie-screensaver = throw "'budgie-screensaver' has been removed, no longer used by budgie-desktop."; # Added 2025-11-19
|
||||
buildBowerComponents = throw "buildBowerComponents has been removed as bower was removed. It is recommended to migrate to yarn."; # Added 2025-09-17
|
||||
buildGo123Module = throw "Go 1.23 is end-of-life, and 'buildGo123Module' has been removed. Please use a newer builder version."; # Added 2025-08-13
|
||||
buildPlatform = warnAlias "'buildPlatform' has been renamed to/replaced by 'stdenv.buildPlatform'" stdenv.buildPlatform; # Converted to warning 2025-10-28
|
||||
@@ -1165,6 +1166,7 @@ mapAliases {
|
||||
MACS2 = throw "'MACS2' has been renamed to/replaced by 'macs2'"; # Converted to throw 2025-10-27
|
||||
magma_2_6_2 = throw "'magma_2_6_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
|
||||
magma_2_7_2 = throw "'magma_2_7_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
|
||||
magpie = throw "'magpie' has been removed, no longer used by budgie-desktop."; # Added 2025-11-19
|
||||
mailcore2 = throw "'mailcore2' has been removed due to lack of upstream maintenance."; # Added 2025-06-09
|
||||
mailnag = throw "mailnag has been removed because it has been marked as broken since 2022."; # Added 2025-10-12
|
||||
mailnagWithPlugins = throw "mailnagWithPlugins has been removed because mailnag has been marked as broken since 2022."; # Added 2025-10-12
|
||||
|
||||
Reference in New Issue
Block a user