2 anode: Понимаете в чем странность ситуации - в Arch'е есть как пакеты собранные с более-менее нормальной (IMHO) разбивкой на части - например тот же Linux Kernel - отдельно мухи, отдельно котлеты, отдельно вишенки, можно сказать даже с практически нормальными настройками (за исключением разве что этого странноватого workaround'а :D) или dbus, а есть тот же gtk3, в котором все запихнуто в одну кучу. Особую пикантность ситуации придает тот факт что все три пакета собраны Jan'ом Steffens'оном ;) Оно конечно понятно, что это опенсорс, детка, и здесь тебе никто ничего не должен, но списать разницу в организации пакетов на различия в менталитете в данном случае не получится :D
P.S. Честно говоря не представляю как грамотно автоматически подтягивать зависимости ядрёных модулей, если они ставятся отдельными пакетами. Как установщик сам может решить что нужно юзеру?
Небольшое дополнение для тех, кто хочет подчистить систему от не сильно нужных пакетов. Связано с Cinnamon не совсем напрямую, но все же. Как известно Cinnamon требует установки оконного менеджера Muffin, у которого в зависимостях стоит zenity, который в свою очередь hardlinked с пакетом webkit2gtk, который по-бОльшему-то счету ни Muffin'у ни Cinnamon'у - не нужен, да и вообще не много кому требуется, хотя отжирает ни много ни мало - 127 МБ. В соответствующее время сакральный вопрос "а нафига?" даже задавался Jan de Groot'у, но ответил: "не нравится - сами выпиливайте". Ну мы - люди не гордые, выпилили: https://aur.archlinux.org/packages/zenity-git

P.S. Млин, сколько же барахла понапихано в стандартные Arch Linux'овые пакеты - и заголовки, и документация и еще чёрт знает чё. Апофеозом на мой взгляд является linux-firmware, приближающийся вплотную к половине гига и имеющий в своем составе прошивки для железа, 99% которого являются махровой экзотикой. В этом отношении подход Debian'овцев, разбивающих данный пакет по производителям, явно более здравый.
Для упрощения установки закинул в AUR:

https://aur.archlinux.org/packages/cinnamon-control-center-slim/
https://aur.archlinux.org/packages/cinnamon-slim/
Aivar
Зачем???

Мне проще разбивать работу на этапы, дабы если возникнет проблема было проще определить, на каком шаге она проявилась. А так да, всё это можно сделать одной транзакцией.
Тэээкс. Как выяснилось гвозди, которыми прибит NetworkManager к Cinnamon'у не такие уж и длинные ;-) Первоначальное решение также имеет право на жизнь, т.к. оно позволяет остаться на официальном канале обновлений, если же кто хочет выжечь NM из системы калёным железом - я сейчас покажу как, однако в этом случае придется пересобирать пакеты cinnamon и cinnamon-control-center каждый раз самостоятельно при обновлении версий исходников (благо они не такие уж и объемные).

Исходные данные - те же:
Cinnamon 4.09
Cinnamon-control-center 4.01
NetworkManager (уже убит и не шевелится), вместо него - любой по вкусу

Итак, создаем пустую директорию cinnamon. В нее складываем все файлы для этого пакета, взятые с официального сайта Arch Linux, за исключением файла PKGBUILD. Он у нас будет свой, вот такой:


pkgname=cinnamon-slim
pkgver=4.0.9
pkgrel=1
pkgdesc="Innovative Linux desktop. Slim version."
arch=('x86_64')
url="https://github.com/linuxmint/Cinnamon"
license=('GPL2')
provides=("cinnamon=$pkgver")
conflicts=('cinnamon')
replaces=('cinnamon')
depends=('accountsservice' 'caribou' 'cinnamon-control-center' 'cinnamon-menus' 'cinnamon-screensaver'
         'cinnamon-session' 'cinnamon-settings-daemon' 'cjs' 'gnome-backgrounds' 'gnome-themes-extra'
         'gstreamer' 'libgnomekbd' 'libkeybinder3' 'librsvg' 'muffin' 'nemo' 'polkit-gnome'
         'python-cairo' 'python-dbus' 'python-gobject' 'python-pam' 'python-pexpect' 'python-pillow'
         'python-pyinotify' 'xapps')
optdepends=('blueberry: Bluetooth support'
            'cinnamon-translations: i18n'
            'gnome-panel: fallback mode'
            'metacity: fallback mode'
            'system-config-printer: printer settings')
makedepends=('intltool' 'gtk-doc' 'gobject-introspection')
options=('!emptydirs')
source=("${pkgname%-*}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
        '0001-cinnamon-settings-don-t-rely-on-the-presence-of-cinn.patch'
        'set_wheel.patch'
        'default-theme.patch'
        'remove-networkmanager.patch')

sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')

prepare() {
    cd "${srcdir}"/Cinnamon-${pkgver}

    # Remove NetworkManager
    # This patch must be applied before adding polkit agent to required components
    patch -Np1 -i ../remove-networkmanager.patch
    rm -rf "${srcdir}/Cinnamon-${pkgver}/files/usr/share/cinnamon/applets/[email protected]"

    # Check for the cc-panel module path, not for the irrelevant binary
    # https://github.com/linuxmint/Cinnamon/pull/7382
    patch -p1 -i ../0001-cinnamon-settings-don-t-rely-on-the-presence-of-cinn.patch

    # Use wheel group instread of sudo (taken from Fedora)
    patch -Np1 -i ../set_wheel.patch

    # Set default theme to 'cinnamon'
    patch -Np1 -i ../default-theme.patch

    # Replace MintInstall with GNOME Software
    sed -i 's/mintinstall.desktop/org.gnome.Software.desktop/' data/org.cinnamon.gschema.xml.in

    # Add polkit agent to required components
    sed -i 's/RequiredComponents=\(.*\)$/RequiredComponents=\1polkit-gnome-authentication-agent-1;/' \
        files/usr/share/cinnamon-session/sessions/cinnamon*.session

    # https://github.com/linuxmint/Cinnamon/issues/3575#issuecomment-374887122
    # Cinnamon has no upstream backgrounds, use GNOME backgrounds instead
    sed -i 's|/usr/share/cinnamon-background-properties|/usr/share/gnome-background-properties|' \
        files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py

    NOCONFIGURE=1 ./autogen.sh
}

build() {
    cd "${srcdir}"/Cinnamon-${pkgver}

    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --libexecdir=/usr/lib/cinnamon \
                --localstatedir=/var \
                --disable-static \
                --disable-gtk-doc \
                --disable-schemas-compile \
                --enable-compile-warnings=yes

    # https://bugzilla.gnome.org/show_bug.cgi?id=656231
    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

  make
}
package() {
    cd "${srcdir}"/Cinnamon-${pkgver}

  make DESTDIR="${pkgdir}" install
}

И рядом в эту же директорию кладем файл remove-networkmanager.patch:


--- a/js/ui/statusIconDispatcher.js
+++ b/js/ui/statusIconDispatcher.js
@@ -12,7 +12,6 @@
     'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet
                                              // when moved to control center
     'gnome-sound-applet': 'volume',
-    'nm-applet': 'network',
     'gnome-power-manager': 'battery',
     'keyboard': 'keyboard',
     'a11y-keyboard': 'a11y',
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -239,7 +239,7 @@
 libcinnamon_la_CPPFLAGS = $(MUFFIN_CFLAGS) $(cinnamon_cflags)

 Cinnamon-0.1.gir: libcinnamon.la St-1.0.gir
-Cinnamon_0_1_gir_INCLUDES = Clutter-0 ClutterX11-0 CoglPango-0 Cogl-0 Meta-Muffin.0 Soup-2.4 CMenu-3.0 NM-1.0
+Cinnamon_0_1_gir_INCLUDES = Clutter-0 ClutterX11-0 CoglPango-0 Cogl-0 Meta-Muffin.0 Soup-2.4 CMenu-3.0
 Cinnamon_0_1_gir_CFLAGS = $(libcinnamon_la_CPPFLAGS) -I $(srcdir)
 Cinnamon_0_1_gir_LIBS = libcinnamon.la
 Cinnamon_0_1_gir_FILES = $(libcinnamon_la_gir_sources)
--- a/configure.ac
+++ b/configure.ac
@@ -81,7 +81,7 @@
                                libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
                                gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
                                polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
-                               libnm atk-bridge-2.0)
+                               atk-bridge-2.0)

 PKG_CHECK_MODULES(CINNAMON_PERF_HELPER, gtk+-3.0 gio-2.0)
--- a/files/usr/share/cinnamon-session/sessions/cinnamon.session
+++ b/files/usr/share/cinnamon-session/sessions/cinnamon.session
@@ -1,6 +1,6 @@
 [Cinnamon Session]
 Name=Cinnamon
-RequiredComponents=cinnamon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
+RequiredComponents=cinnamon;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
 DesktopName=X-Cinnamon
--- a/files/usr/share/cinnamon-session/sessions/cinnamon2d.session
+++ b/files/usr/share/cinnamon-session/sessions/cinnamon2d.session
@@ -1,6 +1,6 @@
 [Cinnamon Session]
 Name=Cinnamon (Software Rendering)
-RequiredComponents=cinnamon2d;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
+RequiredComponents=cinnamon2d;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
 DesktopName=X-Cinnamon

Дальше, как обычно, $ makepkg -s

Однако кроме этого нам необходимо пересобрать cinnamon-control-center. Клемент Лефевр, как выяснилось, внял людским просьбам и добавил в него штатную возможность отключения Network- и ModemManager'ов! Для этого необходимо в секцию build официального PKGBUILD'а добавить:


                --disable-networkmanager \
                --disable-modemmanager \

и, естественно, в секции depends удалить ставшие уже ненужными зависимости:


'libmm-glib' 'nm-connection-editor'

после чего собрать обновленный пакет cinnamon-control-center (для удобства - лучше с другим именем, но тут for who how ;-))

После всех вышеприведенных манипуляций Cinnamon начинает вести себя как любое приличное DE и перестает считать что какие-то нелепые NM являются уж совсем обязательной зависимостью ;-)

Наверное стоит закинуть в AUR - ежели кому не лениво. Возможно сам сделаю чуть попозжее.
1. К сожалению именно к Cinnamon'у NetworkManager прибит гвоздями и штатным образом его снести не получится - снесется и DE. Поэтому-то и пришлось городить огород.
2. Кроме непосредственно самого NM там еще куча барахла в зависимостях - в сумме получается чуть ли не на порядок больше занятого места. А так - я не вижу смысла держать у себя установленными пакеты, которыми я не пользуюсь.

P.S. @Moderator, похоже я ошибся с разделом. Переместите, пожалуйста, тему в GNOME 3 & Cinnamon - там для нее похоже более подходящее место.
Небольшое руководство для тех, кто хочет полностью удалить NetworkManager из Arch Linux, но продолжить пользоваться Cinnamon'ом. Как известно, NM является обязательной зависимостью для Cinnamon'а и по этой причине отдельно не удаляется, но, при определенном желании это ограничение вполне можно обойти.

Начальные условия:
Arch Linux (канал обновления - stable) up2date
Cinnamon 4.0.9
NetworkManager 1.14.5
ConnMan 1.36 (переходить будем на него, но, в принципе, может быть и wicd или systemd-networkd)
connman-git 1.1.1

1. Устанавливаем пакет connman из официального репозитория Arch Linux и пакет connman-git из AUR (по желанию).

2. Переключаемся с NetworkManager'а на ConnMan:

$ sudo systemctl stop NetworkManager.service && sudo systemctl disable NetworkManager.service
$ sudo systemctl enable connman.service && sudo systemctl start connman.service

Перезагружаемся.

3. После перезагрузки можно ограничиться отключением автозагрузки network-manager-applet и на этом успокоиться, но наша цель - полностью удалить NM из системы. Для этого нам придется создать пакет-заглушку, который заменит собой все компоненты NetworkManager'а.

4. Создаем директорию networkmanager-dummy

5. Копируем в нее файл /usr/lib/girepository-1.0/NM-1.0.typelib (это один из двух файлов, требующихся для обмана Cinnamon. Второй файл мы создадим непосредственно в самом PKGBUILD)

6. Создаем в директории networkmanager-dummy файл PKGBUILD со следующим содержимым:


pkgname=networkmanager-dummy
pkgver=0.0.1
pkgrel=1
pkgdesc="Something to trick Cinnamon into thinking it has NetworkManager package installed"
url="http://127.0.0.1"
arch=('any')
license=('GPL')
depends=()
optdepends=()
makedepends=()
replaces=()
conflicts=('networkmanager' 'network-manager-applet' 'nm-connection-editor' 'libnm-glib' 'libmm-glib' 'libnma' 'libnm')
provides=('networkmanager' 'network-manager-applet' 'nm-connection-editor' 'libnm-glib' 'libmm-glib' 'libnma' 'libnm')
source=('NM-1.0.typelib')
md5sums=('SKIP')

build() {
   echo "Nothing to build"
}

package() {
   install -Dm644 ../NM-1.0.typelib "${pkgdir}/usr/lib/girepository-1.0/NM-1.0.typelib"
   install -Dm644 /dev/stdin "${pkgdir}/usr/share/applications/nm-applet.desktop" <<END
[Desktop Entry]
Name=Network
Comment=Manage your network connections
Icon=nm-device-wireless
Exec=nm-applet
Terminal=false
Type=Application
NoDisplay=true
NotShowIn=KDE;GNOME;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=NetworkManager
X-GNOME-Bugzilla-Component=nm-applet
X-GNOME-UsesNotifications=true
END

}

7. Собираем наш пакет-заглушку:

$ cd networkmanager-dummy
$ makepkg

8. Устанавливаем свежесобранный пакет networkmanager-dummy-0.0.1-1-any.pkg.tar.xz, перезагружаемся, дочищаем наш Arch Linux от orphan'ов.

9. Наводим косметику: в стартовом меню Cinnamon Настройка -> Меню -> Открыть редактор меню -> Параметры отключаем отображение пунктов "Сетевые соединения" и "Сеть" и переименовываем "Connman Setting" в "Сетевые настройки". Также можно удалить апплет NM для панели задач:

$ sudo rm -rf /usr/share/cinnamon/applets/[email protected]

однако после этого при следующем обновлении Cinnamon ругнется на отсутствующие файлы.

В общем где-то так. На все про все - не более 10 минут. Проверено на 4-х домашних машинах.

P.S. В сообщении на второй странице данной темы приведен рецепт по сборке пакетов cinnamon-slim и cinnamon-control-center-slim с полностью удаленными зависимостями от NetworkManager. Также данные пакеты доступны в AUR.