Что делать после установки Fedora
После установки Fedora важно настроить систему в соответствии с личными предпочтениями и задачами.
Обязательные действия
Настройка swappiness
Современные компьютеры имеют большой объем оперативной памяти, поэтому обычно не возникает проблем с нехваткой памяти и необходимостью использовать своп-память.
Fedora по умолчанию создает виртуальный своп-раздел в формате ZRAM. Поэтому при установке системы не нужно создавать отдельный своп-раздел на диске. Однако, даже если у нас есть ZRAM, мы не хотим, чтобы система использовала его, пока не будет исчерпана вся доступная память. Чтобы задать такое поведение, нужно:
- Открыть файл
sysctl.conf
в редакторе vi командойsudo vi /etc/sysctl.conf
. - Добавить строку
vm.swappiness = 0
в файлsysctl.conf
- это означает, что swap начнет создаваться только после полного исчерпания оперативной памяти.
В некоторых ситуациях можно также указать vm.overcommit_memory = 1
. Это позволит программам запрашивать память, вне зависимости от того сколько памяти доступно физически. Более подробно на эту тему читать здесь.
Настройка DNF
DNF - менеджер пакетов Fedora. Он известен своей медленной работой. Чтобы исправить это, можно настроить дополнительные параметры.
- Откройте файл
/etc/dnf/dnf.conf
в редакторе vi командойsudo vi /etc/dnf/dnf.conf
. - Добавьте следующие строки в конец файла:
fastestmirror=True
- DNF будет использовать наиболее быстрое зеркало для скачивания пакетов.max_parallel_downloads=10
- DNF сможет производить до 10 загрузок параллельно.deltarpm=True
- DNF будет загружть гораздо меньшие дельта-файлы RPM и компилировать их в RPM локально.defaultyes=True
- По умолчанию DNF будет предлагать подтвердить Yes нажатием Enter. По умолчанию нажатие Enter подтверждает No.keepcache=True
- DNF будет сохранять кэш данных о версиях пакетов в течении некоторого времени.
Включение RPM Fusion
В Fedora по умолчанию отключены репозитории для множества бесплатных и проприетарных пакетов .rpm например Steam, Discord, некоторые мультимедийные кодеки и так далее. Чтобы получить к ним доступ нужно подключить дополнительные репозитории.
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Репозитории RPM Fusion также предоставляют метаданные Appstream, чтобы пользователи могли устанавливать пакеты с помощью Gnome Software/KDE Discover. Следующая команда установит необходимые пакеты:
sudo dnf groupupdate core
Обновление системы
После настройки DNF и RPM Fusion стоит обновить систему:
sudo dnf -y update
sudo dnf -y upgrade --refresh
- После обновления перезагрузите систему.
Обновление прошивки устройств
Если ваша система поддерживает доставку обновлений микропрограммы через lvfs
, обновите микропрограмму устройства:
sudo fwupdmgr get-devices
sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
Установка медиа-кодеков
Установите медиа-кодеки, чтобы обеспечить нормальное воспроизведение мультимедиа.
sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-plugin-libav --exclude=gstreamer1-plugins-bad-free-devel
sudo dnf install lame\* --exclude=lame-devel
sudo dnf group upgrade --with-optional Multimedia
Установка имени хоста
По умолчанию хост установлен на fedora
. Смените имя хоста если необходимо.
hostnamectl set-hostname <выбраное-имя-хоста>
Дальнейшие настройки
Для дополнительной тонкой настройки системы вы можете использовать этот гайд.
Установка и настройка Timeshit
Timeshift - это программа для создания резервных копий и восстановления версий системы. Если тома и подтома файловой системы Btrfs настроены правильно, Timeshift может использовать встроенные возможности этой файловой системы для создания снимков системы. Для настройки Timeshift рекомендуется следовать этому гайду.
Установка и настройка рабочей среды
Теперь можно установить и настроить приложения и утилиты, необходимые для работы.
Firefox
Несмотря на то что в будущем Brave будет использоваться как основной браузер, стоит настроить Firefox для более удобного использования в качестве запасного браузера.
Для синхронизации настроек браузера нужно подключиться к своему аккаунту firefox.
Для удобства использования Firefox можно установить следующие расширения:
- AdGuard
- Bitwarden
- DeepL Translate
- Firefox Multi-Account Containers
- GNOME Shell integration
- Simple Tab Groups
- Yandex Music Player
- Yandex search
- YouTube NonStop
Obsidian и Syncthing
Obsidian - это программа для создания и редактирования заметок, которую следует использовать вместе с Syncthing, программой для синхронизации данных между устройствами.
Для настройки Syncthing следует воспользоваться этим гайдом.
Я синхронизирую следующие директории между компьютером и телефоном:
~/Downloads/1_Phone
~/Pictures/1_Phone
~/Documents/Books
~/Documents/Notes
Установка Git и SSH сертификатов для GitHub
После установки Git следует добавить SSH-ключи на GitHub. Для этого рекомендуется использовать официальный гайд.
Установка шрифтов
На Linux шрифты обычно скачиваются в каталог ~/.local/share/fonts/
.
Для моноширинных шрифтов я использую Nerd Fonts.
Мои любимые шрифты:
Установка zsh
Поскольку моя конфигурация Zsh предполагает использование дополнительных утилит, перед настройкой Zsh необходимо установить следующие программы:
Pyenv
Руководство по установке тут.
Нужно не забыть установить зависимости для компиляции интерпретатора python.
Poetry
Poetry устанавливается официальным скриптом: curl -sSL https://install.python-poetry.org | python3 -
.
Starship
Руководство по установке тут.
Современные утилиты
Установка Oh-my-zsh и плагинов
Для настройки Zsh я выбрал расширение Oh My Zsh. Руководство по его установке можно найти здесь.
Также я использую несколько дополнительных плагинов, которых нет в базовой конфигурации Oh-my-zsh:
- git
- zsh-autosuggestions
- zsh-syntax-highlighting
- history-substring-search
- auto-notify
- vi-mode
- zsh-you-should-use
- poetry
Установка Nvim
Для установки Nvim я подключился к репозиторию Copr, который содержит ночные сборки редактора. Это можно сделать с помощью следующих команд:
dnf copr enable agriffis/neovim-nightly
dnf install -y neovim python3-neovim
После установки Neovim необходимо установить зависимости, необходимые для компиляции Treesitter и загрузки LSP:
sudo dnf install nodejs gcc g++
Установка golang и hugo
Для работы с Hugo нужно установить зависимости golang и DartSaas:
Для установки DartSaas рекомендую скачать бинарный файл.
Hugo и golang можно установить через dnf.
sudo dnf install golang hugo
Также hugo можно скачать в виде бинарного файла.
Установка rclone и настройка YandexDisk
Для работы с Yandex Disk можно использовать официальный cli-tool. Но я предпочитаю использовать rclone.
Для настройки rclone для YandexDisk используйте официальное руководство.
Установка Docker
Docker устанавливается согласно официальному руководству.
Скачивание Dotfiles
Для финальной конфигурации системы и утилит, необходимо скачать свои dotfiles с GitHub.
Мои личные dotfiles.
Добавление alternatives
Для более удобного запуска программ из командной строки, стоит настроить alternatives.
Настройка окружения рабочего стола
В качестве окружения рабочего стола я выбрал Gnome.
Настройка Settings
Выбираем settings по вкусу.
Установка Tweaks
Устанавливаем Tweaks и выставляем настройки по своему вкусу.
sudo dnf install gnome-tweaks.noarch
Установка расширений Gnome
Предпочитаемые мной расширения Gnome:
- GSConnect
- Caffeine
- Go To Last Workspace
- Focus Follows Workspace
- VIM Alt-Tab
- Clipboard Indicator
- Gnome 4x UI Improvements
- Blur my Shell
- Vitals
- Unite
- Alphabetical App Grid
Установка dconf-editor и настройка горячих клавиш
Для настройки дополнительных горячих клавиш в Gnome, нужно использовать dconf-editor.
sudo dnf install dconf-editor
Настройки горячих клавиш располагаются по следующему пути- dconf-editor > org > gnome > desktop > wm > keybindings
.
Установка темной темы для legacy приложений
Для того чтобы приложения gtk-2 и gtk-3 использовали темную тему, нужно добавить строку gtk-application-prefer-dark-theme=1
в файл .config/(gtk-3.0,gtk-4.0)/settings.ini
.
Установка приложений
Для установки приложений можно использовать dnf или flatpak.
Для приложений которые не хотят использовать темную тему, во flatseal
нужно выставить значение поля - GTK_THEME=Adwaita:dark
Приложения устанавливаемые через flatpak
- Flatseal - приложение для управления разрешениями приложений flatpak.
- Pomodoro - помодоро таймер.
- Telegram - клиент Телеграм.
- Obsidian - приложение для ведения заметок.
- Monophony - приложение для прослушивания музыки YouTube.
- Yoga optimizer / Curtail - приложения для оптимизации изображений.
- Calibre - приложение для управления ebook библиотекой.
- Shortwave - приложение для прослушивания интернет радиостанций.
- Bitwarden - приложение менеджер паролей.
- DBeaverCommunity - приложение для управления базами данных.
- Simplenote - приложение для ведения заметок.
- Blanket - приложение для прослушивания звуков природы.
- Parabolic - приложение для скачивания видео с YouTube.
- Amberol - приложение музыкальный проигрыватель.
- Eartag - приложение для изменения метаданных музыкальных файлов.
- Pinta - приложение редактор изображений.
- Fragments - приложение торрент клиент.
- Drawio - приложение для создания блок-схем.
- Eyedropper - приложение пипетка.
- Goldendict - приложение электронный словарь.
Приложения устанавливаемые через DNF
- mc - консольный файловый менеджер.
- mpv - видео проигрыватель.
- tldr - облегченный man
- VSCode - редактор кода.
- wezterm - современный эмулятор терминала
- kitty - современный эмулятор терминала
- brave - приватный браузер.
@virtualisation
- пакет программ для работы с виртуальными машинами.- delta - утилита для просмотра
git diff
. - btop - консольный системный монитор.
- lazygit - консольный UI для git.
- lazydocker - консольный UI для docker.