Fedora Post Install

Posted by Георгий Кузора on Tuesday, January 2, 2024

Что делать после установки Fedora

После установки Fedora важно настроить систему в соответствии с личными предпочтениями и задачами.

Обязательные действия

Настройка swappiness

Современные компьютеры имеют большой объем оперативной памяти, поэтому обычно не возникает проблем с нехваткой памяти и необходимостью использовать своп-память.

Fedora по умолчанию создает виртуальный своп-раздел в формате ZRAM. Поэтому при установке системы не нужно создавать отдельный своп-раздел на диске. Однако, даже если у нас есть ZRAM, мы не хотим, чтобы система использовала его, пока не будет исчерпана вся доступная память. Чтобы задать такое поведение, нужно:

  1. Открыть файл sysctl.conf в редакторе vi командой sudo vi /etc/sysctl.conf.
  2. Добавить строку vm.swappiness = 0 в файл sysctl.conf - это означает, что swap начнет создаваться только после полного исчерпания оперативной памяти.

В некоторых ситуациях можно также указать vm.overcommit_memory = 1. Это позволит программам запрашивать память, вне зависимости от того сколько памяти доступно физически. Более подробно на эту тему читать здесь.

Настройка DNF

DNF - менеджер пакетов Fedora. Он известен своей медленной работой. Чтобы исправить это, можно настроить дополнительные параметры.

  1. Откройте файл /etc/dnf/dnf.conf в редакторе vi командой sudo vi /etc/dnf/dnf.conf.
  2. Добавьте следующие строки в конец файла:
    • 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 стоит обновить систему:

  1. sudo dnf -y update
  2. sudo dnf -y upgrade --refresh
  3. После обновления перезагрузите систему.

Обновление прошивки устройств

Если ваша система поддерживает доставку обновлений микропрограммы через 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 можно установить следующие расширения:

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:

Установка 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.