nixos: remove Deepin

K900 314fe5f1 15a586f2

Changed files
+10 -505
nixos
pkgs
by-name
ca
calamares-nixos-extensions
src
config
modules
nixos
-4
nixos/modules/module-list.nix
···
./services/desktops/blueman.nix
./services/desktops/bonsaid.nix
./services/desktops/cpupower-gui.nix
-
./services/desktops/deepin/app-services.nix
-
./services/desktops/deepin/dde-api.nix
-
./services/desktops/deepin/dde-daemon.nix
-
./services/desktops/deepin/deepin-anything.nix
./services/desktops/dleyna.nix
./services/desktops/espanso.nix
./services/desktops/flatpak.nix
+10
nixos/modules/rename.nix
···
"services"
"dd-agent"
] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.")
+
(mkRemovedOptionModule [
+
"services"
+
"deepin"
+
] "the Deepin desktop environment has been removed from nixpkgs due to lack of maintenance.")
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
(mkRemovedOptionModule [ "services" "dnscrypt-wrapper" ] ''
The dnscrypt-wrapper module was removed since the project has been effectively unmaintained since 2018;
···
"desktopManager"
"plasma5"
] "the Plasma 5 desktop environment has been removed from nixpkgs, as it has reached EOL upstream.")
+
(mkRemovedOptionModule [
+
"services"
+
"xserver"
+
"desktopManager"
+
"deepin"
+
] "the Deepin desktop environment has been removed from nixpkgs due to lack of maintenance.")
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
as the underlying package isn't being maintained. Working alternatives are
-46
nixos/modules/services/desktops/deepin/app-services.nix
···
-
{
-
config,
-
pkgs,
-
lib,
-
...
-
}:
-
{
-
-
meta = {
-
maintainers = lib.teams.deepin.members;
-
};
-
-
###### interface
-
-
options = {
-
-
services.deepin.app-services = {
-
-
enable = lib.mkEnableOption "service collection of DDE applications, including dconfig-center";
-
-
};
-
-
};
-
-
###### implementation
-
-
config = lib.mkIf config.services.deepin.app-services.enable {
-
-
users.groups.dde-dconfig-daemon = { };
-
users.users.dde-dconfig-daemon = {
-
description = "Dconfig daemon user";
-
home = "/var/lib/dde-dconfig-daemon";
-
createHome = true;
-
group = "dde-dconfig-daemon";
-
isSystemUser = true;
-
};
-
-
environment.systemPackages = [ pkgs.deepin.dde-app-services ];
-
systemd.packages = [ pkgs.deepin.dde-app-services ];
-
services.dbus.packages = [ pkgs.deepin.dde-app-services ];
-
-
environment.pathsToLink = [ "/share/dsg" ];
-
-
};
-
-
}
-51
nixos/modules/services/desktops/deepin/dde-api.nix
···
-
{
-
config,
-
pkgs,
-
lib,
-
...
-
}:
-
{
-
-
meta = {
-
maintainers = lib.teams.deepin.members;
-
};
-
-
###### interface
-
-
options = {
-
-
services.deepin.dde-api = {
-
-
enable = lib.mkEnableOption ''
-
the DDE API, which provides some dbus interfaces that is used for screen zone detecting,
-
thumbnail generating, and sound playing in Deepin Desktop Environment
-
'';
-
-
};
-
-
};
-
-
###### implementation
-
-
config = lib.mkIf config.services.deepin.dde-api.enable {
-
-
environment.systemPackages = [ pkgs.deepin.dde-api ];
-
-
services.dbus.packages = [ pkgs.deepin.dde-api ];
-
-
systemd.packages = [ pkgs.deepin.dde-api ];
-
-
environment.pathsToLink = [ "/lib/deepin-api" ];
-
-
users.groups.deepin-sound-player = { };
-
users.users.deepin-sound-player = {
-
description = "Deepin sound player";
-
home = "/var/lib/deepin-sound-player";
-
createHome = true;
-
group = "deepin-sound-player";
-
isSystemUser = true;
-
};
-
-
};
-
-
}
-41
nixos/modules/services/desktops/deepin/dde-daemon.nix
···
-
{
-
config,
-
pkgs,
-
lib,
-
...
-
}:
-
{
-
-
meta = {
-
maintainers = lib.teams.deepin.members;
-
};
-
-
###### interface
-
-
options = {
-
-
services.deepin.dde-daemon = {
-
-
enable = lib.mkEnableOption "daemon for handling the deepin session settings";
-
-
};
-
-
};
-
-
###### implementation
-
-
config = lib.mkIf config.services.deepin.dde-daemon.enable {
-
-
environment.systemPackages = [ pkgs.deepin.dde-daemon ];
-
-
services.dbus.packages = [ pkgs.deepin.dde-daemon ];
-
-
services.udev.packages = [ pkgs.deepin.dde-daemon ];
-
-
systemd.packages = [ pkgs.deepin.dde-daemon ];
-
-
environment.pathsToLink = [ "/lib/deepin-daemon" ];
-
-
};
-
-
}
-43
nixos/modules/services/desktops/deepin/deepin-anything.nix
···
-
{
-
config,
-
pkgs,
-
lib,
-
...
-
}:
-
-
{
-
-
meta = {
-
maintainers = lib.teams.deepin.members;
-
};
-
-
options = {
-
-
services.deepin.deepin-anything = {
-
-
enable = lib.mkEnableOption "deepin anything file search tool";
-
-
};
-
-
};
-
-
config = lib.mkIf config.services.deepin.dde-api.enable {
-
environment.systemPackages = [ pkgs.deepin.deepin-anything ];
-
-
services.dbus.packages = [ pkgs.deepin.deepin-anything ];
-
-
users.groups.deepin-anything = { };
-
-
users.users.deepin-anything = {
-
description = "Deepin Anything Server";
-
home = "/var/lib/deepin-anything";
-
createHome = true;
-
group = "deepin-anything";
-
isSystemUser = true;
-
};
-
-
boot.extraModulePackages = [ config.boot.kernelPackages.deepin-anything-module ];
-
boot.kernelModules = [ "vfs_monitor" ];
-
};
-
-
}
-233
nixos/modules/services/x11/desktop-managers/deepin.nix
···
-
{
-
config,
-
lib,
-
pkgs,
-
utils,
-
...
-
}:
-
-
with lib;
-
-
let
-
xcfg = config.services.xserver;
-
cfg = xcfg.desktopManager.deepin;
-
-
nixos-gsettings-overrides = pkgs.deepin.dde-gsettings-schemas.override {
-
extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
-
extraGSettingsOverrides = cfg.extraGSettingsOverrides;
-
};
-
in
-
{
-
options = {
-
-
services.xserver.desktopManager.deepin = {
-
enable = mkEnableOption "Deepin desktop manager";
-
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.";
-
};
-
};
-
-
environment.deepin.excludePackages = mkOption {
-
default = [ ];
-
type = types.listOf types.package;
-
description = "List of default packages to exclude from the configuration";
-
};
-
-
};
-
-
config = mkIf cfg.enable {
-
services.displayManager.sessionPackages = [ pkgs.deepin.dde-session ];
-
services.displayManager.defaultSession = mkDefault "dde-x11";
-
-
# Update the DBus activation environment after launching the desktop manager.
-
services.xserver.displayManager.sessionCommands = ''
-
${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
-
'';
-
-
hardware.bluetooth.enable = mkDefault true;
-
security.polkit.enable = true;
-
-
services.deepin.dde-daemon.enable = mkForce true;
-
services.deepin.dde-api.enable = mkForce true;
-
services.deepin.app-services.enable = mkForce true;
-
-
services.colord.enable = mkDefault true;
-
services.accounts-daemon.enable = mkDefault true;
-
services.gvfs.enable = mkDefault true;
-
services.gnome.glib-networking.enable = mkDefault true;
-
services.gnome.gnome-keyring.enable = mkDefault true;
-
services.gnome.gcr-ssh-agent.enable = mkDefault true;
-
services.bamf.enable = mkDefault true;
-
-
services.libinput.enable = mkDefault true;
-
services.udisks2.enable = true;
-
services.upower.enable = mkDefault config.powerManagement.enable;
-
networking.networkmanager.enable = mkDefault true;
-
programs.dconf.enable = mkDefault true;
-
programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt;
-
-
fonts.packages = with pkgs; [ noto-fonts ];
-
xdg.mime.enable = true;
-
xdg.menus.enable = true;
-
xdg.icons.enable = true;
-
xdg.portal.enable = mkDefault true;
-
xdg.portal.extraPortals = mkDefault [
-
pkgs.xdg-desktop-portal-gtk
-
];
-
-
# https://github.com/NixOS/nixpkgs/pull/247766#issuecomment-1722839259
-
xdg.portal.config.deepin.default = mkDefault [ "gtk" ];
-
-
environment.sessionVariables = {
-
NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
-
DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ];
-
};
-
-
environment.pathsToLink = [
-
"/lib/dde-dock/plugins"
-
"/lib/dde-control-center"
-
"/lib/dde-session-shell"
-
"/lib/dde-file-manager"
-
"/share/backgrounds"
-
"/share/wallpapers"
-
"/share/dde-daemon"
-
"/share/dsg"
-
"/share/deepin-themes"
-
"/share/deepin"
-
"/share/dde-shell"
-
];
-
-
environment.etc = {
-
"deepin-installer.conf".text = ''
-
system_info_vendor_name="Copyright (c) 2003-2024 NixOS contributors"
-
'';
-
};
-
-
systemd.tmpfiles.rules = [
-
"d /var/lib/AccountsService 0775 root root - -"
-
"C /var/lib/AccountsService/icons 0775 root root - ${pkgs.deepin.dde-account-faces}/var/lib/AccountsService/icons"
-
];
-
-
security.pam.services.dde-lock.text = ''
-
# original at {dde-session-shell}/etc/pam.d/dde-lock
-
auth substack login
-
account include login
-
password substack login
-
session include login
-
'';
-
-
environment.systemPackages =
-
with pkgs;
-
with deepin;
-
let
-
requiredPackages = [
-
pciutils # for dtkcore/startdde
-
xdotool # for dde-daemon
-
glib # for gsettings program / gdbus
-
gtk3 # for gtk-launch program
-
xdg-user-dirs # Update user dirs
-
util-linux # runuser
-
polkit_gnome
-
librsvg # dde-api use rsvg-convert
-
lshw # for dtkcore
-
libsForQt5.kde-gtk-config # deepin-api/gtk-thumbnailer need
-
libsForQt5.kglobalaccel
-
xsettingsd # lightdm-deepin-greeter
-
dtkcommon
-
dtkcore
-
dtkgui
-
dtkwidget
-
dtkdeclarative
-
qt5platform-plugins
-
qt6platform-plugins
-
qt5integration
-
qt6integration
-
deepin-pw-check
-
-
dde-account-faces
-
deepin-icon-theme
-
deepin-desktop-theme
-
deepin-sound-theme
-
deepin-gtk-theme
-
deepin-wallpapers
-
deepin-desktop-base
-
-
startdde
-
dde-shell
-
dde-launchpad
-
dde-session-ui
-
dde-session-shell
-
dde-file-manager
-
dde-control-center
-
dde-network-core
-
dde-clipboard
-
dde-polkit-agent
-
dpa-ext-gnomekeyring
-
deepin-desktop-schemas
-
deepin-kwin
-
dde-session
-
dde-widgets
-
dde-appearance
-
dde-application-manager
-
deepin-service-manager
-
dde-api-proxy
-
dde-tray-loader
-
];
-
optionalPackages = [
-
dde-calendar
-
dde-grand-search
-
deepin-terminal
-
onboard # dde-dock plugin
-
deepin-calculator
-
deepin-compressor
-
deepin-editor
-
deepin-system-monitor
-
deepin-shortcut-viewer
-
];
-
in
-
requiredPackages
-
++ utils.removePackagesByName optionalPackages config.environment.deepin.excludePackages;
-
-
services.dbus.packages = with pkgs.deepin; [
-
dde-shell
-
dde-launchpad
-
dde-session-ui
-
dde-session-shell
-
dde-file-manager
-
dde-control-center
-
dde-calendar
-
dde-clipboard
-
deepin-kwin
-
deepin-pw-check
-
dde-widgets
-
dde-session
-
dde-appearance
-
dde-application-manager
-
deepin-service-manager
-
dde-grand-search
-
dde-api-proxy
-
];
-
-
systemd.packages = with pkgs.deepin; [
-
dde-shell
-
dde-launchpad
-
dde-file-manager
-
dde-calendar
-
dde-clipboard
-
deepin-kwin
-
dde-appearance
-
dde-widgets
-
dde-session
-
dde-application-manager
-
deepin-service-manager
-
dde-api-proxy
-
];
-
};
-
}
-1
nixos/modules/services/x11/desktop-managers/default.nix
···
./cde.nix
./cinnamon.nix
./budgie.nix
-
./deepin.nix
../../desktop-managers/lomiri.nix
../../desktop-managers/cosmic.nix
../../desktop-managers/gnome.nix
-9
nixos/release.nix
···
}
);
-
deepin = makeClosure (
-
{ ... }:
-
{
-
services.xserver.enable = true;
-
services.xserver.displayManager.lightdm.enable = true;
-
services.xserver.desktopManager.deepin.enable = true;
-
}
-
);
-
# Linux/Apache/PostgreSQL/PHP stack.
lapp = makeClosure (
{ pkgs, ... }:
-1
nixos/tests/all-tests.nix
···
dconf = runTest ./dconf.nix;
ddns-updater = runTest ./ddns-updater.nix;
deconz = runTest ./deconz.nix;
-
deepin = runTest ./deepin.nix;
deluge = runTest ./deluge.nix;
dendrite = runTest ./matrix/dendrite.nix;
dependency-track = runTest ./dependency-track.nix;
-55
nixos/tests/deepin.nix
···
-
{ pkgs, lib, ... }:
-
{
-
name = "deepin";
-
-
meta.maintainers = lib.teams.deepin.members;
-
-
nodes.machine =
-
{ ... }:
-
{
-
imports = [
-
./common/user-account.nix
-
];
-
-
virtualisation.memorySize = 2048;
-
-
services.xserver.enable = true;
-
-
services.xserver.displayManager = {
-
lightdm.enable = true;
-
autoLogin = {
-
enable = true;
-
user = "alice";
-
};
-
};
-
-
services.xserver.desktopManager.deepin.enable = true;
-
};
-
-
testScript =
-
{ nodes, ... }:
-
let
-
user = nodes.machine.users.users.alice;
-
in
-
''
-
with subtest("Wait for login"):
-
machine.wait_for_x()
-
machine.wait_for_file("${user.home}/.Xauthority")
-
machine.succeed("xauth merge ${user.home}/.Xauthority")
-
-
with subtest("Check that logging in has given the user ownership of devices"):
-
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
-
-
with subtest("Check if Deepin session components actually start"):
-
machine.wait_until_succeeds("pgrep -f dde-session-daemon")
-
machine.wait_for_window("dde-session-daemon")
-
machine.wait_until_succeeds("pgrep -f dde-desktop")
-
machine.wait_for_window("dde-desktop")
-
-
with subtest("Open deepin-terminal"):
-
machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'")
-
machine.wait_for_window("deepin-terminal")
-
machine.sleep(20)
-
machine.screenshot("screen")
-
'';
-
}
-2
nixos/tests/terminal-emulators.nix
···
darktile.pkg = p: p.darktile;
-
deepin-terminal.pkg = p: p.deepin.deepin-terminal;
-
eterm.pkg = p: p.eterm;
eterm.executable = "Eterm";
eterm.pinkValue = "#D40055";
-8
pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/packagechooser.conf
···
Learn more at <a href=\"https://docs.buddiesofbudgie.org/\">buddiesofbudgie.org</a></html>"
screenshot: "images/budgie.jpg"
-
- id: deepin
-
packages: [ deepin ]
-
name: Deepin
-
description: "<html>The Deepin Desktop Environment is an elegant, easy to use and reliable desktop environment.<br/>
-
<br/>
-
Learn more at <a href=\"https://www.deepin.org/\">deepin.org</a></html>"
-
screenshot: "images/deepin.jpg"
-
- id: ""
packages: []
name: "No desktop"
-11
pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py
···
"""
-
cfgdeepin = """ # Enable the X11 windowing system.
-
services.xserver.enable = true;
-
-
# Enable the Deepin Desktop Environment.
-
services.xserver.displayManager.lightdm.enable = true;
-
services.xserver.desktopManager.deepin.enable = true;
-
-
"""
-
cfgkeymap = """ # Configure keymap in X11
services.xserver.xkb = {
layout = "@@kblayout@@";
···
cfg += cfglumina
elif gs.value("packagechooser_packagechooser") == "budgie":
cfg += cfgbudgie
-
elif gs.value("packagechooser_packagechooser") == "deepin":
-
cfg += cfgdeepin
if (
gs.value("keyboardLayout") is not None