fix for qemu

This commit is contained in:
Buliway 2025-08-05 15:47:55 +03:00
parent 7e1b62dcc7
commit fa1cd921ed
6 changed files with 228 additions and 113 deletions

116
NOTES.md
View file

@ -202,3 +202,119 @@ xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
- Потом `waydroid show-full-ui`
На weston всё работает сразу как надо. Но стоит изменить размеры окна, как waydroid ui пропадает. Приходится стопать и по новой запускать отображение
## Как я тестирую разный новый софт
Для этого создаю каталог, а в нём файл `flake.nix` с таким содержимым:
```nix
{
description = "Development shell for my project";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
};
outputs = { self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
# pkgs = nixpkgs.legacyPackages.${system};
config = {
allowUnfree = true;
rocmSupport = true;
permittedInsecurePackages = [
"python-2.7.18.8"
"electron-25.9.0"
];
};
pkgs = import nixpkgs {
inherit system;
inherit config;
};
spkgs = import inputs.nixpkgs-stable {
inherit system;
inherit config;
};
in {
devShells.${system}.default =
pkgs.mkShell {
buildInputs = with pkgs; [
planify
];
shellHook = ''
echo "Welcome to Dev Shell"
'';
};
};
}
```
Сюда можно ставить разный софт из нужной версии репы. Чтоб зайти в этот шел, заходишь в каталог с этим файлом и пишешь `nix develop`. Теперь весь софт из этого `flake.nix` будет доступен именно в этом терминале. Если хочется обновить весь софт в этом шеле до последней версии, то я просто удаляю файл `flake.lock` и снова пишу `nix develop`. Чтоб выйти из шела, можно написать `exit`. Если shell использует стандартный bash, то зайти в zsh можно командой `zsh`.
Например, я разрабатывал GUI на fyne. Это либа для golang, чтоб GUI приложения делать. Она на nixos требует пробрасывть зависимости через nix shell, который в конечном итоге выглядел так:
```nix
{
description = "Development shell for my project";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default =
pkgs.mkShell {
buildInputs = with pkgs; [
# Fyne
libGL
pkg-config
xorg.libX11.dev
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXrandr
xorg.libXxf86vm
fyne
# Avif
libaom
# Video
glib
glib.dev
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-libav
];
# Чтобы pkg-config видел .pc-файлы, и GStreamer загружал плагины
PKG_CONFIG_PATH = pkgs.lib.concatStringsSep ":" [
"${pkgs.glib.dev}/lib/pkgconfig"
"${pkgs.gst_all_1.gstreamer}/lib/pkgconfig"
"${pkgs.gst_all_1.gst-plugins-base}/lib/pkgconfig"
"${pkgs.gst_all_1.gst-plugins-good}/lib/pkgconfig"
"${pkgs.gst_all_1.gst-plugins-bad}/lib/pkgconfig"
"${pkgs.gst_all_1.gst-plugins-ugly}/lib/pkgconfig"
"${pkgs.gst_all_1.gst-libav}/lib/pkgconfig"
];
NIX_CFLAGS_COMPILE = [ "-I${pkgs.glib.dev}/include" ];
NIX_LDFLAGS = [ "-L${pkgs.glib.out}/lib" ];
shellHook = ''
zsh
echo "Welcome to Dev Shell"
export LD_LIBRARY_PATH=${pkgs.wayland}/lib:${pkgs.lib.getLib pkgs.libGL}/lib:${pkgs.lib.getLib pkgs.libGL}/lib:$LD_LIBRARY_PATH
'';
};
};
}
```
Необходимые пакеты я подбирал методом тыка, читая ошибки при попытке компилировать

View file

@ -12,7 +12,7 @@
## Другие README файлы в этих дотсах
- [Бинды системы](./BINDINGS.md)
- [Список базового софта в системе](./SOFTWARE.md)
- [Список базового софта в системе и доп информация](./NOTES.md)
- [Цвета и иконки тем, храню для себя](./THEMES.md)
- [Список известных проблем при настройке системы](./PROBLEMS.md)
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
@ -29,7 +29,7 @@
## Процесс установки
Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE.
Сначала качаем NixOS GUI вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE.
Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишем следующее:
@ -74,7 +74,7 @@ sudo nixos-rebuild switch
А это можно донастроить уже в готовой системе
- Путь до `home` в `shit/qt5ct/qt5ct.conf` и `shit/qt6ct/qt6ct.conf`.
- Параметры мониторов закомментированы в файле `modules/home-manager/wm/bspwm/bspwm.nix`. Можно указать по желанию. Команда xrandr покажет доступные значения и имена мониторов.
- Если видеокарта не от amd, то, возможно, надо удалить `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`. Это настройки для amd gpu, чтоб не было тиринга на x11
- Если видеокарта не от amd, то, надо удалить `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`. Это настройки для amd gpu, чтоб не было тиринга на x11.
- Если надо задать симлинки, то для этого есть файл `modules/home-manager/symlinks.nix`. Там сейчас мои симлинки, их лучше удалить. Чтоб файл заработал, надо раскомментировать `./symlinks.nix` в файле `modules/home-manager/bundle.nix`.
- Если надо монтировать другие диски, то для этого есть файл `modules/nixos/filesystems.nix`. Там сейчас мой второй ссд. Чтоб файл заработал, надо раскомментировать `./filesystems.nix` в файле `modules/nixos/bundle.nix`.
- Если нужна гибернация, то её можно настроить в `modules/nixos/hibernate.nix`. Там надо указать uuid и офсет для swap файла. Чтоб файл заработал, надо раскомментировать `./hibernate.nix` в файле `modules/nixos/bundle.nix`.
@ -129,6 +129,8 @@ gpg --edit-key ID-ключа
## Изменения для виртуалок
Виртуалка требует минимум 100гб памяти. Если хочешь меньше, то удали огромную кучу софта из конфигов, который тебе не нужен на виртуалке.
Это надо, чтоб включить коннект по ssh к виртуалке и сделать с ней общий буфер обмена. Ну и ещё параметры экрана меняю на один 1080p монитор на 60 герц.
В файле `modules/nixos/virtualisation.nix` раскомментировать эти строки:
@ -150,3 +152,11 @@ gpg --edit-key ID-ключа
+ xrandr --output Virtual-1 --mode 1920x1080 --rate 60
'';
```
В файле `modules/nixos/xserver.nix` закомментировать эти строки, даже если amd gpu на хосте:
```diff
- videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
- deviceSection = ''Option "TearFree" "True"'';
+ # videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
+ # deviceSection = ''Option "TearFree" "True"'';
```

View file

View file

@ -47,7 +47,7 @@
# https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3
# videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia
videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
deviceSection = ''Option "TearFree" "True"'';
# videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
# deviceSection = ''Option "TearFree" "True"'';
};
}

View file

@ -1,21 +1,16 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" },
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
"conform.nvim": { "branch": "master", "commit": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"edge": { "branch": "master", "commit": "04b2e25fa08b81e071ad512bdec6e5af114b01b3" },
"everforest": { "branch": "master", "commit": "29d1f4f8b63dc91db277e977068f912939c8cae8" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "011dc6718bcebdf92a5336bb0da79189c3afe621" },
"go.nvim": { "branch": "master", "commit": "da15ca55705c57ca10de1fbc1f0b6d6327c13e55" },
"gruvbox-material": { "branch": "master", "commit": "146f40fd42cbef30fed69b4ef51329aeeaceb909" },
"gruvbox.nvim": { "branch": "main", "commit": "15958f5ee43e144856cd2084ce6c571bfdb44504" },
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"image.nvim": { "branch": "master", "commit": "6ffafab2e98b5bda46bf227055aa84b90add8cdc" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
"kanagawa.nvim": { "branch": "master", "commit": "cfd67b0e1eeaa04302b8c7eb072253d24bf22d84" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"luvit-meta": { "branch": "main", "commit": "1df30b60b1b4aecfebc785aa98943db6c6989716" },
@ -24,11 +19,8 @@
"mason-nvim-dap.nvim": { "branch": "main", "commit": "09220b99d63d5363f219daa2785242ee5fddba7f" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "5639d58a3d11ff7c05c8e31e159bfedae55d7961" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "2d873a0eaa9f37b105c7751bb0a2e30eb448120d" },
"monokai-pro.nvim": { "branch": "master", "commit": "872f774303f79416000e8049630052f4124d9534" },
"mini.nvim": { "branch": "main", "commit": "03387f53f1cb8c6a8ba0798041c6aa3525ed11ba" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "1ef260eb4f54515fe121a2267b477efb054d108a" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nordic.nvim": { "branch": "main", "commit": "62acfd4eb008153180670daf81874eb47dd37739" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
"nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
@ -43,14 +35,11 @@
"nvim-treesitter-context": { "branch": "master", "commit": "129fcc94fa986692926366e940a46f00d2a4abbe" },
"nvim-web-devicons": { "branch": "master", "commit": "d0cafff5c4347a604a07edf7bb9a91fda7eb577e" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rose-pine": { "branch": "main", "commit": "7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3" },
"rustaceanvim": { "branch": "master", "commit": "2b0f0b7e03751cf8ed123322f9b02d8f73fa9df7" },
"sonokai": { "branch": "master", "commit": "9679341d4141ed81376f2bdf5e69b78dc348d212" },
"symbol-usage.nvim": { "branch": "main", "commit": "e07c07dfe7504295a369281e95a24e1afa14b243" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View file

@ -29,67 +29,67 @@ for _, variant in ipairs(variants) do
end
return {
{
'folke/tokyonight.nvim',
priority = 1000,
init = function()
-- 'tokyonight-storm', 'tokyonight-moon', 'tokyonight-day', 'tokyonight-night'
-- vim.cmd.colorscheme 'tokyonight-night'
vim.cmd.hi 'Comment gui=none' -- Убрать курсив у коммента в коде
end,
},
{
'rose-pine/neovim',
name = 'rose-pine',
priority = 1000,
init = function()
-- 'rose-pine-moon', 'rose-pine-main', 'rose-pine-dawn'
-- vim.cmd.colorscheme 'rose-pine-main'
end,
},
{
'loctvl842/monokai-pro.nvim',
priority = 1000,
config = function()
-- 'monokai-pro', 'monokai-pro-classic', 'monokai-pro-default', 'monokai-pro-machine',
-- 'monokai-pro-octagon', 'monokai-pro-spectrum', 'monokai-pro-ristretto'
-- vim.cmd.colorscheme 'monokai-pro'
end,
},
{
'catppuccin/nvim',
name = 'catppuccin',
priority = 1000,
config = function()
-- 'catppuccin', 'catppuccin-latte', 'catppuccin-frappe',
-- 'catppuccin-macchiato', 'catppuccin-mocha'
-- vim.cmd.colorscheme 'catppuccin'
end,
},
{
'rebelot/kanagawa.nvim',
priority = 1000,
config = function()
-- 'kanagawa-wave', 'kanagawa-dragon', 'kanagawa-lotus',
-- vim.cmd.colorscheme 'kanagawa-dragon'
end,
},
{
'EdenEast/nightfox.nvim',
priority = 1000,
config = function()
-- 'nightfox', 'dayfox', 'dawnfox', 'duskfox'
-- 'nordfox', 'terafox', 'carbonfox'
-- vim.cmd.colorscheme 'carbonfox'
end,
},
{
'AlexvZyl/nordic.nvim',
priority = 1000,
config = function()
-- vim.cmd.colorscheme 'nordic'
end,
},
-- {
-- 'folke/tokyonight.nvim',
-- priority = 1000,
-- init = function()
-- -- 'tokyonight-storm', 'tokyonight-moon', 'tokyonight-day', 'tokyonight-night'
-- -- vim.cmd.colorscheme 'tokyonight-night'
-- vim.cmd.hi 'Comment gui=none' -- Убрать курсив у коммента в коде
-- end,
-- },
-- {
-- 'rose-pine/neovim',
-- name = 'rose-pine',
-- priority = 1000,
-- init = function()
-- -- 'rose-pine-moon', 'rose-pine-main', 'rose-pine-dawn'
-- -- vim.cmd.colorscheme 'rose-pine-main'
-- end,
-- },
-- {
-- 'loctvl842/monokai-pro.nvim',
-- priority = 1000,
-- config = function()
-- -- 'monokai-pro', 'monokai-pro-classic', 'monokai-pro-default', 'monokai-pro-machine',
-- -- 'monokai-pro-octagon', 'monokai-pro-spectrum', 'monokai-pro-ristretto'
-- -- vim.cmd.colorscheme 'monokai-pro'
-- end,
-- },
-- {
-- 'catppuccin/nvim',
-- name = 'catppuccin',
-- priority = 1000,
-- config = function()
-- -- 'catppuccin', 'catppuccin-latte', 'catppuccin-frappe',
-- -- 'catppuccin-macchiato', 'catppuccin-mocha'
-- -- vim.cmd.colorscheme 'catppuccin'
-- end,
-- },
-- {
-- 'rebelot/kanagawa.nvim',
-- priority = 1000,
-- config = function()
-- -- 'kanagawa-wave', 'kanagawa-dragon', 'kanagawa-lotus',
-- -- vim.cmd.colorscheme 'kanagawa-dragon'
-- end,
-- },
-- {
-- 'EdenEast/nightfox.nvim',
-- priority = 1000,
-- config = function()
-- -- 'nightfox', 'dayfox', 'dawnfox', 'duskfox'
-- -- 'nordfox', 'terafox', 'carbonfox'
-- -- vim.cmd.colorscheme 'carbonfox'
-- end,
-- },
-- {
-- 'AlexvZyl/nordic.nvim',
-- priority = 1000,
-- config = function()
-- -- vim.cmd.colorscheme 'nordic'
-- end,
-- },
----------------------------------------------------------
-- Гандоны не дают выбрать тему нормально --
@ -149,38 +149,38 @@ return {
vim.cmd.colorscheme 'gruvbox'
end,
},
{
'sainnhe/everforest',
priority = 1000,
init = function()
-- 'hard', 'medium', 'soft'
vim.g.everforest_background = 'hard'
vim.g.everforest_better_performance = 1
-- vim.g.everforest_enable_italic = true
-- vim.cmd.colorscheme 'everforest'
end,
},
{
'sainnhe/sonokai',
priority = 1000,
init = function()
-- Очень разные темы
-- 'default', 'atlantis', 'andromeda', 'shusia', 'maia', 'espresso'
vim.g.sonokai_style = 'shusia'
vim.g.sonokai_better_performance = 1
-- vim.g.sonokai_enable_italic = true
-- vim.cmd.colorscheme 'sonokai'
end,
},
{
'sainnhe/edge',
priority = 1000,
init = function()
-- 'default', 'aura', 'neon'
vim.g.edge_style = 'default'
vim.g.edge_better_performance = 1
-- vim.g.edge_enable_italic = true
-- vim.cmd.colorscheme 'edge'
end,
},
-- {
-- 'sainnhe/everforest',
-- priority = 1000,
-- init = function()
-- -- 'hard', 'medium', 'soft'
-- vim.g.everforest_background = 'hard'
-- vim.g.everforest_better_performance = 1
-- -- vim.g.everforest_enable_italic = true
-- -- vim.cmd.colorscheme 'everforest'
-- end,
-- },
-- {
-- 'sainnhe/sonokai',
-- priority = 1000,
-- init = function()
-- -- Очень разные темы
-- -- 'default', 'atlantis', 'andromeda', 'shusia', 'maia', 'espresso'
-- vim.g.sonokai_style = 'shusia'
-- vim.g.sonokai_better_performance = 1
-- -- vim.g.sonokai_enable_italic = true
-- -- vim.cmd.colorscheme 'sonokai'
-- end,
-- },
-- {
-- 'sainnhe/edge',
-- priority = 1000,
-- init = function()
-- -- 'default', 'aura', 'neon'
-- vim.g.edge_style = 'default'
-- vim.g.edge_better_performance = 1
-- -- vim.g.edge_enable_italic = true
-- -- vim.cmd.colorscheme 'edge'
-- end,
-- },
}