Я пользуюсь Linux'ом уже больше полтора года. Начинал я с Linux Mint, а сейчас у меня стоит Artix Linux.
Почему Artix Linux?
Artix - Arch Linux, но без systemd.
Я не называю себя тру-линуксоидом, но все-таки выбрал Artix Linux с системой инициализации dinit. Почему? Все просто - мне не нравится, какой большой стал systemd. Но почему dinit? Во-первых: посоветовали именно его, во-вторых: поддерживается и регулярно выпускаются обновление, в-третьих: он прост и минималистичен.
Кастомизация DWM
Я использую патчи:
dwm-noborder (убирает рамки у окон, когда запущено только одно окно)
dwm-quit (при выходе из dwm спрашивает, точно ли выйти, и надо ли перезагрузить)
dwm-pertag (отображает все окна в статусбаре)
dwm-fibonacci (добавляет две разметки окон при помощи чисел Фибоначчи)
Для статусбара я использую slstatus, а терминал - alacritty.
Мой конфиг dwm:
/* See LICENSE file for copyright and license details. */
#include "fibonacci.c"
/* appearance */
static const unsigned int borderpx = 2; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const int showbar = 1; /* 0 means no bar */
static const int topbar = 1; /* 0 means bottom bar */
// static const char *fonts[] = { "JetBrains Mono:size=12" };
// static const char dmenufont[] = "JetBrains Mono:size=12";
// static const char *fonts[] = { "Terminus:style=Bold:size=13" };
// static const char dmenufont[] = "Terminus:style=Bold:size=13";
static const char *fonts[] = { "Iosevka NF:size=12", "FontAwesome:size=12" };
static const char dmenufont[] = "Iosevka NF:size=12";
static const char col_gray1[] = "#282828";
static const char col_gray2[] = "#282828";
static const char col_gray3[] = "#cccccc";
static const char col_gray4[] = "#ebdbb2";
// static const char col_cyan[] = "#d3869b";
static const char col_cyan[] = "#679267";
/* gruvbox */
// static const char dark0_hard[] = "#d3869b";
static const char dark0_hard[] = "#679267";
static const char dark0_soft[] = "#151516";
static const char dark1[] = "#282828";
static const char light1[] = "#ebdbb2";
static const char light2[] = "#d5c4a1";
static const char light3[] = "#bdae93";
static const char light4[] = "#cccccc";
static const char fg4[] = "#151516";
static const char fg5[] = "#202020";
static const char grey[] = "#C0C0C0";
static const char red[] = "#fb4934";
static const char green[] = "#b8bb26";
static const char yellow[] = "#fabd2f";
static const char blue[] = "#83a598";
static const char purple[] = "#d3869b";
static const char aqua[] = "#8ec07c";
static const char rugreen[] = "#679267";
static const char orange[] = "#d65d0e";
static const char *colors[][3] = {
/* fg bg border */
[SchemeNorm] = { light1, dark0_soft, dark1 },
[SchemeSel] = { fg4, dark0_hard, rugreen },
};
/* tagging */
static const char *tags[] = { " ", " ", " ", " ", " ", };
// static const char *tags[] = { "1", "2", "3", "4", "5" };
static const Rule rules[] = {
/* xprop(1):
* WM_CLASS(STRING) = instance, class
* WM_NAME(STRING) = title
*/
/* class instance title tags mask isfloating monitor */
{ "QEMU", NULL, NULL, 0, 1, -1 },
{ "Firefox", NULL, NULL, 1 << 8, 0, -1 },
{ "Qemu", NULL, NULL, 0, 1, -1 }
};
/* layout(s) */
static const float mfact = 0.5; /* factor of master area size [0.05..0.95] */
static const int nmaster = 1; /* number of clients in master area */
static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */
static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
static const Layout layouts[] = {
/* symbol arrange function */
// ┇
{ "┇ ┇", spiral },
{ "┇ ┇", tile }, /* first entry is default */
{ "┇