LINUX.ORG.RU

NixOS + i3 + KDE - plasma - akonadi

 , , ,


8

3

Вот, что получается, если некоторое время потратить на настройку nixos. Мне нравится KDE, я люблю тайлинг, и поэтому решил сделать вот такую смесь. Получилось по мнению некоторых «тяжело», по мнению других «неудобно» (жду вашего мнения), но тем не менее меня всё устраивает, а благодаря NixOS + home-manager одна и та же конфигурация оказывается на всех моих машинах автоматически, каждый день в 19:00 (Да, совсем вся, включая приложения, сервисы, темы, расширения и даже список доступных хостов в Dolphin и SSH).

  • DE: KDE - plasma
  • WM: i3
  • Theme: Breeze-Dark чуть-чуть измененный
  • Apps: Стандартный набор кедераста
  • Bar: polybar + кастомные модули (на этой машине не совсем правильно работает модуль статуса системы, нужно пофиксить)
  • launcher: Albert
  • IM: telegram-desktop, vk-messenger, trojita (Все с правильными темами, которые автоматом раскидываются по всем машинам и ставятся на новые!)

конфиг: https://github.com/balsoft/nixos-config Машина довольно старая (8 лет), но недавно впихнул оперативы и SSD вместо харда, и вот она снова в строю. Для сравнения, фоточка с ноутбука с тем же конфигом: https://imgur.com/TG31MGe (Ноутбук качает торренты, поэтому так батарейку кушает)

>>> Просмотр (1920x1080, 320 Kb)

★★

Проверено: JB ()
Последнее исправление: balsoft (всего исправлений: 3)
Ответ на: комментарий от rigiy

Крупный разработчик, как я понимаю.

Нигде такого не утверждал.

Цветную мешанину без бордюров.

Мой конфиг можно много в чем обвинить, но чтоб «цветной»...

balsoft ★★
() автор топика

Довольно неудобно. И нельзя сказать что красиво. Так себе...

time_LORd
()
Ответ на: комментарий от EXL

Я бы тоже был рад, если бы просто вернули кикер и Контакт опять перевели на доаконадьную систему. Всё равно плазмоиды не принесли чего-то нового. Хотя нет, принесли, было... словарь, конвертер единиц, удобный микшер, но всё это поспешили сломать и мы опять остались с тридцатью системными мониторами и смотрелкой картинок. Жду нескольких фич в LXQt и свалю. Жаль Контакт нечем заменить полноценно.

Deleted
()
Ответ на: комментарий от balsoft

да не обязательно тень, можно ли их цветом рамки выделить? Чтобы рамка была не тёмной, а наоборот, светлой.

Deleted
()

У меня что-то похожее, но я просто использую Qtшный софт с i3, а оформление меняю через kvantum.

Deleted
()

Если у тебя всё равно есть большие светлые пятна в виде бекграунда у панели сверху - то почему бы не использовать те же цвета, что бы сделать рамку окон? Серую для неактивных, голубую для активных. 1px бордера тебя не ограничит по пространству, но читабельность будет гораздо выше в случае компоновки окон.

Crystal_HMR ★★★
()
Ответ на: комментарий от cetjs2

Да, работает. Но я им пользовался только пару раз, почти всё необходимое есть в nixpkgs. Не хватает snap, но в итоге просто опакетил для себя то, чего не хватало.

balsoft ★★
() автор топика

Выглядит весьма интересно.

Deleted
()
Ответ на: комментарий от Crystal_HMR

Дело в том, что я ещё не очень придумал, как можно сделать рамки более умными. Хочется, чтобы единая рамка шла вдоль всего окна (включая заголовок), но так нельзя (я не нашел, как). Если сделать как умею, получается не очень. Так что я пока без рамок (разве что на floating пожалуй добавлю).

balsoft ★★
() автор топика
Ответ на: комментарий от NoobeR

Что за 9к пакетов?

Не считая ШГ у него в профиле столько нет.

И как NixOS в употреблении?

Как бывшый гентушник могу смело заявить - NixOS божественна!

Думаю сменить рач на что-нибудь..

Если работает и устраивает зачем трогать?

init_6 ★★★★★
()

NIHos не пробовал, сказать нечего, а остальное прям люто одобряю.

massimus ★★★
()
Ответ на: комментарий от CryNet

Медленное, жрущее память и процессор нечто, к тому же иногда падающее. Плазмоидов, которые есть, не хватает, свои писать довольно сложно (в отличие от скриптов для i3/polybar). Самая страшная часть проекта KDE после akonadi и nepomuk, даже ругаемый всеми baloo лучше справляется со своей работой.

balsoft ★★
() автор топика
Ответ на: комментарий от init_6

Это не версия системы, а параметр совместимости, читай man configuration.nix. Так-то у меня 19.03 на десктопе и одном ноуте, и стабильный 18.09 на остальных машинах. Это осталось с момента, когда я перевел все машины на NixOS.

balsoft ★★
() автор топика
Ответ на: комментарий от init_6

Не считая ШГ у него в профиле столько нет.

Ну тут смотря как считать. После всяких garbage-collect, счётчик все равно показывает 1200 «пакетов», что естественно лютая ложь. На самом деле у меня около 600 «пакетов», если считать за «пакет» все derivation, которые были в кэше гидры.

balsoft ★★
() автор топика

А что осталось-то от KDE?

Почему не sway?

Почему home-manager не в каналах?

home.nix не пора разбивать?

Никакой софт не психует с иммутабельных конфигов?

t184256 ★★★★★
()
Ответ на: комментарий от NoobeR

И как NixOS в употреблении?

Как следующий виток эволюции package management или configuration management - божественно.

Если дорос до стадии «мне уже пофиг, ведь все ваши дистры одинаковы, пока не запущен ПМ», то настоятельно рекомендую NixOS.

t184256 ★★★★★
()
Ответ на: комментарий от balsoft

Медленное, жрущее память и процессор

Так остальные DE жрут ещё больше. Тот же Cinnamon. А всякие akonadi, nepomuk и baloo можно отключить.

в отличие от скриптов для i3/polybar

Ну вы же не сравнивайте DE и WM. Эти двое работают немного по другому

CryNet ★★★★★
()
Ответ на: комментарий от t184256

А что осталось-то от KDE?

От KDE остались (почти) все приложения (за исключением chromium), а так же baloo, который уже несколько раз помогал в работе, kde connect, и темки.

Почему не sway?

С первой попытки не взлетел с моим конфигом, к тому же пока что не очень-то и хочется на wayland переходить (synergy не работает, а я хочу его прикрутить)

Почему home-manager не в каналах?

Поподробнее? Если ты про установку home-manager отдельно, то у меня он прикручен к системной конфигурации.

home.nix не пора разбивать?

Я бы с радостью, но либо нужно писать модули (не самая легкая задача в home-manager с моим сетапом), либо растаскивать на функции (получится лапша из применений аргументов, которая ни разу не облегчит расширение конфига).

Никакой софт не психует с иммутабельных конфигов?

Konsole и Kate психовали, уже отрепорчено и вставлен костыль. Больше никто не ругался. (Возможно, еще KDevelop бы психанул, но тут у меня все равно на каждой машине свои настройки).

balsoft ★★
() автор топика
Ответ на: комментарий от CryNet

Так остальные DE жрут ещё больше. Тот же Cinnamon. А всякие akonadi, nepomuk и baloo можно отключить.

Не скажу за остальные DE, ибо очень давно уже заядлый кедераст и гном ставил только попробовать и поплеваться, но plasma кушает неприлично много. Всегда у меня была на втором месте по памяти после chromium.

Ну вы же не сравнивайте DE и WM. Эти двое работают немного по другому

Но в итоге выполняют один и тот же функционал. DE = WM + Apps + HUD. И связка kwin + plasma гораздо жирнее и сложнее в расширении, чем i3 + polybar. Но тут каждому своё, некоторые вон и гном кушают.

balsoft ★★
() автор топика
Ответ на: комментарий от balsoft

Поподробнее? Если ты про установку home-manager отдельно, то у меня он прикручен к системной конфигурации.

Нет, я про

sudo nix-channel --add https://github.com/rycee/home-manager/archive/master.tar.gz home-manager

и

imports = [
    <home-manager/nixos>
    ...
];

Указывать архив прямо в деривации мне кажется уместным при standalone packaging'е софта, но не при конфигурировании системы.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Зачем лишняя императивщина? Если бы был хороший способ указать канал для сборки всей системы (я в курсе про autoUpdate.channels), я бы и системный канал тоже указал в конфиге.

Указывать архив прямо в деривации мне кажется уместным при standalone packaging'е софта, но не при конфигурировании системы.

Какие на то причины?

balsoft ★★
() автор топика
Ответ на: комментарий от SR_team

Юзал его около месяца перед переходом на i3. Небо и земля по функционалу. К тому же, он в тот момент был протухшим, неправильно работал с несколькими мониторами и глючил очень часто (неправильно оставлял место для окон, загораживал одно окно другим и т.д.)

balsoft ★★
() автор топика
Ответ на: комментарий от CryNet

500МБ? Ну да, для современной машины действительно немного, но... i3 потребляет 2МБ (а сколько жрет kwin?), polybar с моими скриптами потребляет 3 МБ (а сколько жрет плазма?). На слабых машинах, где суммарно 2ГБ оперативки, это очень важное преимущество, а скорость загрузки i3+polybar и kwin+plasma заметно различается даже на приличных системах с SSD и 6x3.5GHz.

balsoft ★★
() автор топика
Ответ на: комментарий от balsoft

i3 потребляет 2МБ

Это интересно. Но в KDE многое работает из коробки, а в i3 и аналогах голову сломаешь над настройкой и установкой.

polybar с моими скриптами потребляет 3 МБ

А удобство? Это какая-то минимальная сборка, и в действительности потребуется i3+polybar+etc+etc для удобной работы?

CryNet ★★★★★
()
Ответ на: комментарий от CryNet

Но в KDE многое работает из коробки, а в i3 и аналогах голову сломаешь над настройкой и установкой.

Вообще-то да, настройка нетривиальна, но если интересует лишь тривиальность настройки, а не её свобода или скорость работы, не проще ли использовать менее маргинальные ОС?

Это какая-то минимальная сборка, и в действительности потребуется i3+polybar+etc+etc для удобной работы?

Да какая же минимальная, когда эта штука почти заменяет мне плазму? Все то, что раньше было плазмоидами (и немного больше в виде google-calendar и загрузки системы) теперь у меня в polybar. Примешиваем dunst, который вообще 700кб кушает, и получаем полноценный HUD - замену plasma в 4МБ RAM и ~10MB дискового пространства.

А удобство?

Мне удобнее, чем плазма, ибо тут можно больше под себя настроить. Зависит от конкретного человека, многим вон gnome3 удобнее, чем KDE, или W10 удобнее, чем линух.

balsoft ★★
() автор топика

В цветовой схеме занижен контраст.
В теме виджетов/WM не хватает однопиксельного разделителя между окнами и некоторыми виджетами — получается кашенька.

Весь неймсепейс std в плюсовом хелловорлде вообще легален?

Exmor_RS ★★★
()

Сколько комментариев и никто не сказал про код. У тебя кресты и ввод пользователя не проверяется. Перезаписать память введя не то число - проще простого.

NextGenenration ★★
()
Ответ на: комментарий от balsoft

Хорошая вещь, до ариала конечно не дотягивает, но очень хорош.

papin-aziat ★★★★★
()
Ответ на: комментарий от balsoft

Хорошего ответа у меня нет. Во-первых, привык мысленно отделять пересборку от обновления. Во-вторых, не люблю постоянное перекачивание.

t184256 ★★★★★
()
Ответ на: комментарий от NextGenenration

Это не «настоящий» код, это олимпиадное программирование. Проверка ввода не нужна, точно так же как и не нужно париться по поводу using namespace std;

balsoft ★★
() автор топика
Ответ на: комментарий от Exmor_RS

В цветовой схеме занижен контраст.

Да.

В теме виджетов/WM не хватает однопиксельного разделителя между окнами и некоторыми виджетами — получается кашенька.

Да, мне так больше нравится. В жизни, когда окон 4 или меньше, все прекрасно разделяется.

Весь неймсепейс std в плюсовом хелловорлде вообще легален?

Для олимпиадного программирования это норма, большая часть вообще подключает <bits/stdc++.h>.

balsoft ★★
() автор топика
Ответ на: комментарий от t184256

привык мысленно отделять пересборку от обновления

Мысль хорошая, но особого смысла в этом для себя не вижу.

balsoft ★★
() автор топика
Ответ на: комментарий от balsoft

можешь подсказать какую-нибудь хорошую, годную неяркую палитру, которая бы туда подошла? Мне самому не очень нравится эта часть, но я не смог подобрать ничего нормально выглядящего с breeze-dark кроме стандартных цветов из Konsole.

Посмотри duotone

NextGenenration ★★
()
Ответ на: комментарий от balsoft

Это не «настоящий» код, это олимпиадное программирование. Проверка ввода не нужна, точно так же как и не нужно париться по поводу using namespace std;

В чём суть - экономить каждый такт и байт? Что будет если решение будет содержать проверку вывода? Олимпиадник не успеет за отведённое на задачу время? Возрастёт время выполнения и он получит меньше балов? На олимпиады даются какие-то задачи кроме числодробилок и подобного? Способен ли олимпиадник к примеру написать код который пройдётся по файлам и заменит названия методов определённого класса и его наследников? Так чтобы закомментированный код не был изменён, методы других классов остались на местах? Включает ли курс обучения рассмотрение компиляторов, операционных систем, баз данных, архиваторов, каких нибудь движков рендера или какого-то другого интересного своей сложностью софта? Какие-то другие языки кроме крестов используются?

NextGenenration ★★
()
Ответ на: комментарий от NextGenenration

В чём суть - экономить каждый такт и байт?

Нет, это точно не про олимпиадное программирование. Тут суть - придумать алгоритм и успеть его написать на одном из не очень медленных ЯП. Если твой алгоритм правильный, то он пройдет и по времени, и по памяти, с огромным запасом.

Что будет если решение будет содержать проверку вывода?

Абсолютно ничего не изменится, кроме потраченного времени на написание программы, поэтому никто этого и не делает.

На олимпиады даются какие-то задачи кроме числодробилок и подобного?

Очень широко задан вопрос. Определи «подобное».

Способен ли олимпиадник к примеру написать код который пройдётся по файлам и заменит названия методов определённого класса и его наследников? Так чтобы закомментированный код не был изменён, методы других классов остались на местах? Включает ли курс обучения рассмотрение компиляторов, операционных систем, баз данных, архиваторов, каких нибудь движков рендера или какого-то другого интересного своей сложностью софта?

Зависит от человека и места, где он учится. Я учусь в обычной школе в провинции, посему олимпиадное программирование изучал по урокам в инете и удаленным олимпиадам, а вместе с олимпиадным программированием изучал и все описанное. Для меня написание предложенного кода особых проблем не составит (зависит от языка, конечно), хотя я знаю многих олимпиадников, которые даже файловый I/O не умеют.

Какие-то другие языки кроме крестов используются?

Да, есть задроты, которые на чистых сях пишут, есть хипстеры на python3 и упаси-боже-nodejs, есть нерды на D и Rust, есть бородатые посоны на джаве. Если алгоритм правильно придуман (и он хотя бы полиномиальный, а не сложнее), то любой язык нормально справится. Тем не менее, самый популярный - C++ с компилятором GCC.

balsoft ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.