nixos: remove Deepin
This commit is contained in:
@@ -543,10 +543,6 @@
|
||||
./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
|
||||
|
||||
@@ -127,6 +127,10 @@ in
|
||||
"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;
|
||||
@@ -271,6 +275,12 @@ in
|
||||
"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
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
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" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
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" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
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" ];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,233 +0,0 @@
|
||||
{
|
||||
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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -38,7 +38,6 @@ in
|
||||
./cde.nix
|
||||
./cinnamon.nix
|
||||
./budgie.nix
|
||||
./deepin.nix
|
||||
../../desktop-managers/lomiri.nix
|
||||
../../desktop-managers/cosmic.nix
|
||||
../../desktop-managers/gnome.nix
|
||||
|
||||
@@ -623,15 +623,6 @@ rec {
|
||||
}
|
||||
);
|
||||
|
||||
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, ... }:
|
||||
|
||||
@@ -423,7 +423,6 @@ in
|
||||
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;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
{ 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")
|
||||
'';
|
||||
}
|
||||
@@ -36,8 +36,6 @@ let
|
||||
|
||||
darktile.pkg = p: p.darktile;
|
||||
|
||||
deepin-terminal.pkg = p: p.deepin.deepin-terminal;
|
||||
|
||||
eterm.pkg = p: p.eterm;
|
||||
eterm.executable = "Eterm";
|
||||
eterm.pinkValue = "#D40055";
|
||||
|
||||
@@ -90,14 +90,6 @@ items:
|
||||
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"
|
||||
|
||||
@@ -201,15 +201,6 @@ cfgbudgie = """ # Enable the X11 windowing system.
|
||||
|
||||
"""
|
||||
|
||||
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@@";
|
||||
@@ -589,8 +580,6 @@ def run():
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user