nixos-private-dots/nixos/packages.nix

480 lines
16 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ pkgs, pkgs2, spkgs, ... }: {
# https://nixos.wiki/wiki/Fonts
fonts.packages = with pkgs; [
noto-fonts # Шрифт от гугла, цель которого поддержка всех языков мира
noto-fonts-cjk-serif # Отображение иероглифов. Версия с засечками
noto-fonts-cjk-sans # Отображение иероглифов. Версия без засечек
noto-fonts-color-emoji
noto-fonts-monochrome-emoji
nerd-fonts.jetbrains-mono
nerd-fonts.noto
nerd-fonts.caskaydia-mono
carlito # Совместим с Calibri, разработан как его свободная альтернатива. Без засечек
terminus_font
inconsolata
font-awesome
liberation_ttf
dejavu_fonts
cantarell-fonts
unifont
unifont_upper
];
systemd = { # Запуск гномовского полкита. Окно ввода пароля для рут доступа
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
services = {
gvfs.enable = true; # Mount, trash, and other functionalities for Thunar file manager
tumbler.enable = true; # Thumbnail support for Thunar file manager
# unclutter.enable = true; # Hide your mouse cursor when inactive
# fwupd.enable = true; # DBus service that allows applications to update firmware
flatpak = {
# flatpak install flathub com.github.tchx84.Flatseal
enable = true;
};
# ollama = { # Настройки для amd видеокарт серии rx6000
# enable = true;
# acceleration = "rocm";
# host = "0.0.0.0";
# port = 11434;
# openFirewall = true;
# # package = pkgs2.ollama;
# rocmOverrideGfx = "10.3.0";
# };
};
programs = {
nix-ld = {
enable = true;
libraries = with pkgs2; [
stdenv.cc.cc
# Nekoray (Throne)
kdePackages.qtbase
kdePackages.qttools
kdePackages.qtwayland
kdePackages.qtsvg
kdePackages.qtimageformats
util-linux
zlib
zstd
mesa
libGL
libglvnd
libxkbcommon
freetype
fontconfig
xorg.libX11
xorg.libXext
xorg.libXrandr
xorg.libXrender
xorg.libXcursor
xorg.libXxf86vm
xorg.libXi
xorg.libxcb
xorg.libXfixes
xorg.xcbutil
xorg.xcbutilkeysyms
xorg.xcbutilwm
xorg.xcbutilimage
xorg.xcbutilrenderutil
xcb-util-cursor
glib
dbus
krb5
];
};
zsh.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-qt; # Окно ввода пароля
};
appimage = { # Чтоб .appimage работал
enable = true;
binfmt = true;
package = pkgs.appimage-run.override { # Зависимости для нужных мне приложений
extraPkgs = pkgs: with pkgs; [ libpng libpng12 libepoxy pcre2 double-conversion ];
};
};
thunar = {
enable = true;
plugins = with pkgs; [
thunar-media-tags-plugin # Tagging and renaming features for media files
thunar-archive-plugin # File context menus for archives
thunar-volman # Automatic management of removable drives and media
];
};
xfconf.enable = true; # For Thunar configs
steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
# Оптимизация для игр. https://github.com/FeralInteractive/gamemode
gamemode.enable = true;
};
environment.systemPackages = with pkgs; [
######################
## Программирование ##
######################
neovim
# Это рекомендуют ставить не на всю систему,
# а только на nix shell внутри проекта, где нужны эти пакеты
# Но я хочу на всю систему
# Python
python3
python3Packages.pip # Package manager (nvim его не видит)
python3Packages.debugpy # Debug Adapter Protocol for Python
pyright # LSP
ruff # Linter
# C/C++
clang-tools # Clangd? LSP
# Rust
rust-analyzer # Rust LSP (rustup component add rust-analyzer)
# Golang
go
gopls # LSP
delve # Debugger
golangci-lint # Linter
# Nix
nixd # LSP
# Lua
lua5_1
luajit # JIT compiler for Lua
luajitPackages.luarocks # Package manager
lua-language-server # LSP
stylua # Formatter
# Shell/Bash
bash-language-server # LSP
shellcheck # Проверка shell скриптов на ошибки
shfmt # Shell parser and formatter
# SQL
sqls # LSP
sqlite
dbeaver-bin
# Frontend
nodejs_24 # For npm
emmet-language-server # Emmet.io LSP
vscode-langservers-extracted # HTML/CSS/JSON/ESLint LSP
typescript-language-server # TypeScript LSP
tailwindcss-language-server # Tailwind LSP
svelte-language-server # Svelte LSP
tailwindcss
# Protobuf
# buf # LSP (крашит некоторые проекты в нвиме)
protols # LSP
protobuf
protoc-gen-go
protoc-gen-go-grpc
# Gamedev
# godot
# gdtoolkit_4
# ldtk
# Kubernetes
# k3d # k3s in Docker
# kubectl # Kubernetes CLI
# kubernetes-helm # Package manager for kubernetes
# Other
android-tools
gnumake
cmake-language-server
cmake
spkgs.hugo # Для моего блога
yaml-language-server # YAML LSP
taplo # TOML LSP
vim-language-server # VimScript LSP
# postman # API Development Environment
# insomnia
# For nvim
tree-sitter # For nvim
ripgrep # For nvim
fd # For nvim
############
## Архивы ##
############
zip # Архивировать
unzip # Разархивировать
unrar # Разархивировать
gnutar # Для .tar?
p7zip # Это пакет для 7z?
bzip2 # .bz2 архивы
##############
## Terminal ##
##############
openssl
wget
curl
git
tree
xdg-utils
httpie
jq
libxml2
miller
htmlq
usbutils
f2fs-tools
exfat
gitui
pwgen
lm_sensors
exiftool
xclip # Буфер обмена на X11
ffmpeg_7 # Обработка видео
svt-av1 # Быстрый рендер в av1 на проце
imagemagick # Конвертация картинок
vips # В 4 раза быстрее imagemagick?
gnugrep # Поиск в терминале (grep)
gawk # Обработка и анализ текста в терминале (awk)
rsync # Синхронизация файлов
bat # Аналог cat с подсветкой синтаксиса
xorg.xwininfo # Команда xprop. Статы окна, по типу класса
xorg.xrandr # Управление мониторами
xorg.xev # Узнать айдишник бинда
playerctl # Управление медиа. Плей/пауза и тд
xdotool # Fake keyboard/mouse input. Для rofi-pass
tokei # Количество строк кода на разных языках в каталоге
pass # Менеджер паролей в терминале
btop # Монитор ресурсов в терминале
rocmPackages.rocm-smi # Чтоб в btop было amd gpu?
rocmPackages.rocblas # Для работы hip?
rocmPackages.hipblas # Для работы hip?
rocmPackages.clr # Для работы hip?
timer # Таймер на пельмени "timer 5m"
libqalculate # Калькулятор для rofi
fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw
fzf # Нечёткий поиск
killall # Убить процессы
libnotify # Вызов оповещений через "notify-send"
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов
pkgs2.gallery-dl # Качать много картинок с кучи разных сайтов
alacritty # Минималистичный терминал. Основной у меня
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
#########
## GUI ##
#########
ksnip # Скрины. Аналог - Flameshot
file-roller # Архиватор от gnome
qbittorrent # Торренты качать
# thunderbird # Почтовый клиент для своей почты
pavucontrol
# pwvucontrol # Замена pavucontrol для PipeWire
networkmanagerapplet # Tray for network manager
# brightnessctl
# gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает
##############
## Browsers ##
##############
librewolf
firefox
chromium
#ungoogled-chromium
##########
## Docs ##
##########
evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2)
# papers # Современная замена для evince под GTK4. Оба от gnome
libreoffice # Редактировать документы
hunspell # Проверка орфографии для libreoffice
hunspellDicts.ru_RU # Словарь для проверки орфографии
hunspellDicts.en_US # Словарь для проверки орфографии
calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере
# drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger
spkgs.xournalpp
###################
## File managers ##
###################
ranger
thunar # GUI file manager (допы выше в `programs` и `services`)
catfish # File searching (for Thunar)
xfce4-exo # Мб надо, чтоб терминал открывать в каталоге
ffmpegthumbnailer
gnome-epub-thumbnailer
# nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
# mcomix # Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
# f3d # Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx. (требует openturns, который крашит систему)
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger
##################
## File support ##
##################
kdePackages.kimageformats # Image format plugins for Qt
spkgs.libsForQt5.kimageformats
kdePackages.qtimageformats # Image formats: TIFF, MNG, TGA, WBMP
spkgs.libsForQt5.qt5.qtimageformats
kdePackages.qtsvg
kdePackages.karchive # Plugin for Krita and OpenRaster images
webp-pixbuf-loader
gdk-pixbuf.dev
libwebp
libavif
libheif
libgsf # .odf support
libjxl
libraw
librsvg
jxrlib
poppler # PDF support
freetype
imath
openexr
###########
## Media ##
###########
strawberry
obs-studio
picard # Массовый редактор метаданных музыки
mousai # Опенсорс шазам. Со временем просит платный api
spek # Спектрограмма аудио
mpv # Смотреть видео
qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif
############
## Social ##
############
(pkgs2.discord.override {
withVencord = true;
})
# pkgs2.discord
pkgs2.vesktop
pkgs2.telegram-desktop
###########
## Games ##
###########
lutris # Запускать .exe игры. Не всё через `wine game.exe` работает на nixos нормально
sidequest # Ставить APK файлы на Oculus Quest 2
bs-manager # Удобно ставить моды и менять версии Beat Saber
protonup-qt # Управлять версиями proton-ge
steam-run # Запуск бинарей в окружении, похожем на steam runtime
mangohud # Фпс и нагрузку на пк показывает в играх
wineWowPackages.stableFull # support both 32- and 64-bit applications
# wineWowPackages.staging # Можно назвать бета версией вайна
winetricks
# wineWowPackages.waylandFull # native wayland support (unstable)
# protontricks
############
## Design ##
############
# inputs.affinity-nix.packages.${pkgs.system}.v3 # Бесплатная замена photoshop через wine
krita # Рисовать
# davinci-resolve # Рендер видео. Проприетарное, бесплатная версия
# blender-hip # 3д графика и рендер видео
gcolor3 # GUI color picker
xcolor # CLI color picker https://github.com/Soft/xcolor
##################
## Productivity ##
##################
obsidian # Заметки
spkgs.planify # Таски
pkgs2.super-productivity # Таски
pkgs2.ticktick # Таски, proprietary
###########
## Icons ##
###########
adwaita-icon-theme
spkgs.libsForQt5.breeze-icons # qt5
kdePackages.breeze-icons # qt6
papirus-icon-theme
material-icons
gruvbox-plus-icons
############
## Vulkan ##
############
# gfxreconstruct
vulkan-loader
vulkan-tools
vulkan-validation-layers
vkdisplayinfo
dxvk # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 8/9/10/11)
vkd3d # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 12)
vkd3d-proton
# vkbasalt # Баф Vulkan для улучшения визуальной графики игр https://github.com/DadSchoorse/vkBasalt
###########
## Other ##
###########
# qmk # Прошивка для моих раздельных клавиатур
# vial # GUI для qmk, если клавиатура поддерживает
fontconfig
zlib
libva-utils # Проверяет работоспособность VAAPI?
clinfo # Проверяет работоспособность OpenCL?
libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox
alsa-utils # Мне для команды amixer надо
pamixer # PulseAudio cli (громкость редачу)
easyeffects # PipeWire settings. Мне для эквалайзера нужен
# weston # Для запуска wayland only apps на x11 (ещё есть cage, но он крашит систему при ребилде)
# Для работы некоторых тем sddm
kdePackages.qt5compat
spkgs.libsForQt5.qt5.qtgraphicaleffects
spkgs.libsForQt5.qt5.qtquickcontrols
spkgs.sddm-chili-theme # Qt5 SDDM Theme
];
}